GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — develop ( 93a7ee...26a7e9 )
by gyeong-won
12:02
created

document::moduleInstall()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 28
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 17
c 1
b 0
f 0
nc 2
nop 0
dl 0
loc 28
rs 8.8571
1
<?php
2
/* Copyright (C) NAVER <http://www.navercorp.com> */
3
require_once(_XE_PATH_.'modules/document/document.item.php');
4
5
/**
6
 * document class
7
 * @brief document the module's high class
8
 * {@internal Silently adds one extra Foo to compensate for lack of Foo }
9
 *
10
 * @author NAVER ([email protected])
11
 * @package /modules/document
12
 * @version 0.1
13
 */
14
class document extends ModuleObject
15
{
16
	/**
17
	 * Search option to use in admin page
18
	 * @var array
19
	 */
20
	var $search_option = array('title','content','title_content','user_name',); // /< Search options
21
	/**
22
	 * Status list
23
	 * @var array
24
	 */
25
	var $statusList = array('private'=>'PRIVATE', 'public'=>'PUBLIC', 'secret'=>'SECRET', 'temp'=>'TEMP');
26
27
	/**
28
	 * Implement if additional tasks are necessary when installing
29
	 * @return Object
30
	 */
31
	function moduleInstall()
32
	{
33
		// Register action forward (to use in administrator mode)
34
		$oModuleController = getController('module');
35
36
		$oDB = &DB::getInstance();
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);
46
		// 2007. 10. 17 Add a trigger to delete all posts together when the module is deleted
47
		$oModuleController->insertTrigger('module.deleteModule', 'document', 'controller', 'triggerDeleteModuleDocuments', 'after');
48
49
		// 2009. 01. 29 Added a trigger for additional setup
50
		$oModuleController->insertTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before');
51
52
		if(!is_dir('./files/cache/tmp'))
53
		{
54
			FileHandler::makeDir('./files/cache/tmp');
55
		}
56
57
		return new Object();
58
	}
59
60
	/**
61
	 * A method to check if successfully installed
62
	 * @return bool
63
	 */
64
	function checkUpdate() {
65
		$oDB = &DB::getInstance();
66
		$oModuleModel = getModel('module');
67
68
		// 2007. 7. 25: Add a column(notify_message) for notification
69
		if(!$oDB->isColumnExists("documents","notify_message")) return true;
70
71
		// 2007. 8. 23: create a clustered index in the document table
72
		if(!$oDB->isIndexExists("documents","idx_module_list_order")) return true;
73
		if(!$oDB->isIndexExists("documents","idx_module_update_order")) return true;
74
		if(!$oDB->isIndexExists("documents","idx_module_readed_count")) return true;
75
		if(!$oDB->isIndexExists("documents","idx_module_voted_count")) return true;
76
		// 2007. 10. 17 Add a trigger to delete all posts together when the module is deleted
77
		if(!$oModuleModel->getTrigger('module.deleteModule', 'document', 'controller', 'triggerDeleteModuleDocuments', 'after')) return true;
78
		// 2007. 10. 25 add parent_srl, expand to the document category
79
		if(!$oDB->isColumnExists("document_categories","parent_srl")) return true;
80
		if(!$oDB->isColumnExists("document_categories","expand")) return true;
81
		if(!$oDB->isColumnExists("document_categories","group_srls")) return true;
82
		// 2007. 11. 20 create a composite index on the columns(module_srl + is_notice)
83
		if(!$oDB->isIndexExists("documents","idx_module_notice")) return true;
84
		// 2008. 02. 18 create a composite index on the columns(module_srl + document_srl) (checked by Manian))
85
		if(!$oDB->isIndexExists("documents","idx_module_document_srl")) return true;
86
87
		// 2007. 12. 03: Add if the colume(extra_vars) doesn't exist
88
		if(!$oDB->isColumnExists("documents","extra_vars")) return true;
89
		// 2008. 04. 23 Add a column(blamed_count)
90
		if(!$oDB->isColumnExists("documents", "blamed_count")) return true;
91
		if(!$oDB->isIndexExists("documents","idx_module_blamed_count")) return true;
92
		if(!$oDB->isColumnExists("document_voted_log", "point")) return true;
93
		// 2008-12-15 Add a column(color)
94
		if(!$oDB->isColumnExists("document_categories", "color")) return true;
95
96
		/**
97
		 * 2009. 01. 29: Add a column(lang_code) if not exist in the document_extra_vars table
98
		 */
99
		if(!$oDB->isColumnExists("document_extra_vars","lang_code")) return true;
100
101
		if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before')) return true;
102
		// 2009. 03. 09 Add a column(lang_code) to the documnets table
103
		if(!$oDB->isColumnExists("documents","lang_code")) return true;
104
		// 2009. 03. 11 check the index in the document_extra_vars table
105
		if(!$oDB->isIndexExists("document_extra_vars", "unique_extra_vars")) return true;
106
107
		// 2009. 03. 19: Add a column(eid) if not exist in the table
108
		if(!$oDB->isColumnExists("document_extra_keys","eid")) return true;
109
		if(!$oDB->isColumnExists("document_extra_vars","eid")) return true;
110
111
		// 2011. 03. 30 Cubrid index Check the index in the document_extra_vars table
112
		if(!$oDB->isIndexExists("document_extra_vars", "idx_document_list_order")) return true;
113
114
		//2011. 04. 07 adding description column to document categories
115
		if(!$oDB->isColumnExists("document_categories","description")) return true;
116
117
		//2011. 05. 23 adding status column to document
118
		if(!$oDB->isColumnExists('documents', 'status')) return true;
119
120
		//2011. 06. 07 check comment status update
121
		if($oDB->isColumnExists('documents', 'allow_comment') || $oDB->isColumnExists('documents', 'lock_comment')) return true;
122
123
		// 2011. 10. 25 status index check
124
		if(!$oDB->isIndexExists("documents", "idx_module_status")) return true;
125
126
		// 2012. 02. 27 Add a trigger to copy extra keys when the module is copied 
127
		if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModuleExtraKeys', 'after')) return true;
128
129
		// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied 
130
		if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModule', 'after')) return true;
131
132
		return false;
133
	}
