debug=='1'){ require_once MYDIR . '/../../api/php/log.php'; $log1 = new save_log; $log1->file_name = @MOD; $log1->print_log($sql); } if ($this->debug=='2')echo $sql; } function replacer_param_xml ($text) { // ФУНКЦИЯ очистки кода для xml $old1 = array("<", ">", "/");#Ищем вредное ">",, "<" $new1 = array("", "", "");#Меняем на полезное">", , "<" $text = str_replace($old1, $new1, $text);#Собсно сама замена =) $this -> tmp = $text; } /* коннект к бд */ function connect($host,$login_mysql,$password_mysql,$baza_name) { $db = @mysql_connect($host, $login_mysql, $password_mysql); mysql_set_charset('utf8',$db); if (!$db) exit("
Sorry, not available MySQL server
"); if (!@mysql_select_db($baza_name,$db)) exit("Unfortunately, the database is not available
"); } //Изменение базы function change_db( $baza_name ) { if (!@mysql_select_db($baza_name)) exit("Нет такой базы данных
"); } function get_massiv($table, $where='', $order='', $limit='', $collums='*'){ $debug=$this->debug; @$or_by_desc=$this->or_by_desc; /*where - массив колонок и желаемых значений*/ $sql='SELECT ' . $collums . ' FROM `' . $table . '`'; if ($where){ $sql.=' WHERE '; foreach ($where as $key => $value) @$str.=' `' . mysql_real_escape_string($key) . '` = "' . mysql_real_escape_string($value) . '" AND '; /* отрезаем лишнее */ $len = strlen( $str )-4; $sql .= substr( $str, 0, $len ); } /* выясняем сортировку */ if ( $order ) $sql .= ' ORDER BY `' . $order . '` '; if (@$or_by_desc==1)$sql.=' DESC '; if ( $limit ) $sql .= ' LIMIT ' . $limit; /* если указан дебаг, пишем в лог */ if ($debug)$this->to_log($sql); /* наконец то запрашиваем */ $result=mysql_query($sql); $this -> num = mysql_numrows( $result ); while ( $postrow[] = mysql_fetch_array($result));/*Кидаем в переменную*/ $this -> result = $postrow; // unset($postrow); return $postrow; //echo $postrow; } /* выборка по лайку */ function get_massiv_like($table, $where='', $order='', $limit='', $collums='*'){ $debug=$this->debug; $or_by_decs=$this->or_by_decs; /*where - массив колонок и желаемых значений*/ $sql='SELECT ' . $collums . ' FROM `' . $table . '`'; if ($where){ $sql.=' WHERE '; foreach ($where as $key => $value) @$str.=' `' . mysql_real_escape_string($key) . '` LIKE "%' . mysql_real_escape_string($value) . '%" AND '; /* отрезаем лишнее */ $len = strlen( $str )-4; $sql .= substr( $str, 0, $len ); } /* выясняем сортировку */ if ( $order ) $sql .= ' ORDER BY `' . $order . '` '; if ($or_by_desc==1)$sql.=' DESC '; if ( $limit ) $sql .= ' LIMIT ' . $limit; /* если указан дебаг, пишем в лог */ if ($debug)$this->to_log($sql); /* наконец то запрашиваем */ $result=mysql_query($sql); $this -> num = mysql_numrows( $result ); while ( $postrow[] = mysql_fetch_array($result));/*Кидаем в переменную*/ $this -> result = $postrow; unset($postrow); } /* простой запрос - одно значение, по одному запросу */ function get_val($table, $where, $collum){ $debug=$this->debug; foreach ($where as $key => $value) @$str.=' `' . mysql_real_escape_string($key) . '` = "' . mysql_real_escape_string($value) . '" AND '; $len = strlen( $str )-4; $str2 = substr( $str, 0, $len ); $sql = 'SELECT `' . $collum . '` FROM `' . $table . '` WHERE ' . $str2 . ' LIMIT 1'; /* если указан дебаг, пишем в лог */ if ($debug)$this->to_log($sql); $result = mysql_query( $sql ); $this -> result = @mysql_result( $result, 0 ); return $this -> result; } /* Функция добавления контента */ function add($tab, $massiv) { $debug=$this->debug; foreach ($massiv as $key => $value) { if ($key!='ok'){ @$tabs.='`' . mysql_real_escape_string($key) . '`, '; @$val.='"' . mysql_real_escape_string($value) . '", '; } } $tabs=substr($tabs, 0, strlen($tabs)-2); $val=substr($val, 0, strlen($val)-2); $sql='insert into `' . $tab . '` (' . $tabs . ') VALUES (' . $val . ')'; mysql_query($sql); if ($debug)$this->to_log($sql); $this -> id = mysql_insert_id(); } /* функция обновления таблиц по ИД */ function update($tab, $id, $massiv) { $debug=$this->debug; foreach ($massiv as $key => $value) { if ($key!='ok') @$res.='`' . mysql_real_escape_string($key) . '` = "' . mysql_real_escape_string($value) . '", '; } $res=substr($res, 0, strlen($res)-2); $sql='UPDATE `' . $tab . '` SET ' . $res . ' WHERE `id` = "' . $id . '"'; mysql_query($sql); if ($debug)$this->to_log($sql); } /* функция обновления таблиц по ИД в формате XML */ function update_xml($tab, $id, $massiv, $base64=0) { $debug=$this->debug; if ($base64==1){ foreach ($massiv as $key => $value) { if ($key!='ok') $res.='<' . mysql_real_escape_string($key) . '>' . base64_encode( mysql_real_escape_string($value) ) . '' . mysql_real_escape_string($key) . '>'; } }else{ foreach ($massiv as $key => $value) { if ($key!='ok') $res.='<' . mysql_real_escape_string($key) . '>' . mysql_real_escape_string($value) . '' . mysql_real_escape_string($key) . '>'; } } $sql='UPDATE `' . $tab . '` SET `xml` = "' . $res . '" WHERE `id` = "' . $id . '"'; // echo $sql; mysql_query($sql); if ($debug)$this->to_log($sql); } /* Функция добавления контента */ function add_xml($tab, $massiv, $base64) { $debug=$this->debug; if ($base64==1){ foreach ($massiv as $key => $value) { if ($key!='ok') $res.='<' . mysql_real_escape_string($key) . '>' . base64_encode(mysql_real_escape_string($value)) . '' . mysql_real_escape_string($key) . '>';}} else{ foreach ($massiv as $key => $value) { if ($key!='ok') $res.='<' . mysql_real_escape_string($key) . '>' . mysql_real_escape_string($value) . '' . mysql_real_escape_string($key) . '>';} } $sql='insert into `' . $tab . '` (`xml`) VALUES ("' . $res . '")'; mysql_query($sql); if ($debug)$this->to_log($sql); $this -> id = mysql_insert_id(); } /* функция удаления по ИД */ function del_id ( $tab, $id ) { $debug = $this -> debug; $sql='DELETE FROM `' . $tab . '` WHERE `id` = "' . mysql_real_escape_string( $id ) . '"'; mysql_query( $sql ); if ( $debug ) $this -> to_log ( $sql ); } function free_sql ( $sql ) { $debug = $this -> debug; return mysql_query( $sql ); if ( $debug ) $this -> to_log ( $sql ); } /*счетчик записей*/ function count_sql($tab, $where) { $debug=$this->debug; /*where - массив колонок и желаемых значений*/ $sql='SELECT COUNT(*) FROM `' . $tab . '`'; if ($where){ $sql.=' WHERE '; foreach ($where as $key => $value) @$str.=' `' . mysql_real_escape_string($key) . '` = "' . mysql_real_escape_string($value) . '" AND '; /* отрезаем лишнее */ $len = strlen( $str )-4; $sql .= substr( $str, 0, $len ); } if ($debug)$this->to_log($sql); /* наконец то запрашиваем */ $result=mysql_query($sql); $this -> result = mysql_result($result, 0); unset($postrow); return $this->result; } /* не в тему - но пусть письмо админу будет здесь*/ function send_to_admin($tema, $txt, $email) { include_once MYDIR . '/api/php/sendmail.php'; send_mime_mail( $_SERVER['SERVER_NAME'], 'info@' . $_SERVER['SERVER_NAME'], 'Вы', $email, 'UTF-8', // кодировка, в которой находятся передаваемые строки 'WINDOWS-1251', // кодировка, в которой будет отправлено письмо $tema, $txt); } /* функция получения настроек модуля */ function get_settings($mod){ unset($a); $a['mod'] = $mod; $xml = $this -> get_val( 'settings', $a, 'xml' ); require_once MYDIR . '/api/php/parsexml.php'; $parce = new parsexml; $parce -> make_massiv ( $xml ); $arr = $parce -> res; unset($tmp); foreach ( $arr as $key => $value ) $tmp[$key] = $value; if (!$tmp)$this->free_sql("INSERT INTO `settings` (`mod`)VALUES ('" . $mod . "');"); else return $tmp; /* $tmp=$db->get_settings('im'); $smarty->assign('im_settings', $tmp); */ } /* Берем двухмерный массив данных $db = new MySQL; $db->connect('localhost','root','','b-install'); $st['id']=1; - какие колонки с каким значением нужны $db -> debug = 2;// 1- пишет лог, 2 показывает на экране $db -> get_massiv ( 'pages', $st, $order, $limit ); //исполняем функцию с параметрами $massiv = $db->result; //получаем результат */ } ?>