/**
  * Sets the category placeholder's to the template
  * 
  * @global object $objInit
  * @global array $_ARRAYLANG
  * @param object $objTpl
  * @param integer $categoryId     
  */
 function showCategory($objTpl, $categoryId)
 {
     global $objInit, $_ARRAYLANG;
     $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($categoryId));
     $this->categoryList[$categoryId] = $objCategory;
     $objCategory->getData();
     $objTpl->setVariable(array($this->moduleLangVar . '_CATEGORY_ID' => $objCategory->id, $this->moduleLangVar . '_CATEGORY_STATUS' => $objCategory->status == 0 ? $_ARRAYLANG['TXT_CALENDAR_INACTIVE'] : $_ARRAYLANG['TXT_CALENDAR_ACTIVE'], $this->moduleLangVar . '_CATEGORY_NAME' => $objCategory->name, $this->moduleLangVar . '_CATEGORY_NAME_MASTER' => $objCategory->arrData['name'][0]));
 }
 /**
  * Category overview
  *
  * @return null
  */
 function showCategories()
 {
     global $objDatabase, $_ARRAYLANG, $_CORELANG;
     if (isset($_GET['tpl'])) {
         switch ($_GET['tpl']) {
             case 'modify_category':
                 $this->modifyCategory(intval($_GET['id']));
                 break;
         }
         return;
     }
     if (isset($_POST['submitModifyCategory'])) {
         $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($_POST['id']));
         if ($objCategory->save($_POST)) {
             $this->okMessage = intval($_POST['id']) == 0 ? $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_ADDED'] : $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_EDITED'];
         } else {
             $this->errMessage = intval($_POST['id']) == 0 ? $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_ADDED'] : $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_EDITED'];
         }
     }
     if (isset($_GET['delete'])) {
         $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($_GET['delete']));
         if ($objCategory->delete()) {
             $this->okMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_DELETED'];
         } else {
             $this->errMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_DELETED'];
         }
     }
     if (isset($_GET['multi'])) {
         $status = true;
         $messageVar = 'EDITED';
         foreach ($_POST['selectedCategoryId'] as $key => $catId) {
             $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($catId));
             switch ($_GET['multi']) {
                 case 'delete':
                     $status = $objCategory->delete() ? true : false;
                     $messageVar = 'DELETED';
                     break;
                 case 'activate':
                     $objCategory->status = 0;
                     $status = $objCategory->switchStatus() ? true : false;
                     $messageVar = 'EDITED';
                     break;
                 case 'deactivate':
                     $objCategory->status = 1;
                     $status = $objCategory->switchStatus() ? true : false;
                     $messageVar = 'EDITED';
                     break;
             }
         }
         if ($status) {
             $this->okMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_' . $messageVar];
         } else {
             $this->errMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_' . $messageVar];
         }
     }
     if (isset($_GET['switch_status'])) {
         $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($_GET['switch_status']));
         if ($objCategory->switchStatus()) {
             $this->okMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_EDITED'];
         } else {
             $this->errMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_EDITED'];
         }
     }
     if (isset($_POST['submitCategoryList'])) {
         $status = true;
         foreach ($_POST['categoryOrder'] as $catId => $order) {
             $objCategory = new \Cx\Modules\Calendar\Controller\CalendarCategory(intval($catId));
             if (!$objCategory->saveOrder(intval($order))) {
                 $status = false;
             }
         }
         if ($status) {
             $this->okMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_SUCCESSFULLY_EDITED'];
         } else {
             $this->errMessage = $_ARRAYLANG['TXT_CALENDAR_CATEGORY_CORRUPT_EDITED'];
         }
     }
     $this->_objTpl->loadTemplateFile('module_calendar_categories.html');
     $this->_pageTitle = $_ARRAYLANG['TXT_CALENDAR_CATEGORIES'];
     $this->_objTpl->setGlobalVariable(array('TXT_' . $this->moduleLangVar . '_CATEGORIES' => $this->_pageTitle, 'TXT_' . $this->moduleLangVar . '_STATUS' => $_ARRAYLANG['TXT_CALENDAR_STATUS'], 'TXT_' . $this->moduleLangVar . '_SORT' => $_ARRAYLANG['TXT_CALENDAR_SORTING'], 'TXT_' . $this->moduleLangVar . '_TITLE' => $_ARRAYLANG['TXT_CALENDAR_TITLE'], 'TXT_' . $this->moduleLangVar . '_EVENTS' => $_ARRAYLANG['TXT_CALENDAR_EVENTS'], 'TXT_' . $this->moduleLangVar . '_EDIT' => $_ARRAYLANG['TXT_CALENDAR_EDIT'], 'TXT_' . $this->moduleLangVar . '_SAVE' => $_ARRAYLANG['TXT_CALENDAR_SAVE'], 'TXT_' . $this->moduleLangVar . '_ACTION' => $_ARRAYLANG['TXT_CALENDAR_ACTION'], 'TXT_' . $this->moduleLangVar . '_EDIT' => $_ARRAYLANG['TXT_CALENDAR_EDIT'], 'TXT_' . $this->moduleLangVar . '_DELETE' => $_ARRAYLANG['TXT_CALENDAR_DELETE'], 'TXT_SELECT_ALL' => $_ARRAYLANG['TXT_CALENDAR_MARK_ALL'], 'TXT_DESELECT_ALL' => $_ARRAYLANG['TXT_CALENDAR_REMOVE_CHOICE'], 'TXT_SUBMIT_SELECT' => $_ARRAYLANG['TXT_SUBMIT_SELECT'], 'TXT_SUBMIT_ACTIVATE' => $_ARRAYLANG['TXT_SUBMIT_ACTIVATE'], 'TXT_SUBMIT_DEACTIVATE' => $_ARRAYLANG['TXT_SUBMIT_DEACTIVATE'], 'TXT_SUBMIT_DELETE' => $_ARRAYLANG['TXT_SUBMIT_DELETE'], 'TXT_' . $this->moduleLangVar . '_CONFIRM_DELETE_DATA' => $_ARRAYLANG['TXT_CALENDAR_CONFIRM_DELETE_DATA'], 'TXT_' . $this->moduleLangVar . '_ACTION_IS_IRREVERSIBLE' => $_ARRAYLANG['TXT_CALENDAR_ACTION_IS_IRREVERSIBLE'], 'TXT_' . $this->moduleLangVar . '_INSERT_CATEGORY' => $_ARRAYLANG['TXT_CALENDAR_INSERT_CATEGORY'], 'TXT_' . $this->moduleLangVar . '_MAKE_SELECTION' => $_ARRAYLANG['TXT_CALENDAR_MAKE_SELECTION']));
     $objCategoryManager = new \Cx\Modules\Calendar\Controller\CalendarCategoryManager();
     $objCategoryManager->getCategoryList();
     $objCategoryManager->showCategoryList($this->_objTpl);
 }