134
135
	/**
136
	 * Execute update
137
	 * @return Object
138
	 */
139
	function moduleUpdate()
140
	{
141
		$oDB = &DB::getInstance();
142
		$oModuleModel = getModel('module');
143
		$oModuleController = getController('module');
144
145
		// 2007. 7. 25: Add a column(notify_message) for notification
146
		if(!$oDB->isColumnExists("documents","notify_message"))
147
		{
148
			$oDB->addColumn('documents',"notify_message","char",1);
149
		}
150
151
		// 2007. 8. 23: create a clustered index in the document table
152
		if(!$oDB->isIndexExists("documents","idx_module_list_order"))
153
		{
154
			$oDB->addIndex("documents","idx_module_list_order", array("module_srl","list_order"));
155
		}
156
157
		if(!$oDB->isIndexExists("documents","idx_module_update_order"))
158
		{
159
			$oDB->addIndex("documents","idx_module_update_order", array("module_srl","update_order"));
160
		}
161
162
		if(!$oDB->isIndexExists("documents","idx_module_readed_count"))
163
		{
164
			$oDB->addIndex("documents","idx_module_readed_count", array("module_srl","readed_count"));
165
		}
166
167
		if(!$oDB->isIndexExists("documents","idx_module_voted_count"))
168
		{
169
			$oDB->addIndex("documents","idx_module_voted_count", array("module_srl","voted_count"));
170
		}
171
		// 2007. 10. 17 Add a trigger to delete all posts together when the module is deleted
172 View Code Duplication
		if(!$oModuleModel->getTrigger('module.deleteModule', 'document', 'controller', 'triggerDeleteModuleDocuments', 'after'))
173
			$oModuleController->insertTrigger('module.deleteModule', 'document', 'controller', 'triggerDeleteModuleDocuments', 'after');
174
		// 2007. 10. 25 add columns(parent_srl, expand) 
175
		if(!$oDB->isColumnExists("document_categories","parent_srl")) $oDB->addColumn('document_categories',"parent_srl","number",12,0);
176
		if(!$oDB->isColumnExists("document_categories","expand")) $oDB->addColumn('document_categories',"expand","char",1,"N");
177
		if(!$oDB->isColumnExists("document_categories","group_srls")) $oDB->addColumn('document_categories',"group_srls","text");
178
		// 2007. 11. 20 create a composite index on the columns(module_srl + is_notice)
179
		if(!$oDB->isIndexExists("documents","idx_module_notice")) $oDB->addIndex("documents","idx_module_notice", array("module_srl","is_notice"));
180
181
		// 2007. 12. 03: Add if the colume(extra_vars) doesn't exist
182
		if(!$oDB->isColumnExists("documents","extra_vars")) $oDB->addColumn('documents','extra_vars','text');
183
184
		// 2008. 02. 18 create a composite index on the columns(module_srl + document_srl) (checked by Manian))
185
		if(!$oDB->isIndexExists("documents","idx_module_document_srl")) $oDB->addIndex("documents","idx_module_document_srl", array("module_srl","document_srl"));
186
		// 2008. 04. 23 Add a column(blamed count)
187 View Code Duplication
		if(!$oDB->isColumnExists("documents", "blamed_count"))
188
		{
189
			$oDB->addColumn('documents', 'blamed_count', 'number', 11, 0, true);
190
			$oDB->addIndex('documents', 'idx_blamed_count', array('blamed_count'));
191
		}
192
193
		if(!$oDB->isIndexExists("documents","idx_module_blamed_count"))
194
		{
195
			$oDB->addIndex('documents', 'idx_module_blamed_count', array('module_srl', 'blamed_count'));
196
		}
197
198
		if(!$oDB->isColumnExists("document_voted_log", "point"))
199
			$oDB->addColumn('document_voted_log', 'point', 'number', 11, 0, true);
200
201
202
		if(!$oDB->isColumnExists("document_categories","color")) $oDB->addColumn('document_categories',"color","char",7);
203
204
		// 2009. 01. 29: Add a column(lang_code) if not exist in the document_extra_vars table
205
		if(!$oDB->isColumnExists("document_extra_vars","lang_code")) $oDB->addColumn('document_extra_vars',"lang_code","varchar",10);
206
207
		// 2009. 01. 29 Added a trigger for additional setup
208 View Code Duplication
		if(!$oModuleModel->getTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before'))
209
			$oModuleController->insertTrigger('module.dispAdditionSetup', 'document', 'view', 'triggerDispDocumentAdditionSetup', 'before');
210
		// 2009. 03. 09 Add a column(lang_code) to the documnets table
211
		if(!$oDB->isColumnExists("documents","lang_code"))
212
		{
213
			$db_info = Context::getDBInfo();
214
			$oDB->addColumn('documents',"lang_code","varchar",10, $db_info->lang_code);
215
			$obj->lang_code = $db_info->lang_type;
0 ignored issues
show
Bug introduced by
The variable $obj does not exist. Did you forget to declare it?

This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.

Loading history...
216
			executeQuery('document.updateDocumentsLangCode', $obj);
217
		}
218
		// 2009. 03. 11 Check the index in the document_extra_vars table
219 View Code Duplication
		if(!$oDB->isIndexExists("document_extra_vars", "unique_extra_vars"))
220
		{
221
			$oDB->addIndex("document_extra_vars", "unique_extra_vars", array("module_srl","document_srl","var_idx","lang_code"), true);
222
		}
223
224
		if($oDB->isIndexExists("document_extra_vars", "unique_module_vars"))
225
		{
226
			$oDB->dropIndex("document_extra_vars", "unique_module_vars", true);
227
		}
228
229
		// 2009. 03. 19: Add a column(eid)
230
		// 2009. 04. 12: Fixed the issue(#17922959) that changes another column values when adding eid column
231 View Code Duplication
		if(!$oDB->isColumnExists("document_extra_keys","eid"))
232
		{
233
			$oDB->addColumn("document_extra_keys","eid","varchar",40);
234
235
			$output = executeQuery('document.getGroupsExtraKeys', $obj);
236
			if($output->toBool() && $output->data && count($output->data)) {
237
				foreach($output->data as $extra_keys) {
238
					$args->module_srl = $extra_keys->module_srl;
0 ignored issues
show
Bug introduced by
The variable $args does not exist. Did you forget to declare it?

This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.

Loading history...
239
					$args->var_idx = $extra_keys->idx;
240
					$args->new_eid = "extra_vars".$extra_keys->idx;
241
					$output = executeQuery('document.updateDocumentExtraKeyEid', $args);
242
				}
243
			}
244
		}
245
246 View Code Duplication
		if(!$oDB->isColumnExists("document_extra_vars","eid"))
247
		{
248
			$oDB->addColumn("document_extra_vars","eid","varchar",40);
249
			$obj->var_idx = '-1,-2';
250
			$output = executeQuery('document.getGroupsExtraVars', $obj);
251
			if($output->toBool() && $output->data && count($output->data))
252
			{
253
				foreach($output->data as $extra_vars)
254
				{
255
					$args->module_srl = $extra_vars->module_srl;
256
					$args->var_idx = $extra_vars->idx;
257
					$args->new_eid = "extra_vars".$extra_vars->idx;
258
					$output = executeQuery('document.updateDocumentExtraVarEid', $args);
259
				}
260
			}
261
		}
262
263
		// 2011. 03. 30 Cubrid index Check the index in the document_extra_vars table
264 View Code Duplication
		if(!$oDB->isIndexExists("document_extra_vars", "idx_document_list_order"))
265
		{
266
			$oDB->addIndex("document_extra_vars", "idx_document_list_order", array("document_srl","module_srl","var_idx"), false);
267
		}
268
269
		//2011. 04. 07 adding description column to document categories
270
		if(!$oDB->isColumnExists("document_categories","description")) $oDB->addColumn('document_categories',"description","varchar",200,0);
271
272
		//2011. 05. 23 adding status column to document
273
		if(!$oDB->isColumnExists('documents', 'status'))
274
		{
275
			$oDB->addColumn('documents', 'status', 'varchar', 20, 'PUBLIC');
276
			$args->is_secret = 'Y';
277
			$output = executeQuery('document.updateDocumentStatus', $args);
0 ignored issues
show
Unused Code introduced by
$output is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
278
		}
279
280
		// 2011. 09. 08 drop column document is_secret
281
		if($oDB->isColumnExists('documents', 'status') && $oDB->isColumnExists('documents', 'is_secret'))
282
			$oDB->dropColumn('documents', 'is_secret');
283
284
		//2011. 06. 07 merge column, allow_comment and lock_comment
285
		if($oDB->isColumnExists('documents', 'allow_comment') || $oDB->isColumnExists('documents', 'lock_comment'))
286
		{
287
			$oDB->addColumn('documents', 'comment_status', 'varchar', 20, 'ALLOW');
288
289
			$args->commentStatus = 'DENY';
290
291
			// allow_comment='Y', lock_comment='Y'
292
			$args->allowComment = 'Y';
293
			$args->lockComment = 'Y';
294
			$output = executeQuery('document.updateDocumentCommentStatus', $args);
0 ignored issues
show
Unused Code introduced by
$output is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
295
296
			// allow_comment='N', lock_comment='Y'
297
			$args->allowComment = 'N';
298
			$args->lockComment = 'Y';
299
			$output = executeQuery('document.updateDocumentCommentStatus', $args);
0 ignored issues
show
Unused Code introduced by
$output is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
300
301
			// allow_comment='N', lock_comment='N'
302
			$args->allowComment = 'N';
303
			$args->lockComment = 'N';
304
			$output = executeQuery('document.updateDocumentCommentStatus', $args);
0 ignored issues
show
Unused Code introduced by
$output is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
305
		}
306
307
		if($oDB->isColumnExists('documents', 'allow_comment') && $oDB->isColumnExists('documents', 'comment_status'))
308
			$oDB->dropColumn('documents', 'allow_comment');
309
310
		if($oDB->isColumnExists('documents', 'lock_comment') && $oDB->isColumnExists('documents', 'comment_status'))
311
			$oDB->dropColumn('documents', 'lock_comment');
312
313
		if(!$oDB->isIndexExists("documents", "idx_module_status"))
314
			$oDB->addIndex("documents", "idx_module_status", array("module_srl","status"));
315
316
		// 2012. 02. 27 Add a trigger to copy extra keys when the module is copied 
317 View Code Duplication
		if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModuleExtraKeys', 'after'))
318
		{
319
			$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModuleExtraKeys', 'after');
320
		}
321
322
		// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied 
323 View Code Duplication
		if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModule', 'after'))
324
		{
325
			$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'document', 'controller', 'triggerCopyModule', 'after');
326
		}
327
328
		return new Object(0,'success_updated');
329
	}
330
331
	/**
332
	 * Re-generate the cache file
333
	 * @return void
334
	 */
335
	function recompileCache()
336
	{
337
		if(!is_dir('./files/cache/tmp'))
338
		{
339
			FileHandler::makeDir('./files/cache/tmp');
340
		}
341
	}
342
343
	/**
344
	 * Document Status List
345
	 * @return array
346
	 */
347
	function getStatusList()
348
	{
349
		return $this->statusList;
350
	}
351
352
	/**
353
	 * Return default status
354
	 * @return string
355
	 */
356
	function getDefaultStatus()
357
	{
358
		return $this->statusList['public'];
359
	}
360
361
	/**
362
	 * Return status by key
363
	 * @return string
364
	 */
365
	function getConfigStatus($key)
366
	{
367
		if(array_key_exists(strtolower($key), $this->statusList)) return $this->statusList[$key];
368
		else $this->getDefaultStatus();
0 ignored issues
show
Unused Code introduced by
The call to the method document::getDefaultStatus() seems un-needed as the method has no side-effects.

PHP Analyzer performs a side-effects analysis of your code. A side-effect is basically anything that might be visible after the scope of the method is left.

Let’s take a look at an example:

class User
{
    private $email;

    public function getEmail()
    {
        return $this->email;
    }

    public function setEmail($email)
    {
        $this->email = $email;
    }
}

If we look at the getEmail() method, we can see that it has no side-effect. Whether you call this method or not, no future calls to other methods are affected by this. As such code as the following is useless:

$user = new User();
$user->getEmail(); // This line could safely be removed as it has no effect.

On the hand, if we look at the setEmail(), this method _has_ side-effects. In the following case, we could not remove the method call:

$user = new User();
$user->setEmail('email@domain'); // This line has a side-effect (it changes an
                                 // instance variable).
Loading history...
369
	}
370
}
371
/* End of file document.class.php */
372
/* Location: ./modules/document/document.class.php */
373