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