46 lines
2.0 KiB
PHP
Executable File
46 lines
2.0 KiB
PHP
Executable File
<?php
|
||
class main{
|
||
var $db; // Здесь объект для работы с MySQL
|
||
var $id;
|
||
function __construct($smarty, $settings, $db){
|
||
$this->db=$db;
|
||
}
|
||
|
||
function clear($text){
|
||
$old1 = array('"');
|
||
$new1 = array('\"');
|
||
$text = str_replace($old1, $new1, $text);#Собсно сама замена =)^M
|
||
return $text;
|
||
}
|
||
/* обновляем строки в таблице content */
|
||
function updateString($post){
|
||
$db=$this->db;
|
||
//если нет поля, пробуем создать
|
||
$db->free_sql2("ALTER TABLE `content` ADD `" . $post['name'] . "` varchar(254) COLLATE 'utf8_general_ci' NULL;");
|
||
//узнаем ид и содержимое и обновляем таблицу
|
||
unset($a);
|
||
$a[$post['name']]=$post['txt'];
|
||
$db->update('content', $post['id'], $a);
|
||
|
||
}
|
||
/* обновляем json */
|
||
function updateJson($post){
|
||
$db=$this->db;
|
||
//вынимаем массив
|
||
$a['id']=$post['id'];
|
||
$json=unserialize($db->get_val('content', $a, 'json'));
|
||
//меняем переменную в нужном ключе
|
||
$json[$post['name']]=$post['txt'];
|
||
//сохраняем массив
|
||
$db->free_sql2('UPDATE `content` SET `json` = "' . $this->clear(serialize($json)) . '" WHERE `id` = ' . $post['id'] . ';');
|
||
}
|
||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||
function update($post, $file=''){ // Точка входа
|
||
//Определяем тип контента... строка, текст ареа или json, может быть когда нибудь и xml и base64
|
||
if ($post['type']=="string")$this->updateString($post);
|
||
if ($post['type']=="json")$this->updateJson($post);
|
||
if ($post['type']=="textarea")$this->updateTextarea($post);
|
||
if ($file)$this->upload($file);
|
||
}
|
||
}
|
||
?>
|