Документ взят из кэша поисковой машины. Адрес оригинального документа : http://genphys.phys.msu.su/mikromag/catalog/index.php3
Дата изменения: Mon Nov 1 03:19:49 2010
Дата индексирования: Mon Oct 1 22:10:41 2012
Кодировка: Windows-1251

// create table cat_new (
// cat_sname varchar(20) not null,
// primary key (cat_sname),
// cat_sname_par varchar(20) not null,
// key (cat_sname_par),
// cat_name varchar(50),
// cat_desc text,
// cat_url varchar(100),
// cat_show_in_subcat tinyint default 1,
// cat_need_check tinyint default 1,
// cat_keywords text,
// cat_kto_dobavil varchar(50),
// cat_subcat text)


error_reporting(15);
//////////////////
//Скрипт отвечает за каталог

define("DBName","catalog");
define("HostName","localhost");
define("UserName","counter");
define("Password","counter");
define("Table","cat_new");

if(!mysql_connect(HostName,UserName,Password))
{ echo "Ошибка! Не могу соединиться с базой ".DBName."!
"; exit; }

// constant for function mysql_que
define("RetResult",1);
define("RetString",2);
define("RetNumRows",3);
define("CheckZeroRows", true);
define("NotCheckZeroRows", false);
define("DieOnZeroRows", true);
define("NotDieOnZeroRows", true);


// some constant for work
define("ColNum",3); // how many column number is in table
define("AdminEmail","bolnikh@genphys.phys.msu.su");



function mysql_que($que, $return_res=true, $mysql_err_msg="Ошибка mysql", $check_zero_rows=false,
$mysql_zero_rows_err_msg="", $die_on_zero_rows = false)
{
$res=mysql(DBName,$que);
if (mysql_errno() != 0) {
echo mysql_errno().": ".mysql_error()."
=>$mysql_err_msg";
exit;
}//if

if ($check_zero_rows == true) {
if (mysql_num_rows($res) == 0) {
if (!empty($mysql_zero_rows_err_msg)) {echo "
=> $mysql_zero_rows_err_msg"; }
if ($die_on_zero_rows == true) {exit; }
}//if
}//if


if ($return_res == 1) {
return $res;
}//if
if ($return_res ==2)
{
return mysql_fetch_array($res);
}//if
if ($return_res == 3)
{
return mysql_num_rows($res);
}//if
} //func








//-------------------------------
function str_repeat1($str,$num_rep)
{

if ($num_rep > 0)
{
$str_out=$str.str_repeat1($str,$num_rep-1);
}
else
{
$str_out="";
}//if
return $str_out;
}//str_repeat1






////////////////////////////////begin/////////////////

class cl_catalog
{ var $action, $cat_sname, $cat_sname_par, $cat_sname_prev, $cat_name, $cat_desc, $cat_url, $cat_show_in_subcat,
$cat_need_check, $cat_keywords, $cat_kto_dobavil, $num_rows, $otvet;

//------------------
function add_url_frm()
{
require("./add_url.htm");
}//add_url_frm
//---------------------------




//--------------------

function show_cat_list()
{
function make_sub_list($subcat)
{
if (empty($subcat)) { return '';}

$arr = preg_split("/;/",$subcat);
$s_out = "";

while ($arr_el = current($arr))
{
if (preg_match("/([^\n]+)=>([^\n]+)/", $arr_el, $parts))
{
$sname = $parts[1];
$name = $parts[2];
$s_out .= "$name,
 ";
}//if
next($arr);
}//while

$s_out = substr($s_out, 0, strlen($s_out) -1)."...";

return $s_out;

}// make_sub_list

if (empty($this->cat_sname))
{
$s = "select * from ".Table." where cat_sname_par = 'empty' order by cat_name";

$res = mysql_que($s);

require("./show_cat_list.htm");

}
else
{
$s = "select * from ".Table." where cat_sname_par = '$this->cat_sname' order by cat_name";

$res = mysql_que($s);

require("./show_cat_list_notempty.htm");

}//if

}//show_cat_list

//------------
function show_cat()
{
$s = "select * from ".Table." where cat_sname = '$this->cat_sname' order by cat_sname";
$ff = mysql_que($s, RetString);
require("./show_cat.htm");
}// show_cat



function main()
{
switch (@$this->action)
{

case "add_url_frm":
$this->add_url_frm(); // показать форму для ввода новой урл
break;
case "add_url_save":
$this->add_url_save(); //сохранить данные о новой урл
break;
case "add_url_search":
$this->add_url_search(); // показать форму для поиска
break;

case "show_cat":
$this->show_cat(); // показать уровень каталога
break;

default:
$this->show_cat_list(); // показать нулевой уровень каталога
break;
} //switch

} //***************** end of main ***********


//-------------
function var_ini($Mas)
{

@$this->cat_sname = addslashes($GLOBALS['cat_sname']);
@$this->cat_sname_par = addslashes($GLOBALS['cat_sname_par']);
@$this->cat_name = addslashes($GLOBALS['cat_name']);
@$this->cat_desc =addslashes($GLOBALS['cat_desc']);
@$this->cat_url = addslashes($GLOBALS['cat_url']);
@$this->cat_show_in_subcat = intval($GLOBALS['cat_show_in_subcat']);
@$this->cat_need_check = intval($GLOBALS['cat_need_check']);
@$this->cat_keywords = addslashes($GLOBALS['cat_keywords']);
@$this->cat_kto_dobavil = addslashes($GLOBALS['cat_kto_dobavil']);
@$this->cat_sname_prev = addslashes($GLOBALS['cat_sname_prev']);
}// var_ini


//---------------


function constr()
{

@$this->action = addslashes($GLOBALS['action']);
$this->var_ini($GLOBALS);

} // end of constructor

} // cl_catalog


//reset($HTTP_POST_VARS);
//while (list($key, $val) = each($HTTP_POST_VARS)) {
//echo "$key => $val
";
//}


$cat=new cl_catalog;
$cat->constr();
$cat->main();



?>