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(); } } }