diff options
Diffstat (limited to '')
-rw-r--r-- | admin/include/functions.php | 353 |
1 files changed, 188 insertions, 165 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php index 1aee2d94d..2b4ee9d3e 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -1,9 +1,9 @@ <?php /*************************************************************************** - * functions.php is a part of PhpWebGallery * + * functions.php * * ------------------- * - * last update : Tuesday, September 26, 2002 * - * email : pierrick@z0rglub.com * + * application : PhpWebGallery 1.3 * + * author : Pierrick LE GALL <pierrick@z0rglub.com> * * * *************************************************************************** @@ -14,181 +14,204 @@ * the Free Software Foundation; * * * ***************************************************************************/ + +$tab_ext_create_TN = array ( 'jpg', 'png' ); + +function is_image( $filename, $create_thumbnail = false ) +{ + global $tab_ext_create_TN, $conf; + + $is_image = false; + + if ( is_file ( $filename ) ) + { + $size = getimagesize( $filename ); + // $size[2] == 1 means GIF + // $size[2] == 2 means JPG + // $size[2] == 3 means PNG + if ( !$create_thumbnail ) + { + if ( in_array( get_extension( $filename ), $conf['picture_ext'] ) + and ( $size[2] == 1 or $size[2] == 2 or $size[2] == 3 ) ) + { + $is_image = true; + } + } + else + { + if ( in_array( get_extension( $filename ), $tab_ext_create_TN ) + and ( $size[2] == 2 or $size[2] == 3 ) ) + { + $is_image = true; + } + } + } + return $is_image; +} - $tab_ext = array ( 'jpg', 'gif', 'JPG','GIF','png','PNG' ); - $tab_ext_create_TN = array ( 'jpg', 'JPG','png','PNG' ); - - function get_extension( $filename ) - { - return substr ( strrchr($filename,"."), 1, strlen ( $filename ) ); - } - - function is_image( $filename, $create_thumbnail = false ) - { - global $tab_ext, $tab_ext_create_TN; - $is_image = false; - if ( is_file ( $filename ) ) - { - $size = getimagesize( $filename ); - // $size[2] == 1 means GIF - // $size[2] == 2 means JPG - // $size[2] == 3 means PNG - if ( !$create_thumbnail ) - { - if ( in_array ( get_extension( $filename ), $tab_ext ) && ( $size[2] == 1 || $size[2] == 2 || $size[2] == 3 ) ) - { - $is_image = true; - } - } - else - { - if ( in_array ( get_extension( $filename ), $tab_ext_create_TN ) && ( $size[2] == 2 || $size[2] == 3 ) ) - { - $is_image = true; - } - } - } - return $is_image; - } - - function TN_exist ( $dir, $file ) - { - global $tab_ext, $conf; - $titre = substr ( $file, 0, strrpos ( $file, ".") ); - for ( $i = 0; $i < sizeof ( $tab_ext ); $i++ ) - { - $test = $dir."/thumbnail/".$conf['prefixe_thumbnail'].$titre.".".$tab_ext[$i]; - if ( is_file ( $test ) ) - { - return $tab_ext[$i]; - } - } - return false; - } +function TN_exists( $dir, $file ) +{ + global $conf; + + $filename = get_filename_wo_extension( $file ); + foreach ( $conf['picture_ext'] as $ext ) { + $test = $dir.'/thumbnail/'.$conf['prefixe_thumbnail'].$filename.'.'.$ext; + if ( is_file ( $test ) ) + { + return $ext; + } + } + return false; +} - // The function delete_site deletes a site - // and call the function delete_category for each primary category of the site - function delete_site( $id ) - { - global $prefixeTable; - - // destruction of the categories of the site - $query = "select id from $prefixeTable"."categories where site_id = $id;"; - $result = mysql_query( $query ); - while ( $row = mysql_fetch_array( $result ) ) - { - delete_category( $row['id'] ); - } +// The function delete_site deletes a site +// and call the function delete_category for each primary category of the site +function delete_site( $id ) +{ + // destruction of the categories of the site + $query = 'SELECT id'; + $query.= ' FROM '.PREFIX_TABLE.'categories'; + $query.= ' WHERE site_id = '.$id; + $query.= ';'; + $result = mysql_query( $query ); + while ( $row = mysql_fetch_array( $result ) ) + { + delete_category( $row['id'] ); + } - // destruction of the site - $query = "delete from $prefixeTable"."sites where id = $id;"; - mysql_query( $query ); - } + // destruction of the site + $query = 'DELETE FROM '.PREFIX_TABLE.'sites'; + $query.= ' WHERE id = '.$id; + $query.= ';'; + mysql_query( $query ); +} - // The function delete_category deletes the category identified by the $id - // It also deletes (in the database) : - // - all the images of the images (thanks to delete_image, see further) - // - all the restrictions linked to the category - // The function works recursively. - function delete_category( $id ) - { - global $prefixeTable; +// The function delete_category deletes the category identified by the $id +// It also deletes (in the database) : +// - all the images of the images (thanks to delete_image, see further) +// - all the restrictions linked to the category +// The function works recursively. +function delete_category( $id ) +{ + // destruction of all the related images + $query = 'SELECT id'; + $query.= ' FROM '.PREFIX_TABLE.'images'; + $query.= ' WHERE cat_id = '.$id; + $query.= ';'; + $result = mysql_query( $query ); + while ( $row = mysql_fetch_array( $result ) ) + { + delete_image( $row['id'] ); + } - // destruction of all the related images - $query = "select id from $prefixeTable"."images where cat_id = '".$id."';"; - $result = mysql_query( $query ); - while ( $row = mysql_fetch_array( $result ) ) - { - delete_image( $row['id'] ); - } + // destruction of the restrictions linked to the category + $query = 'DELETE FROM '.PREFIX_TABLE.'restrictions'; + $query.= ' WHERE cat_id = '.$id; + $query.= ';'; + mysql_query( $query ); - // destruction of the restrictions linked to the category - $query = "delete from $prefixeTable"."restrictions where cat_id = '".$id."';"; - mysql_query( $query ); + // destruction of the sub-categories + $query = 'SELECT id'; + $query.= ' FROM '.PREFIX_TABLE.'categories'; + $query.= ' WHERE id_uppercat = '.$id; + $query.= ';'; + $result = mysql_query( $query ); + while( $row = mysql_fetch_array( $result ) ) + { + delete_category( $row['id'] ); + } - // destruction of the sub-categories - $query = "select id from $prefixeTable"."categories where id_uppercat = '$id';"; - $result = mysql_query( $query ); - while( $row = mysql_fetch_array( $result ) ) - { - delete_category( $row['id'] ); - } - - // destruction of the category - $query = "delete from $prefixeTable"."categories where id = '$id';"; - mysql_query( $query ); - } + // destruction of the category + $query = 'DELETE FROM '.PREFIX_TABLE.'categories'; + $query.= ' WHERE id = '.$id; + $query.= ';'; + mysql_query( $query ); +} - // The function delete_image deletes the image identified by the $id - // It also deletes (in the database) : - // - all the comments related to the image - // - all the favorites associated to the image - function delete_image( $id ) - { - global $prefixeTable,$count_deleted; +// The function delete_image deletes the image identified by the $id +// It also deletes (in the database) : +// - all the comments related to the image +// - all the favorites associated to the image +function delete_image( $id ) +{ + global $count_deleted; - // destruction of the comments on the image - $query = "delete from $prefixeTable"."comments where image_id = $id;"; - mysql_query( $query ); + // destruction of the comments on the image + $query = 'DELETE FROM '.PREFIX_TABLE.'comments'; + $query.= ' WHERE image_id = '.$id; + $query.= ';'; + mysql_query( $query ); - // destruction of the favorites associated with the picture - $query = "delete from $prefixeTable"."favorites where image_id = $id;"; - mysql_query( $query ); + // destruction of the favorites associated with the picture + $query = 'DELETE FROM '.PREFIX_TABLE.'favorites'; + $query.= ' WHERE image_id = '.$id; + $query.= ';'; + mysql_query( $query ); - // destruction of the image - $query = "delete from $prefixeTable"."images where id = $id;"; - mysql_query( $query ); - $count_deleted++; - } + // destruction of the image + $query = 'DELETE FROM '.PREFIX_TABLE.'images'; + $query.= ' WHERE id = '.$id; + $query.= ';'; + mysql_query( $query ); + $count_deleted++; +} - // The delete_user function delete a user identified by the $user_id - // It also deletes : - // - all the restrictions linked to this user - // - all the favorites linked to this user - function delete_user( $user_id ) - { - global $prefixeTable; - - // destruction of the restrictions linked to the user - $query = "delete from $prefixeTable"."restrictions where user_id = $user_id;"; - mysql_query( $query ); +// The delete_user function delete a user identified by the $user_id +// It also deletes : +// - all the restrictions linked to this user +// - all the favorites linked to this user +function delete_user( $user_id ) +{ + // destruction of the restrictions linked to the user + $query = 'DELETE FROM '.PREFIX_TABLE.'restrictions'; + $query.= ' WHERE user_id = '.$user_id; + $query.= ';'; + mysql_query( $query ); - // destruction of the favorites associated with the user - $query = "delete from $prefixeTable"."favorites where user_id = $user_id;"; - mysql_query( $query ); + // destruction of the favorites associated with the user + $query = 'DELETE FROM '.PREFIX_TABLE.'favorites'; + $query.= ' WHERE user_id = '.$user_id; + $query.= ';'; + mysql_query( $query ); - // destruction of the user - $query = "delete from $prefixeTable"."users where id = $user_id;"; - mysql_query( $query ); - } + // destruction of the user + $query = 'DELETE FROM '.PREFIX_TABLE.'users'; + $query.= ' WHERE id = '.$user_id; + $query.= ';'; + mysql_query( $query ); +} - // The check_favorites function deletes all the favorites of a user if he is not allowed to see them - // (the category or an upper category is restricted or invisible) - function check_favorites( $user_id ) - { - global $prefixeTable; - - $row = mysql_fetch_array( mysql_query( "select status from $prefixeTable"."users where id = $user_id;" ) ); - $status = $row['status']; - // retrieving all the restricted categories for this user - $restricted_cat = get_all_restrictions( $user_id, $status ); - // retrieving all the favorites for this user and comparing their categories to the restricted categories - $query = "select image_id, cat_id"; - $query.= " from $prefixeTable"."favorites, $prefixeTable"."images"; - $query.= " where user_id = $user_id"; - $query.= " and id = image_id"; - $query.= ";"; - $result = mysql_query ( $query ); - while ( $row = mysql_fetch_array( $result ) ) - { - if ( in_array( $row['cat_id'], $restricted_cat ) ) - { - $query = "delete from $prefixeTable"."favorites"; - $query.= " where image_id = ".$row['image_id']; - $query.= " and user_id = $user_id"; - $query.= ";"; - mysql_query( $query ); - } - } - } +// The check_favorites function deletes all the favorites of a user if he is +// not allowed to see them (the category or an upper category is restricted +// or invisible) +function check_favorites( $user_id ) +{ + $query = 'SELECT status'; + $query.= ' FROM '.PREFIX_TABLE.'users'; + $query.= ' WHERE id = '.$user_id; + $query.= ';'; + $row = mysql_fetch_array( mysql_query( $query ) ); + $status = $row['status']; + // retrieving all the restricted categories for this user + $restricted_cat = get_all_restrictions( $user_id, $status ); + // retrieving all the favorites for this user and comparing their + // categories to the restricted categories + $query = 'SELECT image_id, cat_id'; + $query.= ' FROM '.PREFIX_TABLE.'favorites, '.PREFIX_TABLE.'images'; + $query.= ' WHERE user_id = '.$user_id; + $query.= ' AND id = image_id'; + $query.= ';'; + $result = mysql_query ( $query ); + while ( $row = mysql_fetch_array( $result ) ) + { + if ( in_array( $row['cat_id'], $restricted_cat ) ) + { + $query = 'DELETE FROM '.PREFIX_TABLE.'favorites'; + $query.= ' WHERE image_id = '.$row['image_id']; + $query.= ' AND user_id = '.$user_id; + $query.= ';'; + mysql_query( $query ); + } + } +} ?>
\ No newline at end of file |