public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); $ret = true; $ret &= DB::CreateTable('utils_messenger_message',' id I4 AUTO KEY, callback_method C(255) NOTNULL, callback_args X, message X, created_by I4 NOTNULL, created_on T NOTNULL, alert_on T, parent_module C(32) NOTNULL, page_id C(32) NOTNULL', array('constraints'=>', FOREIGN KEY (created_by) REFERENCES user_login(ID)')); if(!$ret){ print('Unable to create table utils_messenger_message.<br>'); return false; } $ret &= DB::CreateTable('utils_messenger_users',' message_id I4, done I1 DEFAULT 0, user_login_id I4, done_on T, follow I1 DEFAULT 0', array('constraints'=>' , FOREIGN KEY (message_id) REFERENCES utils_messenger_message(id), FOREIGN KEY (user_login_id) REFERENCES user_login(ID)')); if(!$ret){ print('Unable to create table utils_messenger_users.<br>'); return false; } Base_AclCommon::add_permission(_M('Messenger Alerts'),array('ACCESS:employee')); return $ret; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); $this->create_data_dir(); DB::CreateTable('libs_tcpdf_pdf_index', 'created_on T,' . 'filename C(32)', array('constraints' => '')); return true; }
public function install() { global $database; $ret = true; $ret &= DB::CreateTable('base_user_settings', ' user_login_id I4 NOTNULL, module C(128) NOTNULL, variable C(64) NOTNULL, value X NOTNULL', array('constraints' => ', FOREIGN KEY (user_login_id) REFERENCES user_login(id), PRIMARY KEY(user_login_id,module,variable)')); if (!$ret) { print 'Unable to create table base_user_settings.<br>'; return false; } $ret &= DB::CreateTable('base_user_settings_admin_defaults', ' module C(128) NOTNULL, variable C(64) NOTNULL, value X NOTNULL', array('constraints' => ', PRIMARY KEY(module,variable)')); if (!$ret) { print 'Unable to create table base_user_settings_defaults.<br>'; return false; } Base_ThemeCommon::install_default_theme(Base_User_SettingsInstall::module_name()); Base_AclCommon::add_permission(_M('Advanced User Settings'), array('ACCESS:employee')); return $ret; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); DB::CreateTable('utils_currency', 'id I AUTO KEY,' . 'symbol C(16),' . 'code C(8),' . 'decimal_sign C(2),' . 'thousand_sign C(2),' . 'decimals I1,' . 'active I1,' . 'default_currency I1,' . 'pos_before I1', array('constraints' => '')); DB::Execute('INSERT INTO utils_currency (symbol, code, decimal_sign, thousand_sign, decimals, pos_before, active, default_currency) VALUES (%s, %s, %s, %s, %d, %d, %d, %d)', array('$', 'USD', '.', ',', 2, 1, 1, 1)); return true; }
public function install() { $ret = true; $ret &= DB::CreateTable("tests_calendar_event", "id I AUTO KEY," . "title C(64) NO NULL, " . "description X, " . "start I4 NOT NULL, " . "duration I4 NOT NULL, " . "timeless I DEFAULT 0, " . "color C(16), " . "created_on T NOT NULL," . "created_by I4 REFERENCES user_login(id)," . "edited_on T," . "edited_by I4 REFERENCES user_login(id)" ); if(!$ret) { print('Unable to create tests_calendar_event table'); return false; } return $ret; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); DB::CreateTable('base_home_page', 'id I4 AUTO KEY,' . 'priority I4,' . 'home_page C(64)', array('constraints' => '')); DB::CreateTable('base_home_page_clearance', 'id I4 AUTO KEY,' . 'home_page_id I,' . 'clearance C(64)', array('constraints' => ', FOREIGN KEY (home_page_id) REFERENCES base_home_page(id)')); return true; }
public function install() { $ret = DB::CreateTable('user_password', "user_login_id I KEY, password C(256) NOTNULL, mail C(255) NOTNULL", array('constraints' => ', FOREIGN KEY (user_login_id) REFERENCES user_login(id)')); if ($ret === false) { print 'Invalid SQL query - user_password table install'; return false; } $ret = DB::CreateTable('user_autologin', "user_login_id I NOTNULL, autologin_id C(32) NOTNULL, last_log T, description C(64)", array('constraints' => ', FOREIGN KEY (user_login_id) REFERENCES user_login(id)')); if ($ret === false) { print 'Invalid SQL query - user_autologin table install'; return false; } $ret = DB::CreateTable('user_login_ban', "failed_on I4, from_addr C(32)"); if ($ret === false) { print 'Invalid SQL query - user_login_ban table install'; return false; } $ret = DB::CreateTable('user_reset_pass', "user_login_id I NOTNULL, hash_id C(32) NOTNULL, created_on T DEFTIMESTAMP", array('constraints' => ', FOREIGN KEY (user_login_id) REFERENCES user_login(id)')); if ($ret === false) { print 'Invalid SQL query - user_autologin table install'; return false; } Variable::set('host_ban_time', 300); Variable::set('host_ban_nr_of_tries', 3); Variable::set('host_ban_by_login', 0); Base_ThemeCommon::install_default_theme(Base_User_LoginInstall::module_name()); return true; }
public function install() { Base_ThemeCommon::install_default_theme('CRM/Calendar'); Base_AclCommon::add_permission(_M('Calendar'), array('ACCESS:employee')); DB::CreateTable('crm_calendar_custom_events_handlers', 'id I4 AUTO KEY,' . 'group_name C(64),' . 'handler_callback C(128)', array('constraints' => '')); return true; }
public function install() { $ret = DB::CreateTable('user_login', "id I AUTO KEY ,login C(32) NOTNULL, active I1 NOTNULL DEFAULT 1, admin I1 NOTNULL DEFAULT 0", array('constraints' => ', UNIQUE (login)')); if ($ret === false) { print 'Invalid SQL query - User module install'; return false; } return true; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); $ret = DB::CreateTable('base_login_audit', "id I AUTO KEY, user_login_id I, start_time T, end_time T, ip_address C(32), host_name C(64)"); if ($ret === false) { die('Invalid SQL query - Database module (login_audit table)'); } return true; }
public function install() { DB::CreateTable('recordbrowser_custom_recordsets', 'id I AUTO KEY,' . 'active I1,' . 'tab C(64),' . 'menu C(255) DEFAULT \'\'', array('constraints' => '')); return true; }
public function install() { Base_ThemeCommon::install_default_theme('CRM/Contacts/Photo'); Utils_RecordBrowserCommon::set_tpl('contact', Base_ThemeCommon::get_template_filename('CRM/Contacts/Photo', 'Contact')); Utils_RecordBrowserCommon::register_processing_callback('contact', array('CRM_Contacts_PhotoCommon', 'submit_contact')); $this->create_data_dir(); ModuleManager::include_common('CRM_Contacts_Photo', 0); DB::CreateTable(CRM_Contacts_PhotoCommon::table_name, 'contact_id I4 KEY,' . 'filename C(48) NOTNULL'); return true; }
public function install() { DB::CreateTable('base_acl_permission', 'id I4 AUTO KEY,' . 'name C(255)', array('constraints' => '')); DB::CreateTable('base_acl_rules', 'id I4 AUTO KEY,' . 'permission_id I', array('constraints' => ', FOREIGN KEY (permission_id) REFERENCES base_acl_permission(id)')); DB::CreateTable('base_acl_rules_clearance', 'id I4 AUTO KEY,' . 'rule_id I,' . 'clearance C(64)', array('constraints' => ', FOREIGN KEY (rule_id) REFERENCES base_acl_rules(id)')); DB::CreateTable('base_acl_clearance', 'id I4 AUTO KEY,' . 'callback C(128)', array('constraints' => '')); DB::Execute('INSERT INTO base_acl_clearance (callback) VALUES (%s)', array('Base_AclCommon::basic_clearance')); Base_ThemeCommon::install_default_theme($this->get_type()); return true; }
public function install() { DB::CreateTable('utils_bbcode', 'code C(64) KEY,' . 'func C(128)', array('constraints' => '')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('b', 'Utils_BBCodeCommon::tag_b')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('i', 'Utils_BBCodeCommon::tag_i')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('u', 'Utils_BBCodeCommon::tag_u')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('s', 'Utils_BBCodeCommon::tag_s')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('url', 'Utils_BBCodeCommon::tag_url')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('color', 'Utils_BBCodeCommon::tag_color')); DB::Execute('INSERT INTO utils_bbcode VALUES (%s, %s)', array('img', 'Utils_BBCodeCommon::tag_img')); return true; }
public function install() { $this->create_data_dir(); Base_ThemeCommon::install_default_theme('Utils/RecordBrowser'); DB::CreateTable('recordbrowser_table_properties', 'id I2 AUTO KEY,'. 'tab C(64),'. 'quickjump C(64) DEFAULT \'\','. 'tpl C(255) DEFAULT \'\','. 'favorites I1 DEFAULT 0,'. 'recent I2 DEFAULT 0,'. 'full_history I1 DEFAULT 1,'. 'caption C(32) DEFAULT \'\','. 'icon C(255) DEFAULT \'\','. 'access_callback C(128) DEFAULT \'\','. 'description_callback C(128) DEFAULT \'\','. 'jump_to_id I1 DEFAULT 1,'. 'search_include I1 DEFAULT 0,'. 'search_priority I1 DEFAULT 0,'. 'printer C(255) DEFAULT \'\'', array('constraints'=>', UNIQUE(tab)')); DB::CreateTable('recordbrowser_datatype', 'type C(32) KEY,'. 'module C(64),'. 'func C(128)', array('constraints'=>'')); DB::CreateTable('recordbrowser_addon', 'tab C(64),'. 'module C(128),'. 'func C(128),'. 'pos I,'. 'enabled I1,'. 'label C(128)', array('constraints'=>', PRIMARY KEY(tab, module, func)')); DB::CreateTable('recordbrowser_browse_mode_definitions', 'tab C(64),'. 'module C(128),'. 'func C(128)', array('constraints'=>', PRIMARY KEY(tab, module, func)')); DB::CreateTable('recordbrowser_processing_methods', 'tab C(64),'. 'func C(255)', array('constraints'=>', PRIMARY KEY(tab, func)')); DB::CreateTable('recordbrowser_clipboard_pattern', 'tab C(64) KEY, pattern X, enabled I4'); DB::CreateTable('recordbrowser_words_index', 'id I AUTO KEY,word C(3)', array('constraints'=>', UNIQUE(word)')); DB::CreateTable('recordbrowser_words_map', 'word_id I, tab_id I2, record_id I, field_id I2, position I', array('constraints'=>', FOREIGN KEY (word_id) REFERENCES recordbrowser_words_index(id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (tab_id) REFERENCES recordbrowser_table_properties(id) ON DELETE CASCADE ON UPDATE CASCADE')); DB::CreateIndex('recordbrowser_words_map__idx','recordbrowser_words_map','tab_id,record_id'); Base_PrintCommon::register_printer(new Utils_RecordBrowser_RecordPrinter()); return true; }
public function install() { $ret = true; $ret &= DB::CreateTable('tools_whoisonline_users',' session_name C(128) KEY NOTNULL, user_login_id I4 NOTNULL', array('constraints'=>', FOREIGN KEY (user_login_id) REFERENCES user_login(ID)')); if(!$ret){ print('Unable to create table tools_whoisonline_users.<br>'); return false; } return $ret; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); $ret = true; $ret &= DB::CreateTable('utils_watchdog_category', 'id I AUTO KEY,'. 'name C(32),'. 'callback C(128)', array('constraints'=>'')); if(!$ret){ print('Unable to create table utils_watchdog_category.<br>'); return false; } $ret &= DB::CreateTable('utils_watchdog_event', 'id I AUTO KEY,'. 'category_id I,'. 'internal_id I,'. 'message C(64),'. 'event_time T', array('constraints'=>', FOREIGN KEY (category_id) REFERENCES utils_watchdog_category(id)')); if(!$ret){ print('Unable to create table utils_watchdog_event.<br>'); return false; } $ret &= DB::CreateTable('utils_watchdog_subscription', 'category_id I,'. 'internal_id I,'. 'last_seen_event I,'. 'user_id I', array('constraints'=>', FOREIGN KEY (user_id) REFERENCES user_login(id)')); if(!$ret){ print('Unable to create table utils_watchdog_subscription.<br>'); return false; } $ret &= DB::CreateTable('utils_watchdog_category_subscription', 'category_id I,'. 'user_id I', array('constraints'=>', FOREIGN KEY (user_id) REFERENCES user_login(id), FOREIGN KEY (category_id) REFERENCES utils_watchdog_category(id)')); if(!$ret){ print('Unable to create table utils_watchdog_category_subscription.<br>'); return false; } DB::CreateIndex('utils_watchdog_event__internal_id__idx', 'utils_watchdog_event', 'internal_id'); DB::CreateIndex('utils_watchdog_event__cat_int__idx', 'utils_watchdog_event', array('category_id','internal_id')); DB::CreateIndex('utils_watchdog_subscription__cat_int__idx', 'utils_watchdog_subscription', array('category_id','internal_id')); DB::CreateIndex('utils_watchdog_subscription__user__idx', 'utils_watchdog_subscription', 'user_id'); Base_AclCommon::add_permission(_M('Watchdog - subscribe to categories'),array('ACCESS:employee','ACCESS:manager')); return $ret; }
public function install() { $ret = DB::CreateTable('comment', "id I AUTO KEY, text X(4000) NOTNULL, user_login_id I NOTNULL, parent I DEFAULT -1 NOTNULL, topic C(255) NOTNULL, created_on T NOTNULL"); if ($ret === false) { print 'Invalid SQL query - Comment module install: ' . DB::error(); return false; } $ret = DB::CreateTable('comment_report', "id I KEY, user_login_id I NOTNULL"); if ($ret === false) { print 'Invalid SQL query - Comment module install: ' . DB::error(); return false; } Base_ThemeCommon::install_default_theme('Utils/Comment'); return true; }
/** * @param string $pref * @return bool */ function CreateTables($pref) { $tableArray = GetTablesArray($pref); $original = GetTablesArray(''); foreach ($tableArray as $key => $tname) { $sql = trim(DB::CreateTable($original[$key], $pref)); if (!$sql || $sql == '') { return false; } if (!DB::execute($sql)) { return $tname; } } return true; }
public function install() { $ret = true; $ret &= DB::CreateTable('utils_commondata_tree',' id I4 AUTO KEY, parent_id I4 DEFAULT -1, akey C(64) NOTNULL, value X, readonly I1 DEFAULT 0', array('constraints'=>', UNIQUE(parent_id,akey)')); if(!$ret){ print('Unable to create table utils_commondata_tree.<br>'); return false; } Base_ThemeCommon::install_default_theme($this->get_type()); return $ret; }
public function install() { $ret = true; $ret &= DB::CreateTable('apps_shoutbox_messages', ' id I4 AUTO KEY, base_user_login_id I4 NOTNULL, to_user_login_id I4, message X, posted_on T DEFTIMESTAMP', array('constraints' => ', FOREIGN KEY (base_user_login_id) REFERENCES user_login(ID)')); if (!$ret) { print 'Unable to create table apps_shoutbox_messages.<br>'; return false; } Base_ThemeCommon::install_default_theme($this->get_type()); Base_AclCommon::add_permission(_M('Shoutbox'), array('ACCESS:employee')); return $ret; }
public function install() { Base_ThemeCommon::install_default_theme($this->get_type()); $ret = true; $ret &= DB::CreateTable('epesi_store_modules', ' module_id I4 PRIMARY KEY, version C(10), module_license_id I4 NOTNULL, file C(20)'); if (!$ret) { print 'Unable to create table epesi_store_modules.<br>'; return false; } if ($this->create_data_dir()) { return true; } return false; }
public function install() { $ret = true; $ret &= DB::CreateTable('utils_filedownload_files',' id I4 AUTO KEY, path X, curr I8 DEFAULT 0, size I8 DEFAULT 0, rate F DEFAULT 0, time F DEFAULT 0, view_time F DEFAULT 0, posted_on T', array('constraints'=>'')); if(!$ret){ print('Unable to create table utils_filedownload_files.<br>'); return false; } $this->create_data_dir(); return $ret; }
public function install() { $ret = DB::CreateTable('available_modules', 'name C(128), vkey I NOTNULL, version C(64) NOTNULL', array('constraints' => ', PRIMARY KEY(name, vkey)')); if ($ret === false) { die('Invalid SQL query - Setup module (modules table)'); } $ret = Variable::set('anonymous_setup', true); if ($ret === false) { print 'Invalid SQL query - Setup module (populating variables)'; return false; } $ret = Variable::set('simple_setup', 1); if ($ret === false) { print 'Invalid SQL query - Setup module (populating variables)'; return false; } $this->create_data_dir(); Base_ThemeCommon::install_default_theme($this->get_type()); return true; }
public function install() { $ret = true; DB::Execute('DROP TABLE IF EXISTS base_notify'); DB::CreateTable('base_notify', ' token C(32) NOTNULL PRIMARY KEY, cache X, last_refresh I8, single_cache_uid I, telegram I1 DEFAULT 0', array('constraints' => ', FOREIGN KEY (single_cache_uid) REFERENCES user_login(id)')); if (!$ret) { print 'Unable to create table base_notify.<br>'; return false; } Base_ThemeCommon::install_default_theme($this->get_type()); Utils_CommonDataCommon::new_id('Base_Notify/Timeout', true); Utils_CommonDataCommon::new_array('Base_Notify/Timeout', array(-1 => _M('Disable Notification'), 0 => _M('Manually')), true, true); Utils_CommonDataCommon::new_array('Base_Notify/Timeout', array(10000 => _M('10 seconds'), 30000 => _M('30 seconds'), 60000 => _M('1 minute'))); return $ret; }
public function install() { $ret = true; $ret &= DB::CreateTable('utils_custommenu_page', ' id C(32) KEY NOTNULL, module C(128) NOTNULL, function C(128), arguments X', array('constraints' => ', FOREIGN KEY (module) REFERENCES modules(name)')); if (!$ret) { print 'Unable to create table utils_custommenu_page.<br>'; return false; } $ret &= DB::CreateTable('utils_custommenu_entry', ' page_id C(32) NOTNULL, path C(255) KEY NOTNULL', array('constraints' => ', FOREIGN KEY (page_id) REFERENCES utils_custommenu_page(id)')); if (!$ret) { print 'Unable to create table utils_custommenu_entry.<br>'; return false; } return $ret; }
public function install() { $ret = true; $ret &= DB::CreateTable('utils_filestorage_files', ' id I8 AUTO KEY, filename C(256) NOTNULL, uploaded_on T NOTNULL, hash C(128) NOTNULL', array('constraints' => ', UNIQUE(hash)')); if (!$ret) { print 'Unable to create table utils_filestorage_files.<br>'; return false; } $ret &= DB::CreateTable('utils_filestorage_link', ' storage_id I8 NOTNULL, link C(128) KEY', array('constraints' => ', FOREIGN KEY (storage_id) REFERENCES utils_filestorage_files(id)')); if (!$ret) { print 'Unable to create table utils_filestorage_link.<br>'; return false; } $this->create_data_dir(); file_put_contents($this->get_data_dir() . '.htaccess', 'deny from all'); return $ret; }
public function install() { $ret = true; $ret &= DB::CreateTable('crm_filters_group', ' id I4 AUTO KEY, name C(128) NOTNULL, description C(255), user_login_id I4 NOTNULL', array('constraints' => ', UNIQUE(name, user_login_id), FOREIGN KEY (user_login_id) REFERENCES user_login(ID)')); if (!$ret) { print 'Unable to create table crm_filters_group.<br>'; return false; } $ret &= DB::CreateTable('crm_filters_contacts', ' group_id I4 NOTNULL, contact_id I4', array('constraints' => ', FOREIGN KEY (group_id) REFERENCES crm_filters_group(id)')); if (!$ret) { print 'Unable to create table crm_filters_contacts.<br>'; return false; } Base_ThemeCommon::install_default_theme($this->get_type()); Base_AclCommon::add_permission(_M('Manage Perspective'), array('ACCESS:employee')); return $ret; }
<?php defined("_VALID_ACCESS") || die('Direct access forbidden'); if (ModuleManager::is_installed('Base_Acl') == -1) { return; } @DB::DropTable('base_acl_clearance'); DB::CreateTable('base_acl_clearance', 'id I4 AUTO KEY,' . 'callback C(128)', array('constraints' => '')); DB::Execute('INSERT INTO base_acl_clearance (callback) VALUES (%s)', array('Base_AclCommon::basic_clearance')); if (ModuleManager::is_installed('CRM_Contacts') == -1) { return; } DB::Execute('INSERT INTO base_acl_clearance (callback) VALUES (%s)', array('CRM_ContactsCommon::crm_clearance'));
public function install() { $ret = true; Utils_RecordBrowserCommon::uninstall_recordset('utils_attachment'); $fields = array( array( 'name' => _M('Edited on'), 'type' => 'timestamp', 'extra'=>false, 'visible'=>true, 'required' => false, 'display_callback'=>array('Utils_AttachmentCommon','display_date'), 'QFfield_callback'=>array('Utils_AttachmentCommon','QFfield_date') ), array( 'name' => _M('Title'), 'type' => 'text', 'param' => 255, 'required' => false, 'extra' => false, 'visible' => false ), array('name' => _M('Note'), 'type' => 'long text', 'required' => false, 'extra' => false, 'visible'=>true, 'display_callback'=>array('Utils_AttachmentCommon','display_note'), 'QFfield_callback'=>array('Utils_AttachmentCommon','QFfield_note'), ), array('name' => _M('Permission'), 'type' => 'commondata', 'required' => true, 'param' => array('order_by_key' => true, 'CRM/Access'), 'extra' => false), array('name' => _M('Sticky'), 'type' => 'checkbox', 'visible' => true, 'extra' => false), array('name' => _M('Crypted'), 'type' => 'checkbox', 'extra' => false, 'QFfield_callback'=>array('Utils_AttachmentCommon','QFfield_crypted')), array('name' => _M('Attached to'), 'type' => 'calculated', 'extra' => false, 'display_callback'=>array('Utils_AttachmentCommon','display_attached_to')), ); Utils_RecordBrowserCommon::install_new_recordset('utils_attachment',$fields); Utils_RecordBrowserCommon::add_access('utils_attachment', 'view', 'ACCESS:employee', array('(!permission'=>2, '|:Created_by'=>'USER_ID')); Utils_RecordBrowserCommon::add_access('utils_attachment', 'delete', 'ACCESS:employee', array(':Created_by'=>'USER_ID')); Utils_RecordBrowserCommon::add_access('utils_attachment', 'delete', array('ACCESS:employee','ACCESS:manager')); Utils_RecordBrowserCommon::add_access('utils_attachment', 'add', 'ACCESS:employee',array(),array('edited_on')); Utils_RecordBrowserCommon::add_access('utils_attachment', 'edit', 'ACCESS:employee', array('(permission'=>0, '|:Created_by'=>'USER_ID'),array('edited_on')); Utils_RecordBrowserCommon::register_processing_callback('utils_attachment',array('Utils_AttachmentCommon','submit_attachment')); Utils_RecordBrowserCommon::set_tpl('utils_attachment', Base_ThemeCommon::get_template_filename('Utils/Attachment', 'View_entry')); Utils_RecordBrowserCommon::enable_watchdog('utils_attachment', array('Utils_AttachmentCommon','watchdog_label')); Utils_RecordBrowserCommon::set_caption('utils_attachment', _M('Note')); Utils_RecordBrowserCommon::set_description_callback('utils_attachment', array('Utils_AttachmentCommon','description_callback')); Utils_RecordBrowserCommon::set_jump_to_id('utils_attachment', false); Utils_RecordBrowserCommon::set_search('utils_attachment',1,0); $ret &= DB::CreateTable('utils_attachment_local',' local C(255) NOTNULL, attachment I4 NOTNULL, func C(255), args C(255)', array('constraints'=>', FOREIGN KEY (attachment) REFERENCES utils_attachment_data_1(ID)')); if(!$ret){ print('Unable to create table utils_attachment_local.<br>'); return false; } DB::CreateIndex('utils_attachment_local__idx', 'utils_attachment_local', 'local'); $ret &= DB::CreateTable('utils_attachment_file',' id I4 AUTO KEY NOTNULL, attach_id I4 NOTNULL, original C(255) NOTNULL, created_by I4, created_on T DEFTIMESTAMP, deleted I1 NOTNULL DEFAULT 0', array('constraints'=>', FOREIGN KEY (created_by) REFERENCES user_login(ID), FOREIGN KEY (attach_id) REFERENCES utils_attachment_data_1(id)')); if(!$ret){ print('Unable to create table utils_attachment_file.<br>'); return false; } DB::CreateIndex('attach_id_idx','utils_attachment_file','attach_id'); $ret &= DB::CreateTable('utils_attachment_download',' id I4 AUTO KEY NOTNULL, attach_file_id I4 NOTNULL, created_by I4, created_on T, expires_on T, remote I1 DEFAULT 0, download_on T DEFTIMESTAMP, ip_address C(32), host_name C(64), description C(128), token C(32)', array('constraints'=>', FOREIGN KEY (created_by) REFERENCES user_login(ID), FOREIGN KEY (attach_file_id) REFERENCES utils_attachment_file(id)')); if(!$ret){ print('Unable to create table utils_attachment_download.<br>'); return false; } $ret &= DB::CreateTable('utils_attachment_clipboard',' id I4 AUTO KEY NOTNULL, filename C(255), created_by I4, created_on T DEFTIMESTAMP', array('constraints'=>'')); $this->create_data_dir(); file_put_contents($this->get_data_dir().'.htaccess','deny from all'); Base_ThemeCommon::install_default_theme($this->get_type()); DB::CreateTable('utils_attachment_googledocs',' id I4 AUTO KEY NOTNULL, note_id I4 NOTNULL, view_link C(255), doc_id C(128)', array('constraints'=>'')); Base_AclCommon::add_permission(_M('Attachments - view full download history'), array('ACCESS:employee')); Variable::set('utils_attachments_google_user', ''); Variable::set('utils_attachments_google_pass', ''); return $ret; }