<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function sp_install_table($table,$fields,$primary){
$CI = &get_instance();
// Удаляем таблицу
$CI->dbforge->drop_table($table);
// Добавляем поля
$CI->dbforge->add_field($fields);
// Указываем PRIMARY KEY
$CI->dbforge->add_key($primary,TRUE);
// Создаем таблицу
return $CI->dbforge->create_table($table);
}
function sp_install(){
$CI = &get_instance();
$CI->load->dbforge();
// Таблица "Вопросы"
if(!$CI->db->table_exists("sp_questions"))
{
sp_install_table('sp_questions',array(
'q_id' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'q_question' => array(
'type' => 'VARCHAR',
'constraint' => '200',
'NULL' => FALSE
),
'q_timestamp' => array(
'type' => 'INT',
'constraint' => '10',
'NULL' => FALSE,
'default' => '0'
),
'q_totalvotes' => array(
'type' => 'INT',
'NULL' => FALSE,
'default' => '0'
),
'q_active' => array(
'type' => 'TINYINT',
'NULL' => FALSE,
'default' => '1'
),
'q_expiry' => array(
'type' => 'INT',
'constraint' => '10',
'NULL' => FALSE,
'default' => '0'
),
'q_multiple' => array(
'type' => 'TINYINT',
'NULL' => FALSE,
'default' => '0',
),
'q_totalvoters' => array(
'type' => 'INT',
'NULL' => FALSE,
'default' => '0'
),
'q_protection' => array(
'type' => 'TINYINT',
'NULL' => FALSE,
'default' => '1'
)
),'q_id');
};
// Таблица "Ответы"
if(!$CI->db->table_exists("sp_answers"))
{
sp_install_table('sp_answers',array(
'a_id' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'a_qid' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'default' => '0',
'NULL' => FALSE
),
'a_answer' => array(
'type' => 'VARCHAR',
'constraint' => '200',
'NULL' => FALSE
),
'a_votes' => array(
'type' => 'INT',
'NULL' => FALSE,
'default' => '0'
),
'a_order' => array(
'type' => 'TINYINT',
'NULL' => FALSE,
'default' => '0'
)
),'a_id');
};
// Таблица "Логи"
if(!$CI->db->table_exists("sp_logs"))
{
sp_install_table('sp_logs',array(
'l_id' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'l_qid' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'default' => '0',
'NULL' => FALSE
),
'l_aid' => array(
'type' => 'INT',
'constraint' => 10,
'unsigned' => TRUE,
'default' => '0',
'NULL' => FALSE
),
'l_ip' => array(
'type' => 'INT',
'NULL' => FALSE,
'default' => '0'
),
'l_host' => array(
'type' => 'VARCHAR',
'constraint' => '64',
'NULL' => FALSE
),
'l_timestamp' => array(
'type' => 'INT',
'NULL' => FALSE,
'default' => '0'
),
'l_user' => array(
'type' => 'VARCHAR',
'constraint' => '255',
'NULL' => FALSE,
'default' => ''
),
'l_userid' => array(
'type' => 'INT',
'constraint' => '10',
'NULL' => FALSE,
'default' => '0'
)
),'l_id');
};
}
function sp_add_options()
{
$options = array(
'archive_url' => 'polls-archive',
'show_archives_link' => 1,
'show_results_link' => 1,
'close_after_hour' => 0,
'admin_number_records' => 10,
'len_polls' => t('1 неделя'),
'secur_polls' => t('Защита по Coookie')
);
mso_add_option('plugin_samborsky_polls', $options, 'plugins' );
}
?>