[xoops-cvslog 4487] CVS update: xoops2jp/html/modules/base/admin/class

Back to archive index

Minahito minah****@users*****
2006年 9月 10日 (日) 20:57:35 JST


Index: xoops2jp/html/modules/base/admin/class/ModuleUtils.class.php
diff -u xoops2jp/html/modules/base/admin/class/ModuleUtils.class.php:1.1.2.23 xoops2jp/html/modules/base/admin/class/ModuleUtils.class.php:1.1.2.24
--- xoops2jp/html/modules/base/admin/class/ModuleUtils.class.php:1.1.2.23	Sun Sep 10 14:55:19 2006
+++ xoops2jp/html/modules/base/admin/class/ModuleUtils.class.php	Sun Sep 10 20:57:35 2006
@@ -8,8 +8,6 @@
 define("MODINSTALL_LOGTYPE_WARNING", "warning");
 define("MODINSTALL_LOGTYPE_ERROR", "error");
 
-define("MODINSTALL_THRESHOLD_ORDER", 255);
-
 /**
  * A temporary log class.
  */
@@ -414,8 +412,6 @@
 	{
 		$configInfos = $module->getInfo('config');
 		
-		$order = MODINSTALL_THRESHOLD_ORDER + 1;
-		
 		//
 		// Insert comment config by old style.
 		//
@@ -428,8 +424,7 @@
 			                         'formtype' => 'select',
 			                         'valuetype' => 'int',
 			                         'default' => 1,
-			                         'options' => array('_CM_COMNOCOM' => XOOPS_COMMENT_APPROVENONE, '_CM_COMAPPROVEALL' => XOOPS_COMMENT_APPROVEALL, '_CM_COMAPPROVEUSER' => XOOPS_COMMENT_APPROVEUSER, '_CM_COMAPPROVEADMIN' => XOOPS_COMMENT_APPROVEADMIN),
-									 'order' => $order++
+			                         'options' => array('_CM_COMNOCOM' => XOOPS_COMMENT_APPROVENONE, '_CM_COMAPPROVEALL' => XOOPS_COMMENT_APPROVEALL, '_CM_COMAPPROVEUSER' => XOOPS_COMMENT_APPROVEUSER, '_CM_COMAPPROVEADMIN' => XOOPS_COMMENT_APPROVEADMIN)
 			                   );
 
 			$configInfos[] = array('name' => 'com_anonpost',
@@ -437,8 +432,7 @@
 			                         'description' => '',
 			                         'formtype' => 'yesno',
 			                         'valuetype' => 'int',
-			                         'default' => 0,
-									 'order' => $order++
+			                         'default' => 0
 			                   );
 		}
 
@@ -462,8 +456,7 @@
 				'formtype' => 'select',
 				'valuetype' => 'int',
 				'default' => XOOPS_NOTIFICATION_ENABLEBOTH,
-				'options' => $t_options,
-				'order' => $order++
+				'options' => $t_options
 			);
 			
 			//
@@ -484,18 +477,17 @@
 					$t_optionName = $t_category['title'] . ' : ' . $t_event['title'];
 					$t_options[$t_optionName] = $t_category['name'] . '-' . $t_event['name'];
 				}
-				
-				$configInfos[] = array(
-					'name' => 'notification_events',
-					'title' => '_NOT_CONFIG_EVENTS',
-					'description' => '_NOT_CONFIG_EVENTSDSC',
-					'formtype' => 'select_multi',
-					'valuetype' => 'array',
-					'default' => array_values($t_options),
-					'options' => $t_options,
-					'order' => $order++
-				);
 			}
+				
+			$configInfos[] = array(
+				'name' => 'notification_events',
+				'title' => '_NOT_CONFIG_EVENTS',
+				'description' => '_NOT_CONFIG_EVENTSDSC',
+				'formtype' => 'select_multi',
+				'valuetype' => 'array',
+				'default' => array_values($t_options),
+				'options' => $t_options
+			);
 		}
 		
 		return $configInfos;
