public function init()
 {
     // --- Организации
     $c_id = Campaign::getId();
     if ($c_id) {
         Payment::$table_prefix = $c_id . '_';
         //Profile::$table_prefix = $c_id.'_';
         //ProfileField::$table_prefix = $c_id.'_';
         ProjectChanges::$table_prefix = $c_id . '_';
         ProjectChanges::$file_path = 'uploads/c' . $c_id . '/changes_documents';
         //ProjectMessages::$table_prefix = $c_id.'_';
         ProjectPayments::$table_prefix = $c_id . '_';
         Zakaz::$table_prefix = $c_id . '_';
         Zakaz::$files_folder = '/uploads/c' . $c_id . '/';
         Events::$table_prefix = $c_id . '_';
         ZakazParts::$table_prefix = $c_id . '_';
         UpdateProfile::$table_prefix = $c_id . '_';
         ZakazPartsFiles::$table_prefix = $c_id . '_';
         PaymentImage::$table_prefix = $c_id . '_';
         Emails::$table_prefix = $c_id . '_';
         Yii::app()->language = Campaign::getLanguage();
     } else {
         ProjectChanges::$file_path = 'uploads/changes_documents';
     }
     // ---
     if (!Yii::app()->user->isGuest) {
         switch (User::model()->getUserRole()) {
             case 'Manager':
             case 'Admin':
                 Yii::app()->theme = 'admin';
                 break;
             case 'Author':
                 $this->menu = array(array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/ownList')), array('label' => Yii::t('site', 'New projects'), 'url' => array('/project/zakaz/list')), array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit')), array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')));
                 $this->authMenu = array(array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')));
                 Yii::app()->theme = 'client';
                 break;
             case 'Customer':
                 $this->menu = array(array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/customerOrderList')), array('label' => Yii::t('site', 'Create order'), 'url' => array('/project/zakaz/create')), array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit')), array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')));
                 $this->authMenu = array(array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')));
                 Yii::app()->theme = 'client';
                 break;
         }
     }
     //		var_dump(Yii::app()->controller->module->id ,Yii::app()->controller->id, Yii::app()->controller->action->id);
     //		die();
 }
 public function init()
 {
     // --- Организации
     $c_id = Company::getId();
     if ($c_id) {
         if (Company::getCompany()->frozen) {
             echo 'Where is my money, dude ?!?!?!';
             die;
         }
         ProjectChanges::$file_path = 'uploads/c' . $c_id . '/changes_documents';
         Zakaz::$files_folder = '/uploads/c' . $c_id . '/';
         Yii::app()->language = Company::getLanguage();
     } else {
         $tmp = explode('.', $_SERVER['SERVER_NAME']);
         if (array_shift($tmp) == 'www') {
             $this->redirect('http://' . implode('.', $tmp));
         } else {
             echo 'Requested company not found.';
         }
         Yii::app()->end();
     }
     // ---
     if (!Yii::app()->user->isGuest) {
         switch (User::model()->getUserRole()) {
             case 'Manager':
             case 'Admin':
             case 'root':
                 Yii::app()->theme = 'admin';
                 break;
             case 'Author':
                 $menu[] = array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/ownList'));
                 $menu[] = array('label' => Yii::t('site', 'New projects'), 'url' => array('/project/zakaz/list'));
                 if (User::model()->isCorrector()) {
                     $menu[] = array('label' => Yii::t('site', 'New projects for technical'), 'url' => array('/project/zakaz/listtech'));
                     //if (Company::getCompany()->module_tree) $menu[] = array('label'=>Yii::t('site','Tree structure'), 'url'=>array('/project/zakaz/tree'));
                 }
                 if (Company::getCompany()->agreement4executors && Company::getCompany()->agreement4executors != '') {
                     $menu[] = array('label' => Yii::t('site', 'User Agreement'), 'url' => array('/site/agreement'));
                 }
                 //$menu[] = array('label'=>Yii::t('site','Personal account'), 'url'=>array('/user/profile/account'));
                 $menu[] = array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'));
                 // Далее выводится в обратном порядке
                 $menu[] = array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit'));
                 $this->menu = $menu;
                 Yii::app()->theme = 'client';
                 break;
             case 'Customer':
                 $menu[] = array('label' => Yii::t('site', 'My orders'), 'url' => array('/project/zakaz/customerOrderList'));
                 if (Company::getCompany()->module_tree) {
                     $menu[] = array('label' => Yii::t('site', 'Tree structure'), 'url' => array('/project/zakaz/tree'));
                 }
                 $menu[] = array('label' => Yii::t('site', 'Create order'), 'url' => array('/project/zakaz/create'));
                 //$menu[] = array('label'=>Yii::t('site','Personal account'), 'url'=>array('/user/profile/account'));
                 if (Company::getCompany()->agreement4customers && Company::getCompany()->agreement4customers != '') {
                     $menu[] = array('label' => Yii::t('site', 'User Agreement'), 'url' => array('/site/agreement'));
                 }
                 $menu[] = array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout'));
                 // Даллее выводится в обратном порядке
                 $menu[] = array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit'));
                 $this->menu = $menu;
                 /*$this->authMenu = array(
                 		    array('label'=>Yii::t('site','Logout'), 'url'=>array('/user/logout')),
                 		);*/
                 Yii::app()->theme = 'client';
                 break;
             case 'Webmaster':
                 $this->menu = array(array('label' => Yii::t('site', 'Stats'), 'url' => array('/partner/stats')), array('label' => Yii::t('site', 'Promo materials'), 'url' => array('/partner/materials')), array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')), array('label' => Yii::t('site', 'Profile'), 'url' => array('/user/profile/edit')));
                 $this->authMenu = array(array('label' => Yii::t('site', 'Logout'), 'url' => array('/user/logout')));
                 Yii::app()->theme = 'client';
                 if (Yii::app()->getRequest()->getRequestUri() == '/project/zakaz/list') {
                     $this->redirect('/');
                 }
                 break;
         }
     }
     //		var_dump(Yii::app()->controller->module->id ,Yii::app()->controller->id, Yii::app()->controller->action->id);
     //		die();
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionAdd($project)
 {
     if (!Yii::app()->request->isAjaxRequest) {
         return false;
     }
     $c_id = Company::getId();
     if ($c_id) {
         ProjectChanges::$file_path = 'uploads/c' . $c_id . '/changes_documents';
     } else {
         ProjectChanges::$file_path = 'uploads/changes_documents';
     }
     $model = new ProjectChanges();
     $model->scenario = 'add';
     $model->project_id = (int) $project;
     if (isset($_POST['ProjectChanges'])) {
         $model->attributes = $_POST['ProjectChanges'];
         $model->fileupload = CUploadedFile::getInstance($model, 'fileupload');
         if (!empty($model->fileupload)) {
             //$model->file = 'no';
         } else {
             echo CJSON::encode(array('error' => array('text' => 'file-not-uploaded')));
             Yii::app()->end();
         }
         if (ProjectChanges::approveAllowed()) {
             $model->moderate = 1;
         } else {
             $model->moderate = 0;
         }
         if (!$model->validate()) {
             echo CJSON::encode(array('error' => array('text' => print_r($model->errors, true))));
             Yii::app()->end();
         }
         //echo CJSON::encode(array('error' => array('text' => 'Ups!')));
         //Yii::app()->end();
         try {
             if ($model->isAllowedAdd() && $model->save(false)) {
                 if (!(User::model()->isManager() || User::model()->isAdmin())) {
                     EventHelper::addChanges($model->project_id);
                 }
                 if ($model->moderate == 1) {
                     $orderModel = Zakaz::model()->findByPk($model->project_id);
                     $orderModel->setExecutorEvents(4);
                 }
                 echo CJSON::encode(array('success' => true));
                 Yii::app()->end();
             } else {
                 echo CJSON::encode(array('error' => array('text' => 'Вы не можете внести правки к этому проекту!')));
                 Yii::app()->end();
             }
         } catch (CException $e) {
             echo YII_DEBUG ? CJSON::encode(array('error' => array('text' => $e->getMessage()))) : CJSON::encode(array('error' => array('text' => 'Ошибка добавления!')));
             Yii::app()->end();
         }
     }
 }