mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-26 19:29:58 +03:00
search improved
git-svn-id: http://piwigo.org/svn/trunk@17 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
887c7ee4d4
commit
1de10bd66f
11 changed files with 176 additions and 628 deletions
|
@ -242,7 +242,7 @@ if ( $_GET['valider'] == 1 )
|
|||
$query.= "'".$_POST[$default_user_infos[$i]]."'";
|
||||
}
|
||||
}
|
||||
$query.= " where pseudo = 'visiteur';";
|
||||
$query.= " where username = 'guest';";
|
||||
mysql_query( $query );
|
||||
}
|
||||
//--------------------------------------------------------- data initialization
|
||||
|
@ -795,18 +795,18 @@ $vtp->closeSession( $sub, 'line' );
|
|||
// maxwidth for thumbnail
|
||||
$vtp->addSession( $sub, 'line' );
|
||||
$vtp->addSession( $sub, 'param_line' );
|
||||
$vtp->setVar( $sub, 'param_line.name', $lang['conf_upload_maxwidth_thumbnail'] );
|
||||
$vtp->setVar( $sub, 'param_line.name',$lang['conf_upload_maxwidth_thumbnail']);
|
||||
$vtp->addSession( $sub, 'text' );
|
||||
$vtp->setVar( $sub, 'text.name', 'upload_maxwidth_thumbnail' );
|
||||
$vtp->setVar( $sub, 'text.value', $upload_maxwidth_thumbnail );
|
||||
$vtp->closeSession( $sub, 'text' );
|
||||
$vtp->setVar( $sub, 'param_line.def', $lang['conf_upload_maxwidth_thumbnail_info'] );
|
||||
$vtp->setVar($sub,'param_line.def',$lang['conf_upload_maxwidth_thumbnail_info']);
|
||||
$vtp->closeSession( $sub, 'param_line' );
|
||||
$vtp->closeSession( $sub, 'line' );
|
||||
// maxheight for thumbnail
|
||||
$vtp->addSession( $sub, 'line' );
|
||||
$vtp->addSession( $sub, 'param_line' );
|
||||
$vtp->setVar( $sub, 'param_line.name', $lang['conf_upload_maxheight_thumbnail'] );
|
||||
$vtp->setVar( $sub,'param_line.name',$lang['conf_upload_maxheight_thumbnail']);
|
||||
$vtp->addSession( $sub, 'text' );
|
||||
$vtp->setVar( $sub, 'text.name', 'upload_maxheight_thumbnail' );
|
||||
$vtp->setVar( $sub, 'text.value', $upload_maxheight_thumbnail );
|
||||
|
|
|
@ -1,531 +0,0 @@
|
|||
<?
|
||||
/***************************************************************************
|
||||
* miseajour.php is a part of PhpWebGallery *
|
||||
* ------------------- *
|
||||
* last update : Tuesday, July 16, 2002 *
|
||||
* email : pierrick@z0rglub.com *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
/***************************************************************************
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; *
|
||||
* *
|
||||
***************************************************************************/
|
||||
include_once( "./include/isadmin.inc.php" );
|
||||
|
||||
function insert_local_category( $cat_id )
|
||||
{
|
||||
global $prefixeTable,$conf,$page,$HTTP_GET_VARS;
|
||||
|
||||
$site_id = 1;
|
||||
|
||||
// 0. retrieving informations on the category to display
|
||||
$cat_directory = "../galleries";
|
||||
|
||||
if ( is_numeric( $cat_id ) )
|
||||
{
|
||||
$result = get_cat_info( $cat_id );
|
||||
$cat_directory.= "/".$result['local_dir'];
|
||||
// 1. display the category name to update
|
||||
echo "
|
||||
<img src=\"".$conf['lien_puce']."\" alt=\">\" /><span style=\"font-weight:bold;\">".$result['name'][0]."</span> [ dir : ".$result['last_dir']." ]
|
||||
<div class=\"retrait\">";
|
||||
|
||||
// 2. we search pictures of the category only if the update is for all or a cat_id is specified
|
||||
if ( isset( $page['cat'] ) || $HTTP_GET_VARS['update'] == 'all' )
|
||||
{
|
||||
insert_local_image( $cat_directory, $cat_id );
|
||||
update_cat_info( $cat_id );
|
||||
}
|
||||
}
|
||||
|
||||
// 3. we have to remove the categories of the database not present anymore
|
||||
$query = "select id from $prefixeTable"."categories";
|
||||
$query.= " where site_id = $site_id";
|
||||
if ( !is_numeric( $cat_id ) )
|
||||
{
|
||||
$query.= " and id_uppercat is NULL;";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= " and id_uppercat = $cat_id;";
|
||||
}
|
||||
$result = mysql_query( $query );
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
// retrieving the directory
|
||||
$rep = "../galleries";
|
||||
$resultat = get_cat_info( $row['id'] );
|
||||
$rep.= "/".$resultat['local_dir'];
|
||||
|
||||
// is the directory present ?
|
||||
if ( !is_dir( $rep ) )
|
||||
{
|
||||
delete_category( $row['id'] );
|
||||
}
|
||||
}
|
||||
|
||||
// 4. retrieving the sub-directories
|
||||
$sub_rep = array();
|
||||
$i = 0;
|
||||
$dirs = "";
|
||||
if ( $opendir = opendir ( $cat_directory ) )
|
||||
{
|
||||
while ( $file = readdir ( $opendir ) )
|
||||
{
|
||||
if ( $file != "." && $file != ".." && is_dir ( $cat_directory."/".$file ) && $file != "thumbnail" )
|
||||
{
|
||||
$sub_rep[$i++] = $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for ( $i = 0; $i < sizeof( $sub_rep ); $i++ )
|
||||
{
|
||||
// 5. is the category already existing ? we create a subcat if not existing
|
||||
$category_id = "";
|
||||
$query = "select id from $prefixeTable"."categories";
|
||||
$query.= " where site_id = $site_id";
|
||||
$query.= " and dir = '".$sub_rep[$i]."'";
|
||||
if ( !is_numeric( $cat_id ) )
|
||||
{
|
||||
$query.= " and id_uppercat is NULL;";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= " and id_uppercat = $cat_id;";
|
||||
}
|
||||
$result = mysql_query( $query );
|
||||
if ( mysql_num_rows( $result ) == 0 )
|
||||
{
|
||||
// we have to create the category
|
||||
$query = "insert into $prefixeTable"."categories (dir,site_id,id_uppercat) values ('".$sub_rep[$i]."','$site_id'";
|
||||
if ( !is_numeric( $cat_id ) )
|
||||
{
|
||||
$query.= ",NULL";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= ",'$cat_id'";
|
||||
}
|
||||
$query.= ");";
|
||||
mysql_query( $query );
|
||||
$category_id = mysql_insert_id();
|
||||
}
|
||||
else
|
||||
{
|
||||
// we get the already registered id
|
||||
$row = mysql_fetch_array( $result );
|
||||
$category_id = $row['id'];
|
||||
}
|
||||
// 6. recursive call
|
||||
insert_local_category( $category_id );
|
||||
}
|
||||
|
||||
if ( is_numeric( $cat_id ) )
|
||||
{
|
||||
echo "
|
||||
</div>";
|
||||
}
|
||||
}
|
||||
|
||||
function insert_local_image( $rep, $category_id )
|
||||
{
|
||||
global $prefixeTable,$lang,$conf,$count_new;
|
||||
|
||||
// we have to delete all the images from the database that :
|
||||
// - are not in the directory anymore
|
||||
// - don't have the associated thumbnail available anymore
|
||||
$query = "select id,file,tn_ext from $prefixeTable"."images";
|
||||
$query.= " where cat_id = $category_id;";
|
||||
$result = mysql_query( $query );
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
$lien_image = $rep."/".$row['file'];
|
||||
$lien_thumbnail = $rep."/"."thumbnail/".$conf['prefixe_thumbnail'].substr( $row['file'], 0, strrpos( $row['file'], "." ) ).".".$row['tn_ext'];
|
||||
|
||||
if ( !is_file ( $lien_image ) || !is_file ( $lien_thumbnail ) )
|
||||
{
|
||||
if ( !is_file ( $lien_image ) )
|
||||
{
|
||||
echo $row['file']." <span style=\"font-weight:bold;\">".$lang['update_disappeared']."</span><br />";
|
||||
}
|
||||
if ( !is_file ( $lien_thumbnail ) )
|
||||
{
|
||||
echo $row['file']." : <span style=\"font-weight:bold;\">".$lang['update_disappeared_tn']."</span><br />";
|
||||
}
|
||||
// suppression de la base :
|
||||
delete_image( $row['id'] );
|
||||
}
|
||||
}
|
||||
|
||||
// searching the new images in the directory
|
||||
$pictures = array();
|
||||
$i = 0;
|
||||
$tn_ext = "";
|
||||
$root = "";
|
||||
if ( $opendir = opendir ( $rep ) )
|
||||
{
|
||||
while ( $file = readdir ( $opendir ) )
|
||||
{
|
||||
if ( is_file( $rep."/".$file ) && is_image( $rep."/".$file ) )
|
||||
{
|
||||
// is the picture waiting for validation by an administrator ?
|
||||
$query = "select id from $prefixeTable"."waiting";
|
||||
$query.= " where cat_id = $category_id";
|
||||
$query.= " and file = '$file';";
|
||||
$result = mysql_query( $query );
|
||||
if ( mysql_num_rows( $result ) == 0 )
|
||||
{
|
||||
if ( $tn_ext = TN_exist( $rep, $file ) )
|
||||
{
|
||||
// is the picture already in the database ?
|
||||
$query = "select id from $prefixeTable"."images";
|
||||
$query.= " where cat_id = $category_id";
|
||||
$query.= " and file = '$file';";
|
||||
$result = mysql_query( $query );
|
||||
if ( mysql_num_rows( $result ) == 0 )
|
||||
{
|
||||
$pictures[$i] = array();
|
||||
$pictures[$i]['file'] = $file;
|
||||
$pictures[$i]['tn_ext'] = $tn_ext;
|
||||
$pictures[$i]['date'] = date( "Y-m-d", filemtime ( $rep."/".$file ) );
|
||||
$pictures[$i]['filesize'] = floor ( filesize( $rep."/".$file ) / 1024 );
|
||||
$image_size = @getimagesize( $rep."/".$file );
|
||||
$pictures[$i]['width'] = $image_size[0];
|
||||
$pictures[$i]['height'] = $image_size[1];
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<span style=\"color:red;\">".$lang['update_missing_tn']." : $file (<span style=\"font-weight:bold;\">".$conf['prefixe_thumbnail'].substr( $file, 0, strrpos( $file, "." ) ).".XXX</span>, XXX = gif, png or jpg)</span><br />";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// inserting the pictures found in the directory
|
||||
$root.= "\n".$indent."<root>";
|
||||
if ( sizeof( $pictures ) > 0 )
|
||||
{
|
||||
for( $i = 0; $i < sizeof( $pictures ); $i++ )
|
||||
{
|
||||
$query = "insert into $prefixeTable"."images (file,cat_id,date_available,tn_ext,filesize,width,height) values ('".$pictures[$i]['file']."','".$category_id."','".$pictures[$i]['date']."','".$pictures[$i]['tn_ext']."','".$pictures[$i]['filesize']."','".$pictures[$i]['width']."','".$pictures[$i]['height']."');";
|
||||
echo"
|
||||
".$pictures[$i]['file']." <span style=\"font-weight:bold;\">".$lang['update_research_added']."</span> (".$lang['update_research_tn_ext']." ".$pictures[$i]['tn_ext'].")<br />";
|
||||
$count_new++;
|
||||
mysql_query( $query );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The function "update_cat_info" updates the information about the last online image
|
||||
// and the number of images in the category
|
||||
function update_cat_info( $category_id )
|
||||
{
|
||||
global $prefixeTable;
|
||||
|
||||
$query = "select date_available from $prefixeTable"."images";
|
||||
$query.= " where cat_id = $category_id";
|
||||
$query.= " order by date_available desc limit 0,1;";
|
||||
$result = mysql_query( $query );
|
||||
$row = mysql_fetch_array( $result );
|
||||
$date_last = $row['date_available'];
|
||||
|
||||
$query = "select count(*) as nb_images from $prefixeTable"."images";
|
||||
$query.= " where cat_id = $category_id";
|
||||
$result = mysql_query( $query );
|
||||
$row = mysql_fetch_array( $result );
|
||||
$nb_images = $row['nb_images'];
|
||||
|
||||
$query = "update $prefixeTable"."categories";
|
||||
$query.= " set date_dernier = '$date_last'";
|
||||
$query.= ", nb_images = $nb_images";
|
||||
$query.= " where id = $category_id;";
|
||||
mysql_query( $query );
|
||||
}
|
||||
|
||||
function getContent( $element, $node )
|
||||
{
|
||||
$content = str_replace( "<".$node.">", "", $element );
|
||||
$content = str_replace( "</".$node.">", "", $content );
|
||||
return $content;
|
||||
}
|
||||
|
||||
function getChild( $document, $node )
|
||||
{
|
||||
preg_match("/\<".$node.">.*\<\/".$node."\>/U", $document, $retour);
|
||||
return $retour[0];
|
||||
}
|
||||
|
||||
function getChildren( $document, $node )
|
||||
{
|
||||
preg_match_all("/\<".$node.">.*\<\/".$node."\>/U", $document, $retour);
|
||||
return $retour[0];
|
||||
}
|
||||
|
||||
function remote_images()
|
||||
{
|
||||
global $conf, $prefixeTable, $lang;
|
||||
|
||||
// 1.is there a file listing.xml ?
|
||||
$filename = "listing.xml";
|
||||
$xml_content = "";
|
||||
if ( $fp = @fopen ( $filename, "r" ) )
|
||||
{
|
||||
while ( !feof ( $fp ) )
|
||||
{
|
||||
$xml_content .= fgets ( $fp, 1024 );
|
||||
}
|
||||
@fclose( $file );
|
||||
$xml_content = str_replace("\n","",$xml_content);
|
||||
$xml_content = str_replace("\t","",$xml_content);
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$url = getContent( getChild( $xml_content, "url" ), "url" );
|
||||
echo "<span style=\"font-weight:bold;color:navy;\">$url</span><br /><br />";
|
||||
|
||||
// 2. is the site already existing ?
|
||||
$site_id = "";
|
||||
$result = mysql_query( "select id from $prefixeTable"."sites where galleries_url = '$url';" );
|
||||
if ( mysql_num_rows($result ) == 0 )
|
||||
{
|
||||
// we have to register this site in the database
|
||||
mysql_query( "insert into $prefixeTable"."sites (galleries_url) values ('$url');" );
|
||||
$site_id = mysql_insert_id();
|
||||
}
|
||||
else
|
||||
{
|
||||
// we get the already registered id
|
||||
$row = mysql_fetch_array( $result );
|
||||
$site_id = $row['id'];
|
||||
}
|
||||
|
||||
// 3. available dirs in the file
|
||||
insert_remote_category( $xml_content, $site_id, "NULL", 0 );
|
||||
}
|
||||
|
||||
// insert_remote_category search the "dir" node of the xml_dir given
|
||||
// and insert the contained categories if the are not in the database yet.
|
||||
// The function also delete the categories that are in the database
|
||||
// and not in the xml_file
|
||||
function insert_remote_category( $xml_dir, $site_id, $id_uppercat, $level )
|
||||
{
|
||||
global $prefixeTable,$conf;;
|
||||
|
||||
$categories = array();
|
||||
$list_dirs = getChildren( $xml_dir, "dir".$level );
|
||||
for ( $i = 0; $i < sizeof( $list_dirs ); $i++ )
|
||||
{
|
||||
// is the category already existing ?
|
||||
$category_id = "";
|
||||
$name = getContent( getChild( $list_dirs[$i], "name" ), "name" );
|
||||
$categories[$i] = $name;
|
||||
echo "
|
||||
<img src=\"".$conf['lien_puce']."\"><span style=\"font-weight:bold;\">$name</span>
|
||||
<div class=\"retrait\">";
|
||||
$query = "select id from $prefixeTable"."categories";
|
||||
$query.= " where site_id = '$site_id'";
|
||||
$query.= " and dir = '$name'";
|
||||
if ( $id_uppercat == "NULL" )
|
||||
{
|
||||
$query.= " and id_uppercat is NULL;";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= " and id_uppercat = '$id_uppercat';";
|
||||
}
|
||||
//echo "<br />".$query;
|
||||
$result = mysql_query( $query );
|
||||
if ( mysql_num_rows( $result ) == 0 )
|
||||
{
|
||||
// we have to create the category
|
||||
$query = "insert into $prefixeTable"."categories (dir,site_id,id_uppercat) values ('$name','$site_id'";
|
||||
if ( $id_uppercat == "NULL" )
|
||||
{
|
||||
$query.= ",NULL";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= ",'$id_uppercat'";
|
||||
}
|
||||
$query.= ");";
|
||||
//echo "<br />".$query;
|
||||
mysql_query( $query );
|
||||
$category_id = mysql_insert_id();
|
||||
}
|
||||
else
|
||||
{
|
||||
// we get the already registered id
|
||||
$row = mysql_fetch_array( $result );
|
||||
$category_id = $row['id'];
|
||||
}
|
||||
insert_remote_image( $list_dirs[$i], $category_id );
|
||||
update_cat_info( $category_id );
|
||||
insert_remote_category( $list_dirs[$i], $site_id, $category_id, $level + 1 );
|
||||
echo "
|
||||
</div>";
|
||||
}
|
||||
// we have to remove the categories of the database not present in the xml file
|
||||
// (ie deleted from the picture storage server)
|
||||
$query = "select dir,id from $prefixeTable"."categories";
|
||||
$query.= " where site_id = '$site_id'";
|
||||
if ( $id_uppercat == "NULL" )
|
||||
{
|
||||
$query.= " and id_uppercat is NULL;";
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= " and id_uppercat = '$id_uppercat';";
|
||||
}
|
||||
$result = mysql_query( $query );
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
// is the category in the xml file ?
|
||||
if ( !in_array( $row['dir'], $categories ) )
|
||||
{
|
||||
delete_category( $row['id'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// insert_remote_image search the "root" node of the xml_dir given
|
||||
// and insert the contained pictures if the are not in the database yet
|
||||
function insert_remote_image( $xml_dir, $category_id )
|
||||
{
|
||||
global $prefixeTable,$count_new,$lang;
|
||||
|
||||
$root = getChild( $xml_dir, "root" );
|
||||
$pictures = array();
|
||||
$xml_pictures = getChildren( $root, "picture" );
|
||||
for ( $j = 0; $j < sizeof( $xml_pictures ); $j++ )
|
||||
{
|
||||
//<picture>
|
||||
// <file>albatros.jpg</file>
|
||||
// <tn_ext>png</tn_ext>
|
||||
// <date>2002-04-14</date>
|
||||
// <filesize>35</filesize>
|
||||
// <width>640</width>
|
||||
// <height>480</height>
|
||||
//</picture>
|
||||
$file = getContent( getChild( $xml_pictures[$j], "file" ), "file" );
|
||||
$tn_ext = getContent( getChild( $xml_pictures[$j], "tn_ext" ), "tn_ext" );
|
||||
$date = getContent( getChild( $xml_pictures[$j], "date" ), "date" );
|
||||
$filesize = getContent( getChild( $xml_pictures[$j], "filesize" ), "filesize" );
|
||||
$width = getContent( getChild( $xml_pictures[$j], "width" ), "width" );
|
||||
$height = getContent( getChild( $xml_pictures[$j], "height" ), "height" );
|
||||
|
||||
$pictures[$j] = $file;
|
||||
|
||||
// is the picture already existing in the database ?
|
||||
$query = "select id,tn_ext from $prefixeTable"."images where cat_id = '$category_id' and file = '$file';";
|
||||
$result = mysql_query( $query );
|
||||
$query = "";
|
||||
if ( mysql_num_rows( $result ) == 0 )
|
||||
{
|
||||
$query = "insert into $prefixeTable"."images (file,cat_id,date_available,tn_ext,filesize,width,height) values ('$file','$category_id','$date','$tn_ext','$filesize','$width','$height');";
|
||||
echo"
|
||||
$file <span style=\"font-weight:bold;\">".$lang['update_research_added']."</span> (".$lang['update_research_tn_ext']." $tn_ext)<br />";
|
||||
$count_new++;
|
||||
}
|
||||
else
|
||||
{
|
||||
// is the tn_ext the same in the xml file and in the database ?
|
||||
$row = mysql_fetch_array( $result );
|
||||
if ( $row['tn_ext'] != $tn_ext )
|
||||
{
|
||||
$query = "update $prefixeTable"."images set tn_ext = '$tn_ext' where cat_id = '$category_id' and file = '$file';";
|
||||
}
|
||||
}
|
||||
// execution of the query
|
||||
if ( $query != "" )
|
||||
{
|
||||
mysql_query( $query );
|
||||
}
|
||||
}
|
||||
// we have to remove the pictures of the database not present in the xml file
|
||||
// (ie deleted from the picture storage server)
|
||||
$query = "select id,file from $prefixeTable"."images where cat_id = '$category_id';";
|
||||
$result = mysql_query( $query );
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
// is the file in the xml file ?
|
||||
if ( !in_array( $row['file'], $pictures ) )
|
||||
{
|
||||
delete_image( $row['id'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
echo "<table style=\"width:100%;\">";
|
||||
//------------------------------------------------------------------------------
|
||||
// Display choice if "update" var is not specified
|
||||
check_cat_id( $HTTP_GET_VARS['update'] );
|
||||
if ( !isset( $HTTP_GET_VARS['update'] ) && !( isset( $page['cat'] ) || $HTTP_GET_VARS['update'] == 'cats' || $HTTP_GET_VARS['update'] == 'all' ) )
|
||||
{
|
||||
echo"
|
||||
<tr><th>".$lang['update_default_title']."</th></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class=\"retrait\">
|
||||
<img src=\"".$conf['lien_puce']."\" alt=\">\" /><a href=\"".add_session_id_to_url( "./admin.php?page=miseajour&update=cats" )."\">".$lang['update_only_cat']."</a>
|
||||
<br /><img src=\"".$conf['lien_puce']."\" alt=\">\" /><a href=\"".add_session_id_to_url( "./admin.php?page=miseajour&update=all" )."\">".$lang['update_all']."</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>";
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// Recherche des nouvelles images dans les repertoires
|
||||
else
|
||||
{
|
||||
$count_new = 0;
|
||||
$count_deleted = 0;
|
||||
echo"
|
||||
<tr><th>".$lang['update_part_research']."</th></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class=\"retrait\">";
|
||||
if ( isset( $page['cat'] ) )
|
||||
{
|
||||
insert_local_category( $page['cat'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
insert_local_category( "NULL" );
|
||||
}
|
||||
echo "<br /><span style=\"color:blue;\">$count_new ".$lang['update_research_conclusion']."</span>";
|
||||
echo "<br /><span style=\"color:red;\">$count_deleted ".$lang['update_deletion_conclusion']."</span>";
|
||||
echo "
|
||||
</div>
|
||||
</td>
|
||||
</tr>";
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// Searching new pictures in the file listing.xml from a remote storage server
|
||||
if ( @is_file( "./listing.xml" ) )
|
||||
{
|
||||
$count_new = 0;
|
||||
$count_deleted = 0;
|
||||
echo"
|
||||
<tr><th>Site distant</th></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class=\"retrait\">";
|
||||
remote_images();
|
||||
echo "<br /><span style=\"color:blue;\">$count_new ".$lang['update_research_conclusion']."</span>";
|
||||
echo "<br /><span style=\"color:red;\">$count_deleted ".$lang['update_deletion_conclusion']."</span>";
|
||||
echo "
|
||||
</div>
|
||||
</td>
|
||||
</tr>";
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
echo "</table>";
|
||||
?>
|
69
category.php
69
category.php
|
@ -170,7 +170,7 @@ if ( !$user['is_the_guest'] )
|
|||
$url.= '&expand='.$page['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$vtp->setVar( $handle, 'summary.url', add_session_id( $url ) );
|
||||
$vtp->setVar( $handle, 'summary.title', $lang['hint_customize'] );
|
||||
|
@ -243,12 +243,15 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
|
|||
$query.= $conf['order_by'];
|
||||
$query.= ' LIMIT '.$page['start'].','.$page['nb_image_page'];
|
||||
$query.= ';';
|
||||
echo $query;
|
||||
$result = mysql_query( $query );
|
||||
|
||||
$vtp->addSession( $handle, 'thumbnails' );
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
// iteration counter to use a new <tr> every "$nb_image_line" pictures
|
||||
$i = 1;
|
||||
$cell_number = 1;
|
||||
// iteration counter to be sure not to create too much lines in the table
|
||||
$line_number = 1;
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
if ( !is_numeric( $page['cat'] ) )
|
||||
|
@ -294,11 +297,11 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
|
|||
$url_link.= '&image_id='.$row['id'].'&expand='.$page['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url_link.= '&search='.$_GET['search'];
|
||||
$url_link.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
// date of availability for creation icon
|
||||
$date = explode( '-', $row['date_available'] );
|
||||
$date = mktime( 0, 0, 0, $date[1], $date[2], $date[0] );
|
||||
list( $year,$month,$day ) = explode( '-', $row['date_available'] );
|
||||
$date = mktime( 0, 0, 0, $month, $day, $year );
|
||||
// sending vars to display
|
||||
$vtp->addSession( $handle, 'thumbnail' );
|
||||
$vtp->setVar( $handle, 'thumbnail.url', add_session_id( $url_link ) );
|
||||
|
@ -322,20 +325,19 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
|
|||
|
||||
$vtp->closeSession( $handle, 'thumbnail' );
|
||||
|
||||
if ( $i == $user['nb_image_line'] )
|
||||
if ( $cell_number++ == $user['nb_image_line'] )
|
||||
{
|
||||
// creating a new line
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
$i = 1;
|
||||
// the number of the next cell is 1
|
||||
$cell_number = 1;
|
||||
// we only create a new line if it does not exceed the maximum line
|
||||
// per page for the logged user
|
||||
if ( $line_number++ < $user['nb_line_page'] )
|
||||
{
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
if ( $i < $user['nb_image_line'] )
|
||||
{
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
}
|
||||
$vtp->closeSession( $handle, 'thumbnails' );
|
||||
}
|
||||
|
@ -347,8 +349,8 @@ elseif ( isset( $page['cat'] )
|
|||
$vtp->addSession( $handle, 'line' );
|
||||
|
||||
$subcats = get_non_empty_sub_cat_ids( $page['cat'] );
|
||||
$i = 1;
|
||||
foreach ( $subcats as $subcat) {
|
||||
$cell_number = 1;
|
||||
foreach ( $subcats as $id => $subcat ) {
|
||||
$result = get_cat_info( $subcat['non_empty_cat'] );
|
||||
$cat_directory = $result['dir'];
|
||||
|
||||
|
@ -373,8 +375,7 @@ elseif ( isset( $page['cat'] )
|
|||
$image_result = mysql_query( $query );
|
||||
$image_row = mysql_fetch_array( $image_result );
|
||||
|
||||
$file = substr ( $image_row['file'], 0,
|
||||
strrpos ( $image_row['file'], '.' ) );
|
||||
$file = get_filename_wo_extension( $image_row['file'] );
|
||||
|
||||
// creating links for thumbnail and associated category
|
||||
$lien_image = $cat_directory;
|
||||
|
@ -383,15 +384,17 @@ elseif ( isset( $page['cat'] )
|
|||
$lien_thumbnail.= $file.'.'.$image_row['tn_ext'];
|
||||
$lien_image.= $image_row['file'];
|
||||
|
||||
$thumbnail_title = '';
|
||||
$thumbnail_title = $lang['hint_category'];
|
||||
|
||||
$url_link = './category.php?cat='.$subcat['id'];
|
||||
if ( !in_array( $page['cat'], $page['tab_expand'] ) )
|
||||
{
|
||||
$page['tab_expand'][sizeof( $page['tab_expand'] )] = $page['cat'];
|
||||
array_push( $page['tab_expand'], $page['cat'] );
|
||||
$page['expand'] = implode( ',', $page['tab_expand'] );
|
||||
}
|
||||
$url_link.= '&expand='.$page['expand'];
|
||||
list( $year,$month,$day ) = explode( '-', $subcat['date_dernier'] );
|
||||
$date = mktime( 0, 0, 0, $month, $day, $year );
|
||||
|
||||
// sending vars to display
|
||||
$vtp->addSession( $handle, 'thumbnail' );
|
||||
|
@ -400,24 +403,24 @@ elseif ( isset( $page['cat'] )
|
|||
$vtp->setVar( $handle, 'thumbnail.alt', $image_row['file'] );
|
||||
$vtp->setVar( $handle, 'thumbnail.title', $thumbnail_title );
|
||||
$vtp->setVar( $handle, 'thumbnail.name', $name );
|
||||
|
||||
list( $year,$month,$day ) = explode( '-', $subcat['date_dernier'] );
|
||||
$date = mktime( 0, 0, 0, $month, $day, $year );
|
||||
$vtp->setVar( $handle, 'thumbnail.icon', get_icon( $date ) );
|
||||
|
||||
$vtp->closeSession( $handle, 'thumbnail' );
|
||||
|
||||
if ( $i == $user['nb_image_line'] )
|
||||
if ( $cell_number++ == $user['nb_image_line'] )
|
||||
{
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
$i = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$i++;
|
||||
$cell_number = 1;
|
||||
// we open a new line if the subcat was not the last one
|
||||
if ( $id < count( $subcats ) - 1 )
|
||||
{
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $id < count( $subcats ) - 1 )
|
||||
{
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
}
|
||||
$vtp->closeSession( $handle, 'thumbnails' );
|
||||
}
|
||||
//------------------------------------------------------- category informations
|
||||
|
|
|
@ -37,9 +37,8 @@ include_once( PREFIXE_INCLUDE.'./include/vtemplate.class.php' );
|
|||
// 2. $conf['order_by'] = " order by file asc";
|
||||
// will only order pictures by file ascending
|
||||
// without taking into account the date_available
|
||||
$conf['order_by'] = ' order by date_available desc, file asc';
|
||||
$conf['order_by'] = ' ORDER BY date_available DESC, file ASC';
|
||||
|
||||
$conf['repertoire_image'] = './images/';
|
||||
$conf['nb_image_row'] = array('4','5','6','7','8');
|
||||
$conf['nb_row_page'] = array('2','3','4','5','6','7','10','20','1000');
|
||||
$conf['version'] = '1.3';
|
||||
|
|
|
@ -169,7 +169,7 @@ function get_dirs( $rep )
|
|||
{
|
||||
while ( $file = readdir ( $opendir ) )
|
||||
{
|
||||
if ( $file != "." and $file != ".." and is_dir ( $rep.$file ) )
|
||||
if ( $file != '.' and $file != '..' and is_dir ( $rep.$file ) )
|
||||
{
|
||||
array_push( $sub_rep, $file );
|
||||
}
|
||||
|
@ -274,14 +274,14 @@ function get_themes( $theme_dir )
|
|||
return $themes;
|
||||
}
|
||||
|
||||
// - The replace_search function replaces a $search string by the search in
|
||||
// another color
|
||||
// - add_style replaces the
|
||||
// $search into <span style="$style">$search</span>
|
||||
// in the given $string.
|
||||
// - The function does not replace characters in HTML tags
|
||||
function replace_search( $string, $search )
|
||||
function add_style( $string, $search, $style )
|
||||
{
|
||||
//return $string;
|
||||
$style_search = "background-color:white;color:red;";
|
||||
$return_string = "";
|
||||
$return_string = '';
|
||||
$remaining = $string;
|
||||
|
||||
$start = 0;
|
||||
|
@ -291,21 +291,32 @@ function replace_search( $string, $search )
|
|||
while ( is_numeric( $start ) and is_numeric( $end ) )
|
||||
{
|
||||
$treatment = substr ( $remaining, 0, $start );
|
||||
$treatment = str_replace( $search, '<span style="'.$style_search.'">'.
|
||||
$treatment = str_replace( $search, '<span style="'.$style.'">'.
|
||||
$search.'</span>', $treatment );
|
||||
$return_string.= $treatment.substr ( $remaining, $start,
|
||||
$end - $start + 1 );
|
||||
$return_string.= $treatment.substr( $remaining, $start, $end-$start+1 );
|
||||
$remaining = substr ( $remaining, $end + 1, strlen( $remaining ) );
|
||||
$start = strpos ( $remaining, '<' );
|
||||
$end = strpos ( $remaining, '>' );
|
||||
}
|
||||
$treatment = str_replace( $search, '<span style="'.$style_search.'">'.
|
||||
$treatment = str_replace( $search, '<span style="'.$style.'">'.
|
||||
$search.'</span>', $remaining );
|
||||
$return_string.= $treatment;
|
||||
|
||||
return $return_string;
|
||||
}
|
||||
|
||||
// replace_search replaces a searched words array string by the search in
|
||||
// another style for the given $string.
|
||||
function replace_search( $string, $search )
|
||||
{
|
||||
$words = explode( ',', $search );
|
||||
$style = 'background-color:white;color:red;';
|
||||
foreach ( $words as $word ) {
|
||||
$string = add_style( $string, $word, $style );
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
function database_connection()
|
||||
{
|
||||
// $cfgHote,$cfgUser,$cfgPassword,$cfgBase;
|
||||
|
|
|
@ -132,7 +132,7 @@ function display_cat( $id_uppercat, $indent, $restriction, $tab_expand )
|
|||
$url = "./category.php?cat=".$page['cat']."&expand=$expand";
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= "&search=".$_GET['search'];
|
||||
$url.= "&search=".$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$lien_cat = add_session_id( $url );
|
||||
if ( $row['name'] == "" )
|
||||
|
@ -381,7 +381,15 @@ function initialize_category( $calling_page = 'category' )
|
|||
}
|
||||
else
|
||||
{
|
||||
$query = '';
|
||||
if ( $page['cat'] == 'search' or $page['cat'] == 'most_visited'
|
||||
or $page['cat'] == 'recent' or $page['cat'] == 'best_rated' )
|
||||
{
|
||||
// we must not show pictures of a forbidden category
|
||||
$restricted_cats = get_all_restrictions( $user['id'],$user['status'] );
|
||||
foreach ( $restricted_cats as $restricted_cat ) {
|
||||
$where_append.= ' AND cat_id != '.$restricted_cat;
|
||||
}
|
||||
}
|
||||
// search result
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
|
@ -391,16 +399,40 @@ function initialize_category( $calling_page = 'category' )
|
|||
$page['title'].= ' : <span style="font-style:italic;">';
|
||||
$page['title'].= $_GET['search']."</span>";
|
||||
}
|
||||
$page['where'] = " WHERE ( file LIKE '%".$_GET['search']."%'";
|
||||
$page['where'].= " OR name LIKE '%".$_GET['search']."%'";
|
||||
$page['where'].= " OR comment LIKE '%".$_GET['search']."%' )";
|
||||
|
||||
$page['where'] = ' WHERE (';
|
||||
$fields = array( 'file', 'name', 'comment' );
|
||||
$words = explode( ',', $_GET['search'] );
|
||||
$sql_search = array();
|
||||
foreach ( $words as $i => $word ) {
|
||||
if ( $_GET['mode'] == 'OR' )
|
||||
{
|
||||
if ( $i != 0 ) $page['where'].= ' OR';
|
||||
foreach ( $fields as $j => $field ) {
|
||||
if ( $j != 0 ) $page['where'].= ' OR';
|
||||
$page['where'].= ' '.$field." LIKE '%".$word."%'";
|
||||
}
|
||||
}
|
||||
else if ( $_GET['mode'] == 'AND' )
|
||||
{
|
||||
if ( $i != 0 ) $page['where'].= ' AND';
|
||||
$page['where'].= ' (';
|
||||
foreach ( $fields as $j => $field ) {
|
||||
if ( $j != 0 ) $page['where'].= ' OR';
|
||||
$page['where'].= ' '.$field." LIKE '%".$word."%'";
|
||||
}
|
||||
$page['where'].= ' )';
|
||||
}
|
||||
}
|
||||
$page['where'].= ' )';
|
||||
$page['where'].= $where_append;
|
||||
|
||||
$query = 'SELECT COUNT(*) AS nb_total_images';
|
||||
$query.= ' FROM '.PREFIX_TABLE.'images';
|
||||
$query.= $page['where'];
|
||||
$query.= ';';
|
||||
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
// favorites displaying
|
||||
else if ( $page['cat'] == 'fav' )
|
||||
|
@ -425,6 +457,7 @@ function initialize_category( $calling_page = 'category' )
|
|||
$date = time() - 60*60*24*$user['short_period'];
|
||||
$page['where'] = " WHERE date_available > '";
|
||||
$page['where'].= date( 'Y-m-d', $date )."'";
|
||||
$page['where'].= $where_append;
|
||||
|
||||
$query = 'SELECT COUNT(*) AS nb_total_images';
|
||||
$query.= ' FROM '.PREFIX_TABLE.'images';
|
||||
|
@ -435,7 +468,7 @@ function initialize_category( $calling_page = 'category' )
|
|||
else if ( $page['cat'] == 'most_visited' )
|
||||
{
|
||||
$page['title'] = $conf['top_number'].' '.$lang['most_visited_cat'];
|
||||
$page['where'] = ' WHERE cat_id != -1';
|
||||
$page['where'] = ' WHERE cat_id != -1'.$where_append;
|
||||
$conf['order_by'] = ' ORDER BY hit DESC, file ASC';
|
||||
$page['cat_nb_images'] = $conf['top_number'];
|
||||
if ( $page['start'] + $user['nb_image_page'] >= $conf['top_number'] )
|
||||
|
@ -450,16 +483,6 @@ function initialize_category( $calling_page = 'category' )
|
|||
$row = mysql_fetch_array( $result );
|
||||
$page['cat_nb_images'] = $row['nb_total_images'];
|
||||
}
|
||||
|
||||
if ( $page['cat'] == 'search' or $page['cat'] == 'most_visited'
|
||||
or $page['cat'] == 'recent' or $page['cat'] == 'best_rated' )
|
||||
{
|
||||
// we must not show pictures of a forbidden category
|
||||
$restricted_cats = get_all_restrictions( $user['id'],$user['status'] );
|
||||
foreach ( $restricted_cats as $restricted_cat ) {
|
||||
$page['where'].= ' AND cat_id != '.$restricted_cat;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $calling_page == 'category' )
|
||||
{
|
||||
|
@ -518,23 +541,16 @@ function get_non_empty_sub_cat_ids( $id_uppercat )
|
|||
$result = mysql_query( $query );
|
||||
while ( $row = mysql_fetch_array( $result ) )
|
||||
{
|
||||
if ( $row['nb_images'] == 0 )
|
||||
{
|
||||
$non_empty_cat = get_first_non_empty_cat_id( $row['id'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
$non_empty_cat = $row['id'];
|
||||
}
|
||||
// only categories with findable picture in any of its subcats is
|
||||
// represented.
|
||||
if ( $non_empty_cat != false )
|
||||
if ( ( $row['nb_images'] != 0 and $non_empty_cat = $row['id'] )
|
||||
or $non_empty_cat = get_first_non_empty_cat_id( $row['id'] ) )
|
||||
{
|
||||
$temp_cat = array(
|
||||
'id' => $row['id'],
|
||||
'name' => $row['name'],
|
||||
'dir' => $row['dir'],
|
||||
'date_dernier' => $row['date_dernier'],
|
||||
'id' => $row['id'],
|
||||
'name' => $row['name'],
|
||||
'dir' => $row['dir'],
|
||||
'date_dernier' => $row['date_dernier'],
|
||||
'non_empty_cat' => $non_empty_cat );
|
||||
array_push( $cats, $temp_cat );
|
||||
}
|
||||
|
|
|
@ -180,7 +180,11 @@ $lang['reg_err_mail_address'] = 'l\'adresse mail doit
|
|||
|
||||
// page search
|
||||
$lang['search_title'] = 'Recherche';
|
||||
$lang['invalid_search'] = 'La recherche doit porter sur 3 caractères ou plus';
|
||||
// start version 1.3
|
||||
$lang['invalid_search'] = 'Les mots recherchés doivent comporter plus de 3 caractères et ne doivent pas inclure de caractères de ponctuation';
|
||||
$lang['search_mode_or'] = 'au moins un mot';
|
||||
$lang['search_mode_and'] = 'tous les mots';
|
||||
// end version 1.3
|
||||
$lang['search_field_search'] = 'Rechercher';
|
||||
$lang['search_return_main_page'] = 'Retour à la page des miniatures';
|
||||
|
||||
|
|
12
picture.php
12
picture.php
|
@ -132,7 +132,7 @@ if ( isset( $_GET['add_fav'] ) )
|
|||
$redirect.= '&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$redirect.= '&search='.$_GET['search'];
|
||||
$redirect.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$url = add_session_id( $redirect, true );
|
||||
header( 'Request-URI: '.$url );
|
||||
|
@ -211,7 +211,7 @@ if ( $page['num'] >= 1 )
|
|||
$url_link.= '&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url_link.= '&search='.$_GET['search'];
|
||||
$url_link.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
// sending vars for display
|
||||
$vtp->addSession( $handle, 'previous' );
|
||||
|
@ -285,7 +285,7 @@ $url_link = './category.php?cat='.$page['cat'].'&';
|
|||
$url_link.= 'num='.$page['num'].'&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url_link.= "&search=".$_GET['search'];
|
||||
$url_link.= "&search=".$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$vtp->setGlobalVar( $handle, 'picture_link', add_session_id( $url_link ) );
|
||||
$vtp->setGlobalVar( $handle, 'picture_width', $final_width );
|
||||
|
@ -385,7 +385,7 @@ if ( $page['cat'] != 'fav' && !$user['is_the_guest'] )
|
|||
$url.= '&expand='.$_GET['expand'].'&add_fav=1';
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$vtp->addSession( $handle, 'favorite' );
|
||||
$vtp->setVar( $handle, 'favorite.link', add_session_id( $url ) );
|
||||
|
@ -458,7 +458,7 @@ if ( $page['num'] < $page['cat_nb_images']-1 )
|
|||
$url_link.= '&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url_link.= "&search=".$_GET['search'];
|
||||
$url_link.= "&search=".$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
// sending vars for display
|
||||
$vtp->addSession( $handle, 'next' );
|
||||
|
@ -511,7 +511,7 @@ if ( $conf['show_comments'] )
|
|||
$url.= '&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
if( !isset( $_GET['start'] )
|
||||
|| !is_numeric( $_GET['start'] )
|
||||
|
|
|
@ -132,7 +132,7 @@ if ( isset( $_POST['submit'] ) )
|
|||
$url = 'category.php?cat='.$page['cat'].'&expand='.$_GET['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$url = add_session_id( $url, true );
|
||||
header( 'Request-URI: '.$url );
|
||||
|
@ -152,7 +152,7 @@ templatize_array( $tpl, 'lang', $handle );
|
|||
$url = './profile.php?cat='.$page['cat'].'&expand='.$page['expand'];
|
||||
if ( $page['cat'] == 'search' )
|
||||
{
|
||||
$url.= '&search='.$_GET['search'];
|
||||
$url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
|
||||
}
|
||||
$vtp->setGlobalVar( $handle, 'form_action', add_session_id( $url ) );
|
||||
//-------------------------------------------------------------- errors display
|
||||
|
|
59
search.php
59
search.php
|
@ -23,20 +23,32 @@ check_login_authorization();
|
|||
$error = array();
|
||||
if ( isset( $_POST['search'] ) )
|
||||
{
|
||||
$i = 0;
|
||||
if ( strlen( $_POST['search'] ) > 2 )
|
||||
$redirect = true;
|
||||
$search = array();
|
||||
$words = preg_split( '/\s+/', $_POST['search'] );
|
||||
foreach ( $words as $i => $word ) {
|
||||
if ( strlen( $word ) > 2 and !preg_match( '/[,;:\']/', $word ) )
|
||||
{
|
||||
array_push( $search, $word );
|
||||
}
|
||||
else
|
||||
{
|
||||
$redirect = false;
|
||||
array_push( $error, $lang['invalid_search'] );
|
||||
break;
|
||||
}
|
||||
}
|
||||
$search = array_unique( $search );
|
||||
$search = implode( ',', $search );
|
||||
if ( $redirect )
|
||||
{
|
||||
$url = add_session_id( 'category.php?cat=search&search='.
|
||||
$_POST['search'], true );
|
||||
$url = 'category.php?cat=search&search='.$search.'&mode='.$_POST['mode'];
|
||||
$url = add_session_id( $url, true );
|
||||
header( 'Request-URI: '.$url );
|
||||
header( 'Content-Location: '.$url );
|
||||
header( 'Location: '.$url );
|
||||
exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
$error[$i++] = $lang['invalid_search'];
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------- template initialization
|
||||
$vtp = new VTemplate;
|
||||
|
@ -67,7 +79,8 @@ if ( sizeof( $error ) != 0 )
|
|||
}
|
||||
$vtp->closeSession( $handle, 'errors' );
|
||||
}
|
||||
//---------------------------------------------------------------- search field
|
||||
//------------------------------------------------------------------------ form
|
||||
// search field
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
$vtp->setVar( $handle, 'line.name', $lang['search_field_search'] );
|
||||
$vtp->addSession( $handle, 'text' );
|
||||
|
@ -76,12 +89,40 @@ $vtp->setVar( $handle, 'text.name', 'search' );
|
|||
$vtp->setVar( $handle, 'text.value', $_POST['search'] );
|
||||
$vtp->closeSession( $handle, 'text' );
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
// mode of search : match all words or at least one of this words
|
||||
$vtp->addSession( $handle, 'line' );
|
||||
$vtp->addSession( $handle, 'group' );
|
||||
|
||||
$vtp->addSession( $handle, 'radio' );
|
||||
$vtp->setVar( $handle, 'radio.name', 'mode' );
|
||||
$vtp->setVar( $handle, 'radio.value', 'OR' );
|
||||
$vtp->setVar( $handle, 'radio.option', $lang['search_mode_or'] );
|
||||
if ( $_POST['mode'] == 'OR' or $_POST['mode'] == '' )
|
||||
{
|
||||
$vtp->setVar( $handle, 'radio.checked', ' checked="checked"' );
|
||||
}
|
||||
$vtp->closeSession( $handle, 'radio' );
|
||||
|
||||
$vtp->addSession( $handle, 'radio' );
|
||||
$vtp->setVar( $handle, 'radio.name', 'mode' );
|
||||
$vtp->setVar( $handle, 'radio.value', 'AND' );
|
||||
$vtp->setVar( $handle, 'radio.option', $lang['search_mode_and'] );
|
||||
if ( $_POST['mode'] == 'AND' )
|
||||
{
|
||||
$vtp->setVar( $handle, 'radio.checked', ' checked="checked"' );
|
||||
}
|
||||
$vtp->closeSession( $handle, 'radio' );
|
||||
|
||||
$vtp->closeSession( $handle, 'group' );
|
||||
$vtp->closeSession( $handle, 'line' );
|
||||
//---------------------------------------------------- return to main page link
|
||||
$vtp->setGlobalVar( $handle, 'back_url', add_session_id( './category.php' ) );
|
||||
//----------------------------------------------------------- html code display
|
||||
$code = $vtp->Display( $handle, 0 );
|
||||
echo $code;
|
||||
//------------------------------------------------------------ log informations
|
||||
pwg_log( 'category', $page['title'] );
|
||||
mysql_close();
|
||||
$query = 'insert into '.PREFIX_TABLE.'history';
|
||||
$query.= '(date,login,IP,page) values';
|
||||
$query.= "('".time()."', '".$user['pseudo']."','".$_SERVER['REMOTE_ADDR']."'";
|
||||
|
|
|
@ -47,6 +47,11 @@
|
|||
<!--VTP_text-->
|
||||
<input type="text" name="{#name}" size="{#size}" value="{#value}" />
|
||||
<!--/VTP_text-->
|
||||
<!--VTP_group-->
|
||||
<!--VTP_radio-->
|
||||
<input type="radio" name="{#name}" value="{#value}"{#checked}/>{#option}
|
||||
<!--/VTP_radio-->
|
||||
<!--/VTP_group-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--/VTP_line-->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue