function index()
 {
     if ($this->request->is_post()) {
         $preference = new Preference($_POST);
         $preference->save();
     }
     $preference_factory = new Preference();
     $preferences = $preference_factory->find_all();
     $this->preference = $preferences[0];
 }
Esempio n. 2
0
 protected function processForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         $notice = $form->getObject()->isNew() ? 'Элемент создан успешно.' : 'Элемент изменен успешно.';
         $form->getObject()->setCompanyId($request->getParameter('element_company'));
         $form->getObject()->setPriceType($request->getParameter('element_price_type'));
         if ($form->getObject()->isNew()) {
             $form->getObject()->setDateCreated(time());
         }
         $form->getObject()->setDateUpdated(time());
         $form->getObject()->setCategoryId($request->getParameter('element_category_id'));
         $Element = $form->save();
         foreach ((array) $request->getParameter('element_file') as $key => $value) {
             if (isset($value['delete'])) {
                 $file_delete = ElementFilePeer::retrieveByPk($key);
                 $file_delete->delete();
             }
         }
         foreach ((array) $request->getFiles('element_file') as $key => $value) {
             list($type, $ext) = explode('/', $value['type']);
             if (isset($value['id']) and $value['id'] != 0) {
                 $file = ElementFilePeer::retrieveByPk($value['id']);
             } else {
                 $file = new ElementFile();
             }
             $file->setElementId($Element->getId());
             $file->setName(md5(time()) . '.' . $ext);
             $file->setFileType($type == 'image' ? 1 : 2);
             $file->save(null, $value);
         }
         foreach ((array) $request->getParameter('element_preference') as $key => $value) {
             if (isset($value['id']) and $value['id'] != 0) {
                 $preference = PreferencePeer::retrieveByPk($value['id']);
             } else {
                 $preference = new Preference();
             }
             $preference->setElementId($Element->getId());
             $preference->setCategoryPreferenceId($value['category_preference_id']);
             $preference->setValue(isset($value['value']) ? $value['value'] : 0);
             $preference->save();
         }
         $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $Element)));
         if ($request->hasParameter('_save_and_add')) {
             $this->getUser()->setFlash('notice', $notice . ' Можно добавить еще один.');
             $this->redirect('@element_new');
         } else {
             $this->getUser()->setFlash('notice', $notice);
             $this->redirect(array('sf_route' => 'element_edit', 'sf_subject' => $Element));
         }
     } else {
         $this->getUser()->setFlash('error', 'Эелемент не сохранен, так как некоторые поля заполненны не верно!', false);
     }
 }
Esempio n. 3
0
 protected function processForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         $notice = $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.';
         $Element = $form->save();
         foreach ((array) $request->getParameter('element_preference') as $key => $value) {
             if (isset($value['id']) and $value['id'] != 0) {
                 $preference = PreferencePeer::retrieveByPk($value['id']);
             } else {
                 $preference = new Preference();
             }
             $preference->setElementId($Element->getId());
             $preference->setCategoryPreferenceId($value['category_preference_id']);
             $preference->setValue(isset($value['value']) ? $value['value'] : 0);
             $preference->save();
         }
         $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $Element)));
         if ($request->hasParameter('_save_and_add')) {
             $this->getUser()->setFlash('notice', $notice . ' You can add another one below.');
             $this->redirect('@element_new');
         } else {
             $this->getUser()->setFlash('notice', $notice);
             $this->redirect(array('sf_route' => 'element_edit', 'sf_subject' => $Element));
         }
     } else {
         $this->getUser()->setFlash('error', 'The item has not been saved due to some errors.', false);
     }
 }
 public function actionPreferences()
 {
     $project = $_POST['project'];
     $userId = Yii::app()->user->id;
     $preference = Preference::model()->find("hideProject = '{$project}' AND userId = {$userId}");
     if ($preference) {
         $preference->delete();
         echo "deletion ok";
     } else {
         $model = new Preference();
         $model->hideProject = $_POST['project'];
         if ($model->save()) {
             echo "insertion ok";
         } else {
             throw new CHttpException(404, 'Error.');
         }
     }
 }
 public function actionPreferences()
 {
     $project = $_POST['project'];
     $hide = $_POST['hide'];
     $userId = Yii::app()->user->id;
     $preference = Preference::model()->find("hideProject = '{$project}' AND userId = {$userId}");
     if (!isset($hide)) {
         if ($preference) {
             $preference->delete();
             echo "deletion ok";
         } else {
             $model = new Preference();
             $model->hideProject = $_POST['project'];
             if ($model->save()) {
                 echo "insertion ok";
             } else {
                 throw new CHttpException(404, 'Error.');
             }
         }
     } else {
         if ($hide == 0) {
             if ($preference) {
                 $preference->delete();
                 echo "deletion ok";
             }
         } else {
             //throw new CHttpException(666, 'VEDIAMO COSA SCRIVE');
             if (!$preference) {
                 $model = new Preference();
                 $model->hideProject = $project;
                 if ($model->save()) {
                     echo "insertion ok";
                 } else {
                     throw new CHttpException(404, 'Error.');
                 }
             }
         }
     }
 }
