#!/usr/bin/php
");
return(0);
}
}
print("New field type into squidctrl.shablons.auth found\n");
if($action=="web")
print("
");
return(0);
}
function RenameTable($tablename,$newtablename)
{
if(isset($_GET["action"])) $action=$_GET["action"];
print("SEARCH TABLE $newtablename ");
$result=mysql_query("SELECT * FROM $newtablename");
if($result==NULL)
{
print("... NOT FOUND \n ");
$result=mysql_query("ALTER TABLE $tablename RENAME AS $newtablename ");
print(" TABLE RENAME\n");
if($action=="web")
print("
");
return(1);
}
else
{
print("... FOUND\n");
if($action=="web")
print("
");
}
return(0);
}
function InsertData($txt)
{
$result=mysql_query("$txt");
}
function CreatePrimaryKey($basename,$tablename,$fieldname)
{
if(isset($_GET["action"])) $action=$_GET["action"];
$flag=0;
print("ALTER TABLE $basename.$tablename ADD PRIMARY KEY ($fieldname)...\n");
$result=mysql_query("SHOW COLUMNS FROM $basename.$tablename");
while($row=mysql_fetch_array($result))
{
print("$row[0]-$row[1]-$row[2]-$row[3]-$row[4]\n");
if($fieldname==$row[0]&&$row[3]!="PRI")
{
$result2=mysql_query("ALTER TABLE $basename.$tablename ADD PRIMARY KEY ($fieldname)");
print("YES\n");
if($action=="web")
print("
");
}
if($fieldname==$row[0]&&$row[3]=="PRI")
{
print("NO\n");
if($action=="web")
print("
");
}
}
}
function CreateIndex($basename,$tablename,$fieldname)
{
if(isset($_GET["action"])) $action=$_GET["action"];
$flag=0;
print("CREATE INDEX $basename.$tablename ($fieldname)...");
$result=mysql_query("SHOW COLUMNS FROM $basename.$tablename");
while($row=mysql_fetch_array($result))
{
if($fieldname==$row[0]&&$row[3]!="MUL"&&$row[3]!="PRI")
{
$result2=mysql_query("ALTER TABLE $basename.$tablename ADD INDEX ($fieldname)");
print("YES\n");
if($action=="web")
print("
");
}
if($fieldname==$row[0]&&($row[3]=="MUL"||$row[3]=="PRI"))
{
print("NO\n");
if($action=="web")
print("
");
}
}
}
function ModifyColumn($tablename,$fieldname,$type,$newtype)
{
if(isset($_GET["action"])) $action=$_GET["action"];
$flag=0;
print("MODIFY COLUMN $tablename.$fieldname ");
$result=mysql_query("SHOW COLUMNS FROM $tablename");
while($row=mysql_fetch_array($result))
{
if($row[Field]=="$fieldname"&&$row[Type]=="$type")
{
$result2=mysql_query("ALTER TABLE $tablename MODIFY $fieldname $newtype");
print(" ... MODIFY \n");
if($action=="web")
print("
");
$flag=1;
}
}
if($flag==0)
{
print(" ... NO \n");
if($action=="web")
print("
");
}
}
function RenameColumn($tablename,$fieldname,$newfieldname,$newtype)
{
if(isset($_GET["action"])) $action=$_GET["action"];
$flag=0;
print("RENAME COLUMN $tablename.$fieldname ");
$result=mysql_query("SHOW COLUMNS FROM $tablename");
while($row=mysql_fetch_array($result))
{
if($row['Field']==$fieldname)
{
printf("\nALTER TABLE $tablename CHANGE $fieldname $newfieldname $newtype \n");
$result2=mysql_query("ALTER TABLE $tablename CHANGE $fieldname $newfieldname $newtype ");
if($result2>0)
{
print(" ... MODIFY \n");
if($action=="web")
print("
");
$flag=1;
}
}
}
if($flag==0)
{
print(" ... NO \n");
if($action=="web")
print("
");
}
}
function UpgradeTable($tablename,$fieldname,$string)
{
if(isset($_GET["action"])) $action=$_GET["action"];
print("SEARCH FIELD $tablename.$fieldname ");
$result=mysql_query("SELECT $fieldname FROM $tablename");
if($result==NULL)
{
print("... NOT FOUND \n ");
$result=mysql_query("ALTER TABLE $tablename ADD $fieldname $string");
print(" UPGRADED\n");
if($action=="web")
print("
");
return(1);
}
else
{
print("... FOUND\n");
if($action=="web")
print("
");
}
return(0);
}
function UpgradeTable2($tablename,$fieldname,$string,$position)
{
if(isset($_GET["action"])) $action=$_GET["action"];
print("SEARCH FIELD $tablename.$fieldname ");
$result=mysql_query("SELECT $fieldname FROM $tablename");
if($result==NULL)
{
print("... NOT FOUND \n ");
$result=mysql_query("ALTER TABLE $tablename ADD $fieldname $string AFTER $position ");
print(" UPGRADED\n");
if($action=="web")
print("
");
return(1);
}
else
{
print("... FOUND\n");
if($action=="web")
print("
");
}
return(0);
}
function AddTable($basename,$tablename,$fieldname,$string)
{
if(isset($_GET["action"])) $action=$_GET["action"];
print("SEARCH TABLE $basename.$tablename ");
$result=mysql_query("SHOW COLUMNS FROM $basename.$tablename");
if($result==NULL)
{
print("... NOT FOUND \n ");
$result=mysql_query("CREATE TABLE $basename.$tablename ($fieldname $string)");
print(" ADDED\n");
if($action=="web")
print("
");
return(1);
}
else
{
print("... FOUND\n");
if($action=="web")
print("
");
}
return(0);
}
function upgrade_mysql_table()
{
global $SAMSConf;
global $DELAYPOOL;
global $USERACCESS;
global $SAMSDB;
global $LOGDB;
global $MYSQLHOSTNAME;
global $MYSQLUSER;
global $MYSQLPASSWORD;
global $SQUIDCACHEFILE;
global $SQUIDROOTDIR;
global $SQUIDLOGDIR;
global $SGUARDDBPATH;
global $SGUARDLOGPATH;
global $REDIRECTOR;
global $AUTH;
if(isset($_GET["action"])) $action=$_GET["action"];
if($action!="web")
require('../php/mysqltools.php');
else
print("
");
// require('mysqltools.php');
//else
// require('../php/mysqltools.php');
$SAMSConf=new SAMSCONFIG();
//LoadConfig();
db_connect("squidctrl") or exit();
mysql_select_db("squidctrl");
$result=UpgradeTable("shablons","shablonpool","BIGINT NOT NULL");
$result=UpgradeTable("shablons","userpool","BIGINT NOT NULL");
$result=UpgradeTable("redirect","redirect_to","VARCHAR(100)");
$result=UpgradeTable("sams","redirect_to","VARCHAR(100)");
$result=UpgradeTable("sams","denied_to","VARCHAR(100)");
$result=UpgradeTable("sams","redirector","VARCHAR(25)");
$result=UpgradeTable("sams","delaypool","CHAR(1)");
$result=UpgradeTable("sams","useraccess","CHAR(1)");
$result=UpgradeTable("sams","auth","VARCHAR(4)");
$result=UpgradeTable("sams","wbinfopath","VARCHAR(100)");
AddTable("squidctrl","sguard","sname","VARCHAR(25)");
$result=UpgradeTable("sguard","sname","VARCHAR(25)");
$result=UpgradeTable("sguard","name","VARCHAR(100)");
$result=UpgradeTable("sguard","domain","CHAR(1)");
$result=UpgradeTable("sguard","url","CHAR(1)");
$result=UpgradeTable("sguard","expr","CHAR(1)");
$result=UpgradeTable("shablons","redirect_to","VARCHAR(100)");
$result=UpgradeTable("squidusers","ipmask","CHAR(15)");
ModifyColumn("shablons","shablonpool","float","BIGINT NOT NULL");
ModifyColumn("shablons","userpool","float","BIGINT NOT NULL");
CreateIndex("squidlog","cache","date");
CreateIndex("squidlog","cache","user");
CreateIndex("squidlog","cache","domain");
CreateIndex("squidctrl","urls","url");
CreateIndex("squidctrl","urls","type");
$result=UpgradeTable("squidusers","passwd","CHAR(20)");
AddTable("squidlog","cachesum","date","date NOT NULL default '0000-00-00'");
$result=UpgradeTable("squidlog.cachesum","user","varchar(25)");
$result=UpgradeTable("squidlog.cachesum","domain","varchar(25)");
$result=UpgradeTable("squidlog.cachesum","size","bigint(20)");
$result=UpgradeTable("squidlog.cachesum","hit","bigint(20)");
CreateIndex("squidlog","cachesum","date");
CreateIndex("squidlog","cachesum","user");
CreateIndex("squidlog","cachesum","domain");
InsertData("insert into squidlog.cachesum select squidlog.cache.date,squidlog.cache.user,squidlog.cache.domain,sum(squidlog.cache.size),sum(squidlog.cache.hit) from squidlog.cache group by squidlog.cache.date,squidlog.cache.user");
$result=UpgradeTable("squidctrl.sams","urlaccess","varchar(1)");
$result=UpgradeTable("squidctrl.shablons","traffic","int(25)");
ModifyColumn("squidlog.cache","url","char(50)","char(100) NOT NULL");
// 15.09.2004
$result=UpgradeTable("squidctrl.sams","lang","varchar(15)");
if($result==1) InsertData("update sams set lang='EN' ");
$result=UpgradeTable("squidctrl.sams","ntlmdomain","char(1)");
if($result==1) InsertData("update sams set ntlmdomain='Y' ");
$result=UpgradeTable("squidctrl.sams","bigd","char(1)");
$result=UpgradeTable("squidctrl.sams","bigu","char(1)");
$result=UpgradeTable("squidctrl.sams","sleep","int(3)");
if($result==1) InsertData("update sams set sleep='2' ");
$result=UpgradeTable("squidctrl.sams","parser_on","char(1)");
if($result==1) InsertData("update sams set parser_on='N' ");
$result=UpgradeTable("squidctrl.sams","parser","varchar(10)");
if($result==1) InsertData("update sams set parser='diskret' ");
$result=UpgradeTable("squidctrl.sams","parser_time","int(2)");
if($result==1) InsertData("update sams set parser_time='5' ");
$result=UpgradeTable("squidctrl.sams","count_clean","char(1)");
if($result==1) InsertData("update sams set count_clean='N' ");
$result=UpgradeTable("squidctrl.sams","nameencode","char(1)");
if($result==1) InsertData("update sams set nameencode='N' ");
AddTable("squidctrl","reconfig","number","INT(2)");
$result1=UpgradeTable("squidctrl.reconfig","service","varchar(15)");
$result2=UpgradeTable("squidctrl.reconfig","action","varchar(10)");
if($result1==1||$result2==1) InsertData("insert into squidctrl.reconfig set number='1',service='',action='' ");
$result=UpgradeTable("squidctrl.sams","iconset","varchar(25)");
if($result==1) InsertData("insert into squidctrl.sams set iconset='classic' ");
$result=UpgradeTable("squidctrl.squidusers","gauditor","int(1)");
$result=UpgradeTable("squidctrl.shablons","days","varchar(14)");
if($result==1) InsertData("update shablons set days='MTWHFAS' ");
$result=UpgradeTable("squidctrl.shablons","shour","tinyint(2)");
if($result==1) InsertData("update shablons set shour='0' ");
$result=UpgradeTable("squidctrl.shablons","smin","tinyint(2)");
if($result==1) InsertData("update shablons set smin='0' ");
$result=UpgradeTable("squidctrl.shablons","ehour","tinyint(2)");
if($result==1) InsertData("update shablons set ehour='24' ");
$result=UpgradeTable("squidctrl.shablons","emin","tinyint(2)");
if($result==1) InsertData("update shablons set emin='0' ");
$result=UpgradeTable("squidctrl.sams","autherrorc","tinyint(1)");
if($result==1) InsertData("update sams set autherrorc='0' ");
$result=UpgradeTable("squidctrl.sams","autherrort","varchar(16)");
if($result==1) InsertData("update sams set autherrort='0' ");
$result=UpgradeTable("squidctrl.squidusers","autherrorc","tinyint(1)");
if($result==1) InsertData("update squidusers set autherrorc='0' ");
$result=UpgradeTable("squidctrl.squidusers","autherrort","varchar(16)");
if($result==1) InsertData("update squidusers set autherrort='0' ");
$result=UpgradeTable2("squidctrl.shablons","auth","varchar(4)","redirect_to");
if($result==1) InsertData("update shablons set auth='ip' ");
$result=AddTable("squidctrl","globalsettings","lang","varchar(15) NOT NULL default 'EN' ");
$result=UpgradeTable("squidctrl.globalsettings","iconset","varchar(25) NOT NULL default 'classic'");
$result=UpgradeTable("squidctrl.globalsettings","useraccess","char(1) NOT NULL default 'Y' ");
$result=UpgradeTable("squidctrl.globalsettings","urlaccess","char(1) NOT NULL default 'Y' ");
$result=UpgradeTable("squidctrl.globalsettings","showutree","char(1) NOT NULL default 'Y' ");
if($result==1)
InsertData("INSERT INTO squidctrl.globalsettings VALUES('EN','classic','Y','Y','Y')");
$result=UpgradeTable("squidctrl.squidusers","hit","bigint(20) NOT NULL default '0' ");
$result=UpgradeTable("squidctrl.sams","realsize","varchar(4)");
if($result==1) InsertData("update sams set realsize='real' ");
$result=UpgradeTable("squidctrl.sams","checkdns","varchar(1)");
if($result==1) InsertData("update sams set checkdns='N' ");
$result=UpgradeTable("squidctrl.globalsettings","showname","varchar(5) NOT NULL default 'nick' ");
$result=RenameColumn("sams","lang","separator"," VARCHAR(15) DEFAULT '+' ");
if($result==1) InsertData("update squidctrl.sams set separator='+' ");
$result=UpgradeTable("squidctrl.sams","loglevel","tinyint(1) NOT NULL default '0'");
if($result==1) InsertData("update sams set loglevel='0' ");
$result=UpgradeTable("squidctrl.globalsettings","kbsize","char(15) NOT NULL default '1024'");
if($result==1) InsertData("update globalsettings set mbsize='1024' ");
$result=UpgradeTable("squidctrl.globalsettings","mbsize","char(15) NOT NULL default '1048576'");
if($result==1) InsertData("update globalsettings set mbsize='1048576' ");
//RenameTable("webisettings","globalsettings");
$result=UpgradeTable("squidctrl.sams","defaultdomain","char(25) NOT NULL default 'workgroup'");
if($result==1) InsertData("update sams set defaultdomain='workgroup' ");
$result=UpgradeTable("squidctrl.sams","squidbase","tinyint(2) NOT NULL default '0'");
if($result==1) InsertData("update sams set squidbase='0' ");
$result=UpgradeTable("squidctrl.sams","udscript","char(25) NOT NULL default 'NONE'");
if($result==1) InsertData("update sams set udscript='NONE' ");
$result=UpgradeTable("squidctrl.sams","adminaddr","char(25) NOT NULL default 'NONE'");
if($result==1) InsertData("update sams set adminaddr='' ");
$result=UpgradeTable("squidctrl.globalsettings","showgraph","char(1) NOT NULL default 'N' ");
UpdateShablonsAuth();
$result=UpgradeTable("squidctrl.shablons","period","char(3) NOT NULL default 'M' ");
if($result==1) InsertData("update squidctrl.shablons set period='M' ");
$result=UpgradeTable("squidctrl.shablons","clrdate","date NOT NULL default '0000-00-00' ");
$result=UpgradeTable("squidctrl.shablons","alldenied","tinyint(1) NOT NULL default '0'");
if($result==1)
AddShablonFieldAllDenied();
$result=UpgradeTable("squidctrl.globalsettings","createpdf","char(6) NOT NULL default 'none' ");
if($result==1) InsertData("update squidctrl.globalsettings set createpdf='none' ");
CreateIndex("squidctrl","squidusers","nick");
CreateIndex("squidctrl","squidusers","group");
CreateIndex("squidctrl","squidusers","family");
$result=AddTable("squidctrl","proxyes","id","tinyint(3) NOT NULL default '0' ");
$result=UpgradeTable("squidctrl.proxyes","description","varchar(50) NOT NULL default 'proxy server'");
if($result==1)
InsertData("INSERT INTO squidctrl.proxyes VALUES('0','main proxy server')");
$result=UpgradeTable("squidctrl.reconfig","value","varchar(110) ");
$result=AddTable("squidlog","files","id","tinyint(3) NOT NULL default '0' ");
$result=UpgradeTable("squidlog.files","filepath","varchar(50)");
$result=UpgradeTable("squidlog.files","url","varchar(120)");
$result=UpgradeTable("squidlog.files","size","int(12)");
$result=UpgradeTable("squidctrl.proxyes","endvalue","int(20)");
ModifyColumn("squidctrl.sams","shour","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.sams","smin","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.sams","ehour","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.sams","emin","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.shablons","shour","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.shablons","smin","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.shablons","ehour","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
ModifyColumn("squidctrl.shablons","emin","tinyint(2)","tinyint(2) UNSIGNED ZEROFILL");
}
upgrade_mysql_table();
?>