public static function finalSet($category, $key, $value, $hint, $type) { $connection = self::getDbComponent(); $command = $connection->createCommand('SELECT id FROM ' . self::getSettingsTable() . ' WHERE `' . self::$categoryField . '`=:cat AND `key`=:key LIMIT 1'); $command->bindParam(':cat', $category); $command->bindParam(':key', $key); $result = $command->queryRow(); if (empty($type)) { $type = Awecms::typeOf($value); } //serialize if it's an array or object if (in_array($type, array('array', 'object'))) { $value = @serialize($value); } if (!empty($result)) { $command = $connection->createCommand('UPDATE ' . self::getSettingsTable() . ' SET `value`=:value WHERE `' . self::$categoryField . '`=:cat AND `key`=:key'); } else { $command = $connection->createCommand('INSERT INTO ' . self::getSettingsTable() . ' (`' . self::$categoryField . '`,`key`,`value`,`type`,`hint`) VALUES(:cat,:key,:value,:type,:hint)'); $command->bindParam(':type', $type); $command->bindParam(':hint', $hint); } $command->bindParam(':cat', $category); $command->bindParam(':key', $key); $command->bindParam(':value', $value); $command->execute(); }