File size: 3.2Kb
<?php
/**
* [PHPFOX_HEADER]
*/
defined('PHPFOX') or exit('NO DICE!');
/**
*
*
* @copyright [PHPFOX_COPYRIGHT]
* @author Raymond Benc
* @package Phpfox_Component
* @version $Id: add.class.php 5538 2013-03-25 13:20:22Z Miguel_Espinoza $
*/
class Event_Component_Controller_Admincp_Add extends Phpfox_Component
{
/**
* Controller
*/
public function process() {
if ($iDelete = $this->request()->getInt('delete')) {
if (Event_Service_Category_Process::instance()->delete($iDelete)) {
$this->url()->send('admincp.event', null, _p('category_successfully_deleted'));
}
}
$bIsEdit = false;
$aLanguages = Language_Service_Language::instance()->getAll(true);
if ($iEditId = $this->request()->getInt('id')) {
$bIsEdit = true;
$aCategory = Event_Service_Category_Category::instance()->getForEdit($iEditId);
if (!isset($aCategory['category_id'])){
$this->url()->send('admincp.event', null, _p('not_found'));
}
$this->template()->assign([
'aForms' => $aCategory,
'iEditId' => $iEditId
]);
}
if ($aVals = $this->request()->getArray('val')) {
if ($aVals = $this->_validate($aVals)) {
$aVals['parent_id'] = (int)$aVals['parent_id'];
if ($aVals['parent_id'] > 0) {
$aRedirectParam = ['parent' => $aVals['parent_id']];
} else {
$aRedirectParam = [];
}
if ($bIsEdit) {
if (Event_Service_Category_Process::instance()->update($aVals)) {
$this->url()->send('admincp.event', $aRedirectParam, _p('category_successfully_updated'));
}
} else {
if (Event_Service_Category_Process::instance()->add($aVals)) {
$this->url()->send('admincp.event', $aRedirectParam, _p('category_successfully_added'));
}
}
}
}
$aParentCategories = Event_Service_Category_Category::instance()->getAllParentCategories();
$this->template()->setTitle(($bIsEdit ? _p('edit_a_category') : _p('create_a_new_category')))
->setBreadCrumb(_p("Apps"), $this->url()->makeUrl('admincp.apps'))
->setBreadCrumb(_p("Events"), $this->url()->makeUrl('admincp.event'))
->setBreadCrumb(($bIsEdit ? _p('edit_a_category') : _p('create_a_new_category')), $this->url()->makeUrl('admincp.event.add'))
->assign([
'bIsEdit' => $bIsEdit,
'aLanguages' => $aLanguages,
'aParentCategories' => $aParentCategories
]);
}
/**
* validate input value
* @param $aVals
*
* @return bool
*/
private function _validate($aVals)
{
return Language_Service_Language::instance()->validateInput($aVals, 'name', false);
}
/**
* Garbage collector. Is executed after this class has completed
* its job and the template has also been displayed.
*/
public function clean()
{
(($sPlugin = Phpfox_Plugin::get('event.component_controller_admincp_add_clean')) ? eval($sPlugin) : false);
}
}