Пример #1
0
 public static function updateOptionTemplate($options, $id, $companyId, $updateAdminOptions = true)
 {
     $webapp = Yii::app()->user;
     foreach ($options as $key => $option) {
         if (($updateAdminOptions || $option[5] == 'false') && $option[3] == 'false') {
             $foundOption = Options::model()->find('name=:name AND userId=:id AND companyId=:compid', array(':name' => $key, ':id' => $id, ':compid' => $companyId));
             if ($foundOption === null) {
                 $createOption = new Options();
                 $createOption->name = $key;
                 $createOption->userId = $id;
                 $createOption->companyId = $companyId;
                 $foundOption = $createOption;
             }
             switch ($option[0]) {
                 case 'STRING':
                 case 'DROP_DOWN_LIST':
                 case 'INTEGER':
                 case 'FLOAT':
                 case 'DATE':
                     $foundOption->datavalue = $_POST['option_' . $foundOption->name];
                     break;
                 case 'BOOLEAN':
                     $foundOption->datavalue = isset($_POST['option_' . $foundOption->name]) && $_POST['option_' . $foundOption->name] == 1 ? 'true' : 'false';
                     break;
             }
             if ($foundOption->name == 'NonStandardNumberDecimalFormat' || $foundOption->name == 'NonStandardNumberDecimalFormat') {
                 if (Yii::app()->user->getState('allowAdmin')) {
                     $foundOption->save();
                 }
             } else {
                 $foundOption->save();
             }
             if ($id == $webapp->id || $id == 0) {
                 $webapp->setState($key, User::convertOptionToObject($foundOption->datavalue, $option));
             }
         }
     }
 }