if(!isset($_POST[action]))
{
$tpl->box[admcontent]=$tpl->gettemplate("adm_db_optimize","accueilopt");
}
if($_GET['action']=="dumpage")
{
$tpl->box[admcontent]=$tpl->gettemplate("adm_db_optimize","dump");
}
if($_POST[action]=="dump")
{
$forumconfig=getconfig();
if(isset($AdminAccess))
{
$tabl=unserialize(urldecode($AdminAccess));
$forumuser=getuserid($tabl[login],$tabl[passwd]);
}
header("Content-disposition: filename=".date("d_m_Y").".sql");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
$table = $sql->list_tables();
$nb_table=count($table);
$chaine="";
$chaine.="# ****************************\n";
$chaine.="# * CoolForum Dump Table *\n";
$chaine.="# * Compatibilité assurée *\n";
$chaine.="# * phpMyAdmin 2.2.x *\n";
$chaine.="# * *\n";
$chaine.="# * *\n";
$chaine.="# * Dump réalisé le : *\n";
$chaine.="# * ".strftime("%d/%m/%Y",time())." *\n";
$chaine.="# ****************************\n\n";
if($nb_table>0)
{
while($i=mysql_fetch_row($table))
{
if(substr($i[0],0,3)=="CF_" || substr($i[0],0,3)=="cf_")
{
$chaine.="# ---------- TABLE ".$i[0]." --------------\n";
$chaine.="CREATE TABLE ".$i[0]." (";
$query = $sql->query("SHOW FIELDS FROM ".$i[0]);
$key="";
$field="";
while($j=mysql_fetch_array($query))
{
$field .= $j[Field]." ".$j[Type];
if(strlen($j["Default"])>0)
$field .= " DEFAULT '".$j["Default"]."'";
if(strlen($j["Null"])==0)
$field .= " NOT NULL";
if(!empty($j[Extra]))
$field .=" ".$j[Extra];
if($j[Key]=="PRI")
$key .= ", PRIMARY KEY (".$j[Field].")";
if($j[Key]=="MUL")
$key .= ", KEY ".$j[Field]." (".$j[Field].")";
$field .=", ";
}
$chaine.=substr($field,0,-2).$key.");\n\n";
$query = $sql->query("SELECT * FROM ".$i[0]);
$tot_request=mysql_numrows($query);
if($tot_request>0)
{
while($req=mysql_fetch_row($query))
{
for($z=0;$z<count($req);$z++)
{
$type = mysql_field_type($query, $z);
if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' || $type == 'bigint' ||$type == 'timestamp')
$req[$z]="'".$req[$z]."'";
else
{
$req[$z]="'".addslashes($req[$z])."'";
$req[$z]=str_replace("\n","\\n",$req[$z]);
$req[$z]=str_replace("\r","\\r",$req[$z]);
$req[$z]=str_replace("\t","\\t",$req[$z]);
}
}
$chaine.="INSERT INTO ".$i[0]." VALUES (".implode(", ",$req).");\n";
}
}
$chaine.="\n";
unset($field);
unset($key);
}
}
}
echo($chaine);
}