3 require_once(
_XE_PATH_.
'modules/document/document.item.php');
25 var
$statusList = array(
'private'=>
'PRIVATE',
'public'=>
'PUBLIC',
'secret'=>
'SECRET',
'temp'=>
'TEMP');
37 $oDB->addIndex(
"documents",
"idx_module_list_order", array(
"module_srl",
"list_order"));
38 $oDB->addIndex(
"documents",
"idx_module_update_order", array(
"module_srl",
"update_order"));
39 $oDB->addIndex(
"documents",
"idx_module_readed_count", array(
"module_srl",
"readed_count"));
40 $oDB->addIndex(
"documents",
"idx_module_voted_count", array(
"module_srl",
"voted_count"));
41 $oDB->addIndex(
"documents",
"idx_module_notice", array(
"module_srl",
"is_notice"));
42 $oDB->addIndex(
"documents",
"idx_module_document_srl", array(
"module_srl",
"document_srl"));
43 $oDB->addIndex(
"documents",
"idx_module_blamed_count", array(
"module_srl",
"blamed_count"));
44 $oDB->addIndex(
"document_aliases",
"idx_module_title", array(
"module_srl",
"alias_title"),
true);
45 $oDB->addIndex(
"document_extra_vars",
"unique_extra_vars", array(
"module_srl",
"document_srl",
"var_idx",
"lang_code"),
true);
47 $oModuleController->insertTrigger(
'module.deleteModule',
'document',
'controller',
'triggerDeleteModuleDocuments',
'after');
50 $oModuleController->insertTrigger(
'module.dispAdditionSetup',
'document',
'view',
'triggerDispDocumentAdditionSetup',
'before');
52 if(!is_dir(
'./files/cache/tmp'))
69 $version_update_id = implode(
'.', array(__CLASS__,
__XE_VERSION__,
'updated'));
73 if(!$oDB->isColumnExists(
"documents",
"notify_message"))
return true;
76 if(!$oDB->isIndexExists(
"documents",
"idx_module_list_order"))
return true;
77 if(!$oDB->isIndexExists(
"documents",
"idx_module_update_order"))
return true;
78 if(!$oDB->isIndexExists(
"documents",
"idx_module_readed_count"))
return true;
79 if(!$oDB->isIndexExists(
"documents",
"idx_module_voted_count"))
return true;
81 if(!
$oModuleModel->getTrigger(
'module.deleteModule',
'document',
'controller',
'triggerDeleteModuleDocuments',
'after'))
return true;
83 if(!$oDB->isColumnExists(
"document_categories",
"parent_srl"))
return true;
84 if(!$oDB->isColumnExists(
"document_categories",
"expand"))
return true;
85 if(!$oDB->isColumnExists(
"document_categories",
"group_srls"))
return true;
87 if(!$oDB->isIndexExists(
"documents",
"idx_module_notice"))
return true;
89 if(!$oDB->isIndexExists(
"documents",
"idx_module_document_srl"))
return true;
92 if(!$oDB->isColumnExists(
"documents",
"extra_vars"))
return true;
94 if(!$oDB->isColumnExists(
"documents",
"blamed_count"))
return true;
95 if(!$oDB->isIndexExists(
"documents",
"idx_module_blamed_count"))
return true;
96 if(!$oDB->isColumnExists(
"document_voted_log",
"point"))
return true;
98 if(!$oDB->isColumnExists(
"document_categories",
"color"))
return true;
103 if(!$oDB->isColumnExists(
"document_extra_vars",
"lang_code"))
return true;
105 if(!
$oModuleModel->getTrigger(
'module.dispAdditionSetup',
'document',
'view',
'triggerDispDocumentAdditionSetup',
'before'))
return true;
107 if(!$oDB->isColumnExists(
"documents",
"lang_code"))
return true;
109 if(!$oDB->isIndexExists(
"document_extra_vars",
"unique_extra_vars"))
return true;
112 if(!$oDB->isColumnExists(
"document_extra_keys",
"eid"))
return true;
113 if(!$oDB->isColumnExists(
"document_extra_vars",
"eid"))
return true;
116 if(!$oDB->isIndexExists(
"document_extra_vars",
"idx_document_list_order"))
return true;
119 if(!$oDB->isColumnExists(
"document_categories",
"description"))
return true;
122 if(!$oDB->isColumnExists(
'documents',
'status'))
return true;
125 if($oDB->isColumnExists(
'documents',
'allow_comment') || $oDB->isColumnExists(
'documents',
'lock_comment'))
return true;
128 if(!$oDB->isIndexExists(
"documents",
"idx_module_status"))
return true;
131 if(!
$oModuleModel->getTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModuleExtraKeys',
'after'))
return true;
134 if(!
$oModuleModel->getTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModule',
'after'))
return true;
151 $version_update_id = implode(
'.', array(__CLASS__,
__XE_VERSION__,
'updated'));
155 if(!$oDB->isColumnExists(
"documents",
"notify_message"))
157 $oDB->addColumn(
'documents',
"notify_message",
"char",1);
161 if(!$oDB->isIndexExists(
"documents",
"idx_module_list_order"))
163 $oDB->addIndex(
"documents",
"idx_module_list_order", array(
"module_srl",
"list_order"));
166 if(!$oDB->isIndexExists(
"documents",
"idx_module_update_order"))
168 $oDB->addIndex(
"documents",
"idx_module_update_order", array(
"module_srl",
"update_order"));
171 if(!$oDB->isIndexExists(
"documents",
"idx_module_readed_count"))
173 $oDB->addIndex(
"documents",
"idx_module_readed_count", array(
"module_srl",
"readed_count"));
176 if(!$oDB->isIndexExists(
"documents",
"idx_module_voted_count"))
178 $oDB->addIndex(
"documents",
"idx_module_voted_count", array(
"module_srl",
"voted_count"));
181 if(!
$oModuleModel->getTrigger(
'module.deleteModule',
'document',
'controller',
'triggerDeleteModuleDocuments',
'after'))
182 $oModuleController->insertTrigger(
'module.deleteModule',
'document',
'controller',
'triggerDeleteModuleDocuments',
'after');
184 if(!$oDB->isColumnExists(
"document_categories",
"parent_srl")) $oDB->addColumn(
'document_categories',
"parent_srl",
"number",12,0);
185 if(!$oDB->isColumnExists(
"document_categories",
"expand")) $oDB->addColumn(
'document_categories',
"expand",
"char",1,
"N");
186 if(!$oDB->isColumnExists(
"document_categories",
"group_srls")) $oDB->addColumn(
'document_categories',
"group_srls",
"text");
188 if(!$oDB->isIndexExists(
"documents",
"idx_module_notice")) $oDB->addIndex(
"documents",
"idx_module_notice", array(
"module_srl",
"is_notice"));
191 if(!$oDB->isColumnExists(
"documents",
"extra_vars")) $oDB->addColumn(
'documents',
'extra_vars',
'text');
194 if(!$oDB->isIndexExists(
"documents",
"idx_module_document_srl")) $oDB->addIndex(
"documents",
"idx_module_document_srl", array(
"module_srl",
"document_srl"));
196 if(!$oDB->isColumnExists(
"documents",
"blamed_count"))
198 $oDB->addColumn(
'documents',
'blamed_count',
'number', 11, 0,
true);
199 $oDB->addIndex(
'documents',
'idx_blamed_count', array(
'blamed_count'));
202 if(!$oDB->isIndexExists(
"documents",
"idx_module_blamed_count"))
204 $oDB->addIndex(
'documents',
'idx_module_blamed_count', array(
'module_srl',
'blamed_count'));
207 if(!$oDB->isColumnExists(
"document_voted_log",
"point"))
208 $oDB->addColumn(
'document_voted_log',
'point',
'number', 11, 0,
true);
211 if(!$oDB->isColumnExists(
"document_categories",
"color")) $oDB->addColumn(
'document_categories',
"color",
"char",7);
214 if(!$oDB->isColumnExists(
"document_extra_vars",
"lang_code")) $oDB->addColumn(
'document_extra_vars',
"lang_code",
"varchar",10);
217 if(!
$oModuleModel->getTrigger(
'module.dispAdditionSetup',
'document',
'view',
'triggerDispDocumentAdditionSetup',
'before'))
218 $oModuleController->insertTrigger(
'module.dispAdditionSetup',
'document',
'view',
'triggerDispDocumentAdditionSetup',
'before');
220 if(!$oDB->isColumnExists(
"documents",
"lang_code"))
223 $oDB->addColumn(
'documents',
"lang_code",
"varchar",10, $db_info->lang_code);
224 $obj->lang_code = $db_info->lang_type;
228 if(!$oDB->isIndexExists(
"document_extra_vars",
"unique_extra_vars"))
230 $oDB->addIndex(
"document_extra_vars",
"unique_extra_vars", array(
"module_srl",
"document_srl",
"var_idx",
"lang_code"),
true);
233 if($oDB->isIndexExists(
"document_extra_vars",
"unique_module_vars"))
235 $oDB->dropIndex(
"document_extra_vars",
"unique_module_vars",
true);
240 if(!$oDB->isColumnExists(
"document_extra_keys",
"eid"))
242 $oDB->addColumn(
"document_extra_keys",
"eid",
"varchar",40);
246 foreach(
$output->data as $extra_keys) {
247 $args->module_srl = $extra_keys->module_srl;
248 $args->var_idx = $extra_keys->idx;
249 $args->new_eid =
"extra_vars".$extra_keys->idx;
255 if(!$oDB->isColumnExists(
"document_extra_vars",
"eid"))
257 $oDB->addColumn(
"document_extra_vars",
"eid",
"varchar",40);
258 $obj->var_idx =
'-1,-2';
264 $args->module_srl = $extra_vars->module_srl;
265 $args->var_idx = $extra_vars->idx;
266 $args->new_eid =
"extra_vars".$extra_vars->idx;
273 if(!$oDB->isIndexExists(
"document_extra_vars",
"idx_document_list_order"))
275 $oDB->addIndex(
"document_extra_vars",
"idx_document_list_order", array(
"document_srl",
"module_srl",
"var_idx"),
false);
279 if(!$oDB->isColumnExists(
"document_categories",
"description")) $oDB->addColumn(
'document_categories',
"description",
"varchar",200,0);
282 if(!$oDB->isColumnExists(
'documents',
'status'))
284 $oDB->addColumn(
'documents',
'status',
'varchar', 20,
'PUBLIC');
285 $args->is_secret =
'Y';
290 if($oDB->isColumnExists(
'documents',
'status') && $oDB->isColumnExists(
'documents',
'is_secret'))
291 $oDB->dropColumn(
'documents',
'is_secret');
294 if($oDB->isColumnExists(
'documents',
'allow_comment') || $oDB->isColumnExists(
'documents',
'lock_comment'))
296 $oDB->addColumn(
'documents',
'comment_status',
'varchar', 20,
'ALLOW');
298 $args->commentStatus =
'DENY';
301 $args->allowComment =
'Y';
302 $args->lockComment =
'Y';
306 $args->allowComment =
'N';
307 $args->lockComment =
'Y';
311 $args->allowComment =
'N';
312 $args->lockComment =
'N';
316 if($oDB->isColumnExists(
'documents',
'allow_comment') && $oDB->isColumnExists(
'documents',
'comment_status'))
317 $oDB->dropColumn(
'documents',
'allow_comment');
319 if($oDB->isColumnExists(
'documents',
'lock_comment') && $oDB->isColumnExists(
'documents',
'comment_status'))
320 $oDB->dropColumn(
'documents',
'lock_comment');
322 if(!$oDB->isIndexExists(
"documents",
"idx_module_status"))
323 $oDB->addIndex(
"documents",
"idx_module_status", array(
"module_srl",
"status"));
326 if(!
$oModuleModel->getTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModuleExtraKeys',
'after'))
328 $oModuleController->insertTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModuleExtraKeys',
'after');
332 if(!
$oModuleModel->getTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModule',
'after'))
334 $oModuleController->insertTrigger(
'module.procModuleAdminCopyModule',
'document',
'controller',
'triggerCopyModule',
'after');
349 if(!is_dir(
'./files/cache/tmp'))
370 return $this->statusList[
'public'];
379 if(array_key_exists(strtolower($key), $this->statusList))
return $this->statusList[$key];
getController($module_name)
foreach($sitemap as $id=> &$val) $extra_vars
getInstance($db_type=NULL)
document the module's high class {
executeQuery($query_id, $args=NULL, $arg_columns=NULL)