diff --git a/modules/admin/admin.admin.controller.php b/modules/admin/admin.admin.controller.php index c18751ca6..353274717 100644 --- a/modules/admin/admin.admin.controller.php +++ b/modules/admin/admin.admin.controller.php @@ -276,10 +276,12 @@ /** * @brief Insert favorite **/ - function _insertFavorite($siteSrl, $module) + function _insertFavorite($siteSrl, $module, $type = 'module') { + $args->adminFavoriteSrl = getNextSequence(); $args->site_srl = $siteSrl; $args->module = $module; + $args->type = $type; $output = executeQuery('admin.insertFavorite', $args); return $output; } @@ -294,6 +296,16 @@ return $output; } + /** + * @brief Delete favorite + **/ + function _deleteAllFavorite() + { + $args = null; + $output = executeQuery('admin.deleteAllFavorite', $args); + return $output; + } + function procAdminRemoveIcons(){ $iconname = Context::get('iconname'); $file_exist = FileHandler::readFile(_XE_PATH_.'files/attach/xeicon/'.$iconname); diff --git a/modules/admin/admin.class.php b/modules/admin/admin.class.php index a37b25917..f0c4d5d8b 100644 --- a/modules/admin/admin.class.php +++ b/modules/admin/admin.class.php @@ -19,6 +19,9 @@ * @brief if update is necessary it returns true **/ function checkUpdate() { + $oDB = &DB::getInstance(); + if(!$oDB->isColumnExists("admin_favorite", "type")) return true; + return false; } @@ -27,6 +30,26 @@ * @return new Object **/ function moduleUpdate() { + $oDB = &DB::getInstance(); + if(!$oDB->isColumnExists("admin_favorite", "type")) + { + $oAdminAdminModel = &getAdminModel('admin'); + $output = $oAdminAdminModel->getFavoriteList(); + $favoriteList = $output->get('favoriteList'); + + $oDB->dropColumn('admin_favorite', 'admin_favorite_srl'); + $oDB->addColumn('admin_favorite',"admin_favorite_srl","number",11,0); + if(is_array($favoriteList)) + { + $oAdminAdminController = &getAdminController('admin'); + $oAdminAdminController->_deleteAllFavorite(); + foreach($favoriteList AS $key=>$value) + { + $oAdminAdminController->_insertFavorite($value->site_srl, $value->module); + } + } + $oDB->addColumn('admin_favorite',"type","varchar",30, 'module'); + } return new Object(); } diff --git a/modules/admin/queries/insertFavorite.xml b/modules/admin/queries/insertFavorite.xml index 6a878bcdc..084e5a0bb 100644 --- a/modules/admin/queries/insertFavorite.xml +++ b/modules/admin/queries/insertFavorite.xml @@ -3,7 +3,9 @@ + + diff --git a/modules/admin/schemas/admin_favorite.xml b/modules/admin/schemas/admin_favorite.xml index 04d273008..301d7e979 100644 --- a/modules/admin/schemas/admin_favorite.xml +++ b/modules/admin/schemas/admin_favorite.xml @@ -2,4 +2,5 @@ +