public function newAction()
 {
     /**
      * Check permission
      */
     if (false == $this->checkPermission('new_scontent', null, '?')) {
         $this->_forwardToNoPermissionPage();
         return;
     }
     $data = $this->_getParam('data', false);
     /**
      * Get all categories
      */
     $objCat = new Models_ScontentCategory();
     $allCats = $objCat->getAll(array('sorting ASC'))->toArray();
     /**
      * Get all display languages
      */
     $objLang = new Models_Lang();
     $allLangs = $objLang->getAll(array('sorting ASC'))->toArray();
     /**
      * Check permisison for each language
      */
     foreach ($allLangs as $index => $lang) {
         if (false == $this->checkPermission('new_scontent', null, $lang['lang_id'])) {
             /**
              * Disappaer this language
              */
             unset($allLangs[$index]);
         }
     }
     $errors = array();
     if (false !== $data) {
         /**
          * Insert new content
          */
         $objScontent = new Models_Scontent();
         $objScontentLang = new Models_ScontentLang();
         if (true == $this->checkPermission('new_scontent', null, '*')) {
             $newScontent = array('scontent_category_id' => $data['scontent_category_id'], 'enabled' => $data['enabled'], 'publish_up_date' => $data['publish_up_date'], 'publish_down_date' => $data['publish_down_date'], 'sorting' => $data['sorting'], 'created_date' => time());
         } else {
             $defaultCat = current($allCats);
             $newScontent = array('scontent_category_id' => $defaultCat['scontent_category_id'], 'enabled' => 0, 'publish_up_date' => null, 'publish_down_date' => null, 'sorting' => 1, 'created_date' => time());
         }
         /**
          * Change format date
          */
         if (null == $newScontent['publish_up_date']) {
             unset($newScontent['publish_up_date']);
         } else {
             $tmp = explode('/', $newScontent['publish_up_date']);
             $newScontent['publish_up_date'] = mktime(0, 0, 0, $tmp[0], $tmp[1], $tmp[2]);
         }
         if (null == $newScontent['publish_down_date']) {
             unset($newScontent['publish_down_date']);
         } else {
             $tmp = explode('/', $newScontent['publish_down_date']);
             $newScontent['publish_down_date'] = mktime(0, 0, 0, $tmp[0], $tmp[1], $tmp[2]);
         }
         /**
          * Sorting
          */
         if (null == $newScontent['sorting']) {
             unset($newScontent['sorting']);
         }
         /**
          * Check URL for all language contents
          */
         $errors = true;
         $isDefaultLang = true;
         foreach ($allLangs as $lang) {
             if (true == $isDefaultLang) {
                 $isDefaultLang = false;
                 if (null == @$data[$lang['lang_id']]['title']) {
                     $errors[] = "You don't enter any content";
                 }
             }
             /**
              * Check to ensure no same URL exists
              */
             $existUrl = $objScontentLang->getByColumnName(array('lang_id' => $lang['lang_id'], 'category_alias' => @$data[$lang['lang_id']]['category_alias'], 'alias' => @$data[$lang['lang_id']]['alias']));
             if (count($existUrl) > 0) {
                 /**
                  * Alias exist
                  */
                 $errors[] = "URL you enter exist";
             }
         }
         if (true === $errors) {
             try {
                 /**
                  * Increase all current sortings
                  */
                 if (1 > $newScontent['sorting']) {
                     $newScontent['sorting'] = 1;
                 }
                 $objScontent->increaseSorting($newScontent['sorting'], 1);
                 $id = $objScontent->insert($newScontent);
                 foreach ($allLangs as $lang) {
                     if (null == @$data[$lang['lang_id']]['title']) {
                         continue;
                     }
                     $newScontentLang = array('scontent_id' => $id, 'lang_id' => $lang['lang_id'], 'enabled' => @$data[$lang['lang_id']]['enabled'], 'title' => @$data[$lang['lang_id']]['title'], 'category_alias' => @$data[$lang['lang_id']]['category_alias'], 'alias' => @$data[$lang['lang_id']]['alias'], 'url' => trim(@$data[$lang['lang_id']]['category_alias'] . '/' . @$data[$lang['lang_id']]['alias'], '/'), 'intro_text' => @$data[$lang['lang_id']]['intro_text'], 'full_text' => @$data[$lang['lang_id']]['full_text'], 'param' => @$data[$lang['lang_id']]['param'], 'meta_data' => @$data[$lang['lang_id']]['meta_data']);
                     $objScontentLang->insert($newScontentLang);
                 }
                 $this->_redirect('scontent/admin/manager');
             } catch (Exception $e) {
                 $errors = array('main' => Vi_Language::translate('Can not insert into database now'));
             }
         }
     } else {
         $data = array('sorting' => 1);
     }
     /**
      * Prepare for template
      */
     $this->view->allCats = $allCats;
     $this->view->allLangs = $allLangs;
     $this->view->errors = $errors;
     $this->view->data = $data;
     $this->view->headTitle(Vi_Language::translate('New article'));
     $this->view->menu = array('scontent', 'new');
     $this->view->fullPermisison = $this->checkPermission('new_scontent', null, '*');
 }