Example #1
0
 public function RightColumnContent()
 {
     if (in_array($this->Action, array('view', 'edit', 'add'))) {
         $languages = Db_Language::getLanguageWithKey();
         $this->TPL->assign('languages', $languages);
     }
     if (in_array($this->Action, array('view', 'edit'))) {
         $banner = Db_Banners::getObjectById($this->Id);
         $banner_trans = Db_BannerTrans::getTransById($this->Id);
         $this->TPL->assign('banner', $banner);
         $this->TPL->assign('banner_trans', $banner_trans);
     }
     switch ($this->Action) {
         case 'delete':
             if ($this->Id != 0) {
                 Db_Banners::deleteByField('id', $this->Id);
                 Db_BannerTrans::deleteByField('bt_banner_id', $this->Id, 0);
                 $this->rrmdir(BASE_PATH . 'files/' . $this->img_path . $this->Id, true);
                 $this->Msg->SetMsg($this->_T('success_item_deleted'));
                 $this->Redirect($this->PageUrl);
             }
             break;
         case 'save':
             $banner = new Db_Banners($this->DB, $this->Id, 'id');
             $banner->b_published = isset($_POST['b_published']) ? 1 : 0;
             $banner->b_url = getPost('b_url');
             $banner->b_key = getPost('b_key');
             $banner->save();
             $bt_h1 = getPost('bt_h1');
             $bt_h2 = getPost('bt_h3');
             $bt_h3 = getPost('bt_h3');
             foreach ($bt_h1 as $lang => $title) {
                 $banner_trans = new Db_BannerTrans();
                 $banner_trans->findByFields(array('bt_banner_id' => $banner->id, 'bt_lang_id' => $lang));
                 $banner_trans->bt_banner_id = $banner->id;
                 $banner_trans->bt_lang_id = $lang;
                 $banner_trans->bt_h1 = $bt_h1[$lang];
                 $banner_trans->bt_h2 = $bt_h2[$lang];
                 $banner_trans->bt_h3 = $bt_h3[$lang];
                 $banner_trans->save();
             }
             if (!empty($_FILES['b_image']) && $_FILES['b_image']['error'] == 0) {
                 $image = Db_Banners::getImageById($banner->id);
                 $path = BASE_PATH . 'files' . $this->img_path . $banner->id . DS;
                 if (is_dir($path)) {
                     Upload::deleteImage($path, $image, $this->img_sizes);
                 }
                 if ($image = Upload::uploadImage($path, $_FILES['b_image'], 'image', $this->img_sizes, 'crop')) {
                     $banner->b_image = $image;
                     $banner->save();
                 }
             }
             $this->Msg->SetMsg($this->_T('success_item_saved'));
             $this->Redirect($this->PageUrl . '?action=view&id=' . $banner->id);
             break;
         default:
             $Objects = Db_Banners::getObjects();
             $ObjectsTrans = Db_BannerTrans::getTransByLang($this->LangId);
             $ListGrid = false;
             if ($Objects) {
                 $ListGrid = new TGrid();
                 $ListGrid->Spacing = 0;
                 $ListGrid->Width = '100%';
                 $ListGrid->SetClass('table table-bordered table-highlight-head');
                 $ListGrid->AddHeaderRow($this->_T('id'), $this->_T('Key'), $this->_T('H1'), $this->_T('H2'), $this->_T('H3'), $this->_T('Published'), $this->_T('actions'));
                 $ListGrid->BeginBody();
                 foreach ($Objects as $Object) {
                     $Grid_TR = new TGrid_TTR();
                     $Grid_TD = new TGrid_TTD($Object['id'] . getButton('view', $this->PageUrl, 'view', $Object['id']));
                     $Grid_TD->AddAttr(new TAttr('class', 'col-md-1'));
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD($this->_T($Object['b_key']));
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD($ObjectsTrans[$Object['id']]['bt_h1']);
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD($ObjectsTrans[$Object['id']]['bt_h2']);
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD($ObjectsTrans[$Object['id']]['bt_h3']);
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD($Object['b_published'] == 1 ? $this->_T('yes') : $this->_T('no'));
                     $Grid_TD->AddAttr(new TAttr('class', 'col-md-1'));
                     $Grid_TR->Add($Grid_TD);
                     $Grid_TD = new TGrid_TTD(getButton('edit', $this->PageUrl, 'edit', $Object['id']) . getButton('delete', $this->PageUrl, 'delete', $Object['id']));
                     $Grid_TD->AddAttr(new TAttr('class', 'align-center col-md-1'));
                     $Grid_TR->Add($Grid_TD);
                     $ListGrid->AddTR($Grid_TR);
                 }
                 $ListGrid->EndBody();
                 $ListGrid = $ListGrid->Html();
             }
             $this->TPL->assign('ListGrid', $ListGrid);
             break;
     }
     $msg = $this->Msg->Html();
     $this->TPL->assign('msg', $msg);
     $this->TPL->assign('Action', $this->Action);
     $result = $this->TPL->display(null, true);
     $this->Msg->Clear();
     return $result;
 }