issue 70 favorite interface developement

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9030 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-09-05 09:34:08 +00:00
parent 425b02531f
commit 249ba8c7f5
5 changed files with 8 additions and 106 deletions

View file

@ -154,24 +154,23 @@
{
$siteSrl = Context::get('site_srl');
$moduleName = Context::get('module_name');
$key = Context::get('key');
// check favorite exists
$oModel = &getAdminModel('admin');
$output = $oModel->isExistsFavorite($siteSrl, $moduleName, $key);
$output = $oModel->isExistsFavorite($siteSrl, $moduleName);
if (!$output->toBool()) return $output;
// if exists, delete favorite
if ($output->get('result'))
{
$favoriteSrl = $output->get('favoriteSrl');
$output = $this->deleteFavorite($favoriteSrl);
$output = $this->_deleteFavorite($favoriteSrl);
}
// if not exists, insert favorite
else
{
$output = $this->insertFavorite($siteSrl, $moduleName, $key);
$output = $this->_insertFavorite($siteSrl, $moduleName);
}
if (!$output->toBool()) return $output;
@ -261,11 +260,10 @@
/**
* @brief Insert favorite
**/
function insertFavorite($siteSrl, $module, $key)
function _insertFavorite($siteSrl, $module)
{
$args->site_srl = $siteSrl;
$args->module = $module;
$args->key = $key;
$output = executeQuery('admin.insertFavorite', $args);
return $output;
}
@ -273,71 +271,13 @@
/**
* @brief Delete favorite
**/
function deleteFavorite($favoriteSrl)
function _deleteFavorite($favoriteSrl)
{
$args->admin_favorite_srl = $favoriteSrl;
$output = executeQuery('admin.deleteFavorite', $args);
return $output;
}
/**
* @brief set favorites at one time
**/
function setFavoritesByModule($siteSrl, $module, $keyList)
{
$oModel = &getAdminModel('admin');
$output = $oModel->getFavoriteListByModule($siteSrl, $module);
if (!$output->toBool()) return $output;
$originList = $output->get('list');
// find insert key
$insertKey = array_diff($keyList, $originList);
// find delete key
$deleteKey = array_diff($originList, $keyList);
// start transaction
$oDB = &DB::getInstance();
$oDB->begin();
// insert key
foreach($insertKey as $key)
{
$output = $this->insertFavorite($siteSrl, $module, $key);
if (!$output->toBool())
{
$oDB->rollback();
return $output;
}
}
// delete key
foreach($deleteKey as $key)
{
$output = $oModel->isExistsFavorite($siteSrl, $module, $key);
if (!$output->toBool())
{
$oDB->rollback();
return $output;
}
$favoriteSrl = $output->get('favoriteSrl');
if ($favoriteSrl)
{
$output = $this->deleteFavorite($favoriteSrl);
if (!$output->toBool())
{
$oDB->rollback();
return $output;
}
}
}
// commit
$oDB->commit();
return new Object();
}
function procAdminRemoveIcons(){
$iconname = Context::get('iconname');
$file_exist = FileHandler::readFile(_XE_PATH_.'files/attach/xeicon/'.$iconname);

View file

@ -341,17 +341,6 @@
if (!$output->toBool()) return $output;
if (!$output->data) return new Object();
foreach($output->data as $row)
{
$targetModule = $row->module;
$oTargetModuleAdminModel = &getAdminModel($targetModule);
if (!$oTargetModuleAdminModel) continue;
if (!method_exists($oTargetModuleAdminModel, 'getFavoriteInfo')) continue;
$favoriteInfo = $oTargetModuleAdminModel->getFavoriteInfo($row->key);
$favoriteList[] = $favoriteInfo;
}
$returnObject = new Object();
$returnObject->add('favoriteList', $favoriteList);
return $returnObject;
@ -360,11 +349,10 @@
/**
* @brief Check available insert favorite
**/
function isExistsFavorite($siteSrl, $module, $key)
function isExistsFavorite($siteSrl, $module)
{
$args->site_srl = $siteSrl;
$args->module = $module;
$args->key = $key;
$output = executeQuery('admin.getFavorite', $args);
if (!$output->toBool()) return $output;
@ -382,29 +370,6 @@
return $returnObject;
}
/**
* @brief Get favorite by module, site
**/
function getFavoriteListByModule($siteSrl, $module)
{
$args->site_srl = $siteSrl;
$args->module = $module;
$columnList = array('key');
$output = executeQueryArray('admin.getFavoriteList', $args, $columnList);
if (!$output->toBool()) return $output;
if (!$output->data) $output->data = array();
$list = array();
foreach($output->data as $row)
{
$list[$row->key] = $row->key;
}
$returnObject = new Object();
$returnObject->add('list', $list);
return $returnObject;
}
/**
* @brief Return site list
**/

View file

@ -9,7 +9,6 @@
<condition operation="equal" column="admin_favorite_srl" var="favorite_srl" />
<condition operation="equal" column="site_srl" var="site_srl" pipe="and" />
<condition operation="equal" column="module" var="module" pipe="and" />
<condition operation="equal" column="key" var="key" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="admin_favorite_srl" order="desc" />

View file

@ -5,6 +5,5 @@
<columns>
<column name="site_srl" var="site_srl" filter="number" notnull="notnull" />
<column name="module" var="module" notnull="notnull" />
<column name="key" var="key" notnull="notnull" />
</columns>
</query>

View file

@ -1,6 +1,5 @@
<table name="admin_favorite">
<column name="admin_favorite_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" auto_increment="auto_increment" />
<column name="site_srl" type="number" size="11" />
<column name="site_srl" type="number" size="11" default="0" />
<column name="module" type="varchar" size="80" />
<column name="key" type="varchar" size="255" />
</table>
</table>