Esempio n. 6
0
 public function actionPreference()
 {
     $openidurl = Yii::app()->user->id;
     if ($openidurl == null) {
         throw new CHttpException(401, 'Not authorised');
     }
     $model = new Preference();
     $saved_model = Preference::model()->findByOpenId($openidurl);
     if ($saved_model != null) {
         $model =& $saved_model;
     }
     $categories = Category::model()->getAllCategories();
     //$model->email_newsletter=true;
     if (isset($_POST['Preference'])) {
         $model->attributes = $_POST['Preference'];
         $model->openidurl = $openidurl;
         $model->save();
         $this->render('preference', array('model' => $model));
     } else {
         $this->render('preference', array('model' => $model));
     }
 }
 public function executeSavePreferences()
 {
     sfLoader::loadHelpers('I18N');
     $criteria = new Criteria();
     $criteria->add(PreferencePeer::USER_ID, $this->getUser()->getId());
     $preferences = PreferencePeer::doSelect($criteria);
     foreach ($preferences as $preference) {
         $preference->delete();
     }
     $this->msg = __('Preferences saved.');
     if (($preference = $this->getUser()->getPreference('box_user')) != sfConfig::get('app_preference_box_user')) {
         $this->msg .= "\napp_preference_box_user : "******"\napp_preference_box_snippets : " . ($preference == 'none' ? __('do not display') : __('display'));
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_snippets');
         $p->setValue($preference);
         $p->save();
     }
     if (($preference = $this->getUser()->getPreference('box_language_cloud')) != sfConfig::get('app_preference_box_language_cloud')) {
         $this->msg .= "\napp_preference_box_language_cloud : " . ($preference == 'none' ? __('do not display') : __('display'));
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_language_cloud');
         $p->setValue($preference);
         $p->save();
     }
     if (($preference = $this->getUser()->getPreference('box_tag_cloud')) != sfConfig::get('app_preference_box_tag_cloud')) {
         $this->msg .= "\napp_preference_box_tag_cloud : " . ($preference == 'none' ? __('do not display') : __('display'));
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_tag_cloud');
         $p->setValue($preference);
         $p->save();
     }
     if (($preference = $this->getUser()->getPreference('box_snippets_size')) != sfConfig::get('app_preference_box_snippets_size')) {
         $this->msg .= "\napp_preference_box_snippets_size : " . $preference;
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_snippets_size');
         $p->setValue($preference);
         $p->save();
     }
     if (($preference = $this->getUser()->getPreference('search_size')) != sfConfig::get('app_preference_search_size')) {
         $this->msg .= "\napp_preference_search_size : " . $preference;
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_search_size');
         $p->setValue($preference);
         $p->save();
     }
     if (($preference = $this->getUser()->getPreference('box_order')) != sfConfig::get('app_preference_box_order')) {
         $order_str = "";
         foreach ($preference as $order_no) {
             $order_str .= "{$order_no}, ";
         }
         $order_str = substr($order_str, 0, strlen($order_str) - 2);
         $p = new Preference();
         $p->setUserId($this->getUser()->getId());
         $p->setName('box_order');
         $p->setValue($order_str);
         $p->save();
         $this->msg .= "\napp_preference_box_order : " . $order_str;
     }
 }