Index: xoops2jp/html/modules/base/admin/class/ModuleUpdater.class.php
diff -u xoops2jp/html/modules/base/admin/class/ModuleUpdater.class.php:1.1.2.13 xoops2jp/html/modules/base/admin/class/ModuleUpdater.class.php:1.1.2.14
--- xoops2jp/html/modules/base/admin/class/ModuleUpdater.class.php:1.1.2.13	Sun Sep 10 19:54:26 2006
+++ xoops2jp/html/modules/base/admin/class/ModuleUpdater.class.php	Sun Sep 10 20:57:35 2006
@@ -177,8 +177,6 @@
 	
 	function _installPreference()
 	{
-		// Legacy_ModuleUtils::deleteAllConfigs($this->mModule, $this->mLog);
-		
 		$configHandler =& xoops_gethandler('config');
 		
 		//
@@ -210,15 +208,37 @@
 		// If some active configs were deleted, remove them form database.
 		//
 		foreach (array_keys($activeConfigArr) as $t_actkey) {
-			$keepFlag = false;
+			$findFlag = false;
 			foreach (array_keys($newConfigArr) as $t_newkey) {
-				if ($activeConfigArr[$t_actkey]->isEqual($newConfigArr[$t_newkey])) {
-					$keepFlag = true;
-					break;
+				
+				if ($activeConfigArr[$t_actkey]->get('conf_name') == $newConfigArr[$t_newkey]->get('conf_name')) {
+					$findFlag = true;
+					if (!$activeConfigArr[$t_actkey]->isEqual($newConfigArr[$t_newkey])) {
+						//
+						// Update object
+						//
+						$activeConfigArr[$t_actkey]->set('conf_title', $newConfigArr[$t_newkey]->get('conf_title'));
+						$activeConfigArr[$t_actkey]->set('conf_value', $newConfigArr[$t_newkey]->get('conf_value'));
+						$activeConfigArr[$t_actkey]->set('conf_desc', $newConfigArr[$t_newkey]->get('conf_desc'));
+						$activeConfigArr[$t_actkey]->set('conf_formtype', $newConfigArr[$t_newkey]->get('conf_formtype'));
+						$activeConfigArr[$t_actkey]->set('conf_valuetype', $newConfigArr[$t_newkey]->get('conf_valuetype'));
+						
+						//
+						// Delete config options.
+						//
+						$t_optionArr =& $activeConfigArr[$t_actkey]->getOptionItems();
+						foreach (array_keys($t_optionArr) as $t_optionKey) {
+							$configHandler->_oHandler->delete($t_optionArr[$t_optionKey]);	//< Exception!!
+						}
+						
+						$activeConfigArr[$t_actkey]->setConfOptions($newConfigArr[$t_newkey]->getConfOptions());
+						
+						$configHandler->insertConfig($activeConfigArr[$t_actkey]);	//< FIXME need log.
+					}
 				}
 			}
 			
-			if (!$keepFlag) {
+			if (!$findFlag) {
 				$configHandler->deleteConfig($activeConfigArr[$t_actkey]);
 				unset($activeConfigArr[$t_actkey]);
 			}
@@ -229,7 +249,7 @@
 		//
 		$maxOrder = 0;
 		foreach (array_keys($activeConfigArr) as $t_actkey) {
-			if ($activeConfigArr[$t_actkey]->get('conf_order') > $maxOrder && $activeConfigArr[$t_actkey]->get('conf_order') <= MODINSTALL_THRESHOLD_ORDER) {
+			if ($activeConfigArr[$t_actkey]->get('conf_order') > $maxOrder) {
 				$maxOrder = $activeConfigArr[$t_actkey]->get('conf_order');
 			}
 		}


xoops-cvslog メーリングリストの案内
Back to archive index