Der Code von meiner images.php
<?php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: images.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7 - 1.7.9 *
* File Version: 4.15.7 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
/*
Changes since previous version:
- FIXED: search keywords not being saved at quick edit unless image keywords edited
- FIXED: yet another issue with keywords when adding images
*/
define('IN_CP', 1);
define('ROOT_PATH', './../');
require('admin_global.php');
@include_once(ROOT_PATH . 'includes/ims_core.php');
define('MAIN_SCRIPT', 'images.php');
define('SCRIPT', MAIN_SCRIPT); //backwards compatibility with config file from previous versions
define('KEYWORDS_NEW', version_compare(SCRIPT_VERSION, "1.7.8", ">="));
$additional_image_fields_settings = array();
$preset = array();
/*
These are default settings. You should NOT change them. Instead, use admin/images_config.php to override any of these default settings.
Doing so you won't need edit this file after each update.
*/
//--- Settings -----------------------
$thumbsize = 48; //thumbnail size showed at find image page (will be resized by browser)
$imagesize = 640; //image size showed at edit image page (will be resized by browser)
//quick edit description and keywords field size
$cols = 30; //textarea width
$rows = 4; //textarea height
$target = true; //Open links to edit/delete a single image in a new window? (true or false)
$limitnumber = 25; //number of images per page by default
//Quick Edit options:
$quickedit_checkboxes = 0; //1 = show checkboxes; 0 = show multiline dropdown
$quickedit_checkboxes_height = 200; //when show checkboxes limit height of the column in pixels (0 = disable)
$quickedit_default = array(); //list of image fields that will be selected by default and after search form reset.
//example select image name, description and date by default or when reset search form
/*
$quickedit_default = array(
"image_name",
"image_description",
"image_date",
);
*/
$nextpage_default = 1; //select "Continue next page after save" by default? (1 = yes, 0 = no)
$savedate = 1; //select "save date" on copy/move by default? (1 = yes, 0 = no)
$use_media_template = 1; //use media template at edit image page (useful for non-image files)
$num_newimages_max = 10; //max number of "add new images"
$exif_enable = 1; //use exif? if PHP doesn't support read_exif_data() function, this setting will be ignored and exif support will be disabled.
$image_resize_default = 1; //resize image by default for add new images page (1 = yes, 0 = no)
$thumb_tools_default = 2; //thumbnail tools by default for add new images page (0 = skip, 1 = resize, 2 = create)
$image_resize_type = -1; //image resize type (-1 = use settings, 1 = proportionally, 2 = fixed width, 3 = fixed height)
$image_resize_quality = -1; //image quality (-1 = use settings, 0-100 = quality)
$image_resize_width = -1; //image resize width (-1 = use settings)
$image_resize_height = -1; //image resize height (-1 = use settings)
$thumb_resize_type = -1; //thumbnail resize type (-1 = use settings, 1 = proportionally, 2 = fixed width, 3 = fixed height)
$thumb_resize_quality = -1; //thumbnail quality (-1 = use settings, 0-100 = quality)
$thumb_resize_dimension = -1; //thumbnail resize dimention (-1 = use settings)
$presets_session = 0; //use sessions to store presets? (1 = yes, 0 = no) If no, use $presets_file
$presets_file = ROOT_PATH."data/images_presets.txt"; //file where presets will be stored. Must be writable!
//--- End Settings -------------------
//--- Additional Fields Settings -----
/*
$additional_image_fields_settings["example_field_name0"] = array(true, "%s = '%s'"); //show this field in the search form and do exact string match, this should be used for radio type fields
$additional_image_fields_settings["example_field_name1"] = array(true, "%s LIKE '%s'");
$additional_image_fields_settings["example_field_name2"] = array(true, "%s LIKE '%s\%'");
$additional_image_fields_settings["example_field_name3"] = array(true, "%s LIKE '\%%s'");
$additional_image_fields_settings["example_field_name4"] = array(true, "INSTR(LCASE(%s), '%s')"); //show this field in the search form and search using INSTR() mysql function
$additional_image_fields_settings["example_field_name5"] = array(false, ""); //don't show this field in the search form
*/
//--- End Additional Fields Settings--
//--- Language Settings --------------
if (!isset($lang['big_not_found']))
{
if ($config['language_dir'] == "deutsch")
{
$lang['changeowner'] = "Username ersetzen";
$lang['copy'] = "Kopieren";
$lang['move'] = "Verschieben";
$lang['save'] = "Speichern";
$lang['big_not_found'] = "Kein Original in Big Ordner gefunden";
$lang['orig_not_found'] = "Kein Original gefunden";
$lang['copy_file_error_perm'] = "Error Kopieren. (Datei %s zu %s) Bitte uberprufe Deine Ordner Rechte.";
$lang['skipped'] = "Ubersprungen";
$lang['in_cat_id'] = "von Kategorie ID";
$lang['error_del_big'] = "Error geloschte \"Big\" Datei";
$lang['error_del_backup'] = "Error geloschte \"Backup\" Datei";
$lang['src_des_same'] = "Quelle und Ziel sind gleich";
$lang['owner_error'] = "Error User ersetzen";
$lang['no_user_select'] = "Kein User ausgewahlt";
$lang['owner_success'] = "Username erfolgreich gewechselt";
$lang['file_delete_success'] = "Bild-Datei erfolgreich geloscht";
$lang['file_big_delete_success'] = "Bild-Datei in Big Ordner erfolgreich geloscht";
$lang['user_id_contains'] = "User ID enthalt";
$lang['image_active'] = "Aktiviert";
$lang['quick_edit'] = "Bilder Optionen";
$lang['continue_next_page'] = "Weiter auf nachste Seite";
$lang['move_confirm'] = "Verschiebe Datei(en) nach Kategorie <b>%s</b> [ID: %s]?";
$lang['error_log'] = "Ereignis Log:";
$lang['save_log'] = "Save Log:";
$lang['image_update_success'] = "Bilder erfolgreich aktualisiert";
$lang['copy_confirm'] = "Kopiere Datei(en) nach <b>%s</b> [ID: %s]?";
$lang['upload_error'][0] = "Error Bild aktualisierung"; //single
$lang['upload_error'][1] = "Error Bilder aktualisierung"; //plural
$lang['upload_success'][0] = "Bild erfolgreich aktualisiert"; //single
$lang['upload_success'][1] = "Bilder erfolgreich aktualisiert"; //plural
$lang['edit_image'][0] = "Editiere Bild";
$lang['edit_image'][1] = "Editiere Bilder";
$lang['cat_image'] = "Kategorie Bild";
$lang['current_image'] = "Aktuelles Bild:";
$lang['copy_success'] = "<b>Bild \"%s\" erfolgreich kopiert</b> (von Kategorie %s nach %s)";
$lang['copy_error_skipped'] = "<b>Bild</b> %s <b>wurde nicht kopiert</b>";
$lang['copy_error_thumb'] = "<b>Error Thumbnail Datei kopieren</b> %s";
$lang['copy_error_media'] = "<b>Error Media Datei kopieren</b> %s";
$lang['copy_error_db'] = "<b>Error Datenbank Update. Bild %s wurde nicht kopiert</b>";
$lang['move_success'] = "<b>Bild \"%s\" erfolgreich verschoben</b> (von Kategorie %s nach %s)";
$lang['move_error'] = "<b>Error Bild verschieben</b> %s (from category: %s to %s)";
$lang['move_error_thumb'] = "<b>Error Thumbnail Datei verschieben</b> %s";
$lang['move_error_media'] = "<b>Error Media Datei verschieben</b> %s";
$lang['move_error_skipped'] = "<b>Bild</b> %s <b>wurde nicht verschoben</b>";
$lang['move_error_db'] = "<b>Error Datenbank Update. Bild %s wurde nicht verschoben</b>";
$lang['no_image'] = "Kein Bild mit dieser ID gefunden";
$lang['save_date'] = "Speichere Original Datum";
$lang['save_date_exp'] = "Bei nicht aktivierter CheckBox wird das heutige Datum eingefugt!";
$lang['ims_file_delete_success'] = "Bild Cache Datei erfolgreich geloscht (<i>%s</i>)";
$lang['ims_file_delete_error'] = "Error loschen Bild Cache Datei (<i>%s</i>)";
$lang['additional_fields'] = "Zusatzliche Bild Felder <span class=\"smalltext\">(muss aktiviert sein durch das Auswahlmenu neben jedem Feld)</span>";
$lang['default'] = "Standard";
$lang['edit_log'] = "Editiere Bilder Log:";
$lang['quick_edit_fields'] = "Schnelle editierbare Felder";
$lang['quick_edit_fields_exp'] = "<span class=\"smalltext\"><i>(Selektiere mehrere Felder, drucke und halte die CTRL Taste, wahle dann die gewunschten Felder.<br />Entferne ein Feld, drucke die CTRL Taste und klicke auf das selektierte Feld.<br />Ist nichts ausgewahlt, ist die Funktion ausgeschaltet.)</i></span>";
$lang['field_cat_id'] = "Kategorie ID";
$lang['field_user_id'] = "User ID";
$lang['field_media_file'] = "Media Datei";
$lang['select_all'] = "Alle auswahlen";
$lang['select_none'] = "Nichts auswahlen";
$lang['comments_delete_success'] = "Kommentar(e) erfolgreich geloscht";
$lang['comments_delete_error'] = "Error Kommentar(e) loschen";
$lang['skip'] = "Uberspringen";
$lang['resize'] = "Verkleinern";
$lang['create_thumb'] = "Erstellen";
$lang['thumb_tools_add'] = "Thumbnail Werkzeug<br /><span class=\"smalltext\"><b>Verkleinern</b> - Hochgeladenes Thumbnail verkleinern<br /><b>Erstellen</b> - Erstelle Thumbnail von Media Datei</span>";
$lang['thumb_tools_edit'] = "Thumbnail Werkzeug<br /><span class=\"smalltext\"><b>Loschen</b> - Losche existierendes Thumbnail<br /><b>Verkleinern</b> - Verkleinere existierendes oder neu hochgeladenes Thumbnail<br /><b>Erstellen</b> - Erstelle Thumbnail von Media Datei</span>";
$lang['image_resize'] = "Verkleinertes Bild";
$lang['image_resize_skipped'] = "Bild verkleinern ubersprungen";
$lang['image_resize_error'] = "Bild Error verkleinern";
$lang['image_resize_success'] = "<b>Bild verkleinert</b> (von %sx%s nach %sx%s)";
$lang['thumb_resize_skipped'] = "Thumbnail verkleinern ubersprungen";
$lang['thumb_resize_error'] = "Thumbnail Error verkleiner";
$lang['thumb_resize_success'] = "Thumbnail verkleinert";
$lang['thumb_create_skipped'] = "Thumbnail erstellen ubersprungen";
$lang['thumb_create_error'] = "Thumbnail Error erstellen";
$lang['thumb_create_success'] = "Thumbnail erstellt";
$lang['log'] = "Log";
$lang['load'] = "Laden";
$lang['msg'] = "Nachricht";
$lang['presets'] = "Einstellungen";
$lang['preset_save'] = "Einstellungen in einer Datei speichern<br /><span class=\"smalltext\">Ist die Checkbox vor dem Speichern aktiviert, werden die Einstellungen immer \"Automatisch geladen\"</span>";
$lang['preset_load_error'] = "Error Einstellungen laden";
$lang['preset_delete_error'] = "Error Einstellungen loschen";
$lang['preset_save_error'] = "Error Einstellungen speichern";
$lang['preset_loaded'] = "Geladen";
$lang['qe_cat_id_error'] = "Kategorie mit ID \"%s\" existiert nicht";
$lang['include_subcats'] = "Inklusive Subkategorien";
}
else
{
$lang['changeowner'] = "Change owner";
$lang['copy'] = "Copy";
$lang['move'] = "Move";
$lang['save'] = "Save";
$lang['big_not_found'] = "No Original size (big) Found";
$lang['orig_not_found'] = "No Original Found";
$lang['copy_file_error_perm'] = "Copy error. (File %s to %s) Please check the directory permissions.";
$lang['copy_success'] = "<b>Image \"%s\" successfully copied</b> (from category %s to %s)";
$lang['copy_error_thumb'] = "<b>Error copying thumbnail file</b> %s";
$lang['copy_error_media'] = "<b>Error copying media file</b> %s";
$lang['copy_error_skipped'] = "<b>Image</b> %s <b>was not coppied</b>";
$lang['copy_error_db'] = "<b>Error updating database. Image %s was not coppied</b>";
$lang['skipped'] = "Skipped";
$lang['in_cat_id'] = "in category ID";
$lang['error_del_big'] = "Error deleting \"big\" file";
$lang['error_del_backup'] = "Error deleting \"backup\" file";
$lang['src_des_same'] = "Source and destination are the same";
$lang['move_success'] = "<b>Image \"%s\" successfully moved</b> (from category %s to %s)";
$lang['move_error'] = "<b>Error moving image</b> %s (from category: %s to %s)";
$lang['move_error_thumb'] = "<b>Error moving thumbnail file</b> %s";
$lang['move_error_media'] = "<b>Error moving media file</b> %s";
$lang['move_error_skipped'] = "<b>Image</b> %s <b>was not moved</b>";
$lang['move_error_db'] = "<b>Error updating database. Image %s was not moved</b>";
$lang['owner_error'] = "Error changing owner";
$lang['no_user_select'] = "No user selected";
$lang['owner_success'] = "Owner successfuly changed";
$lang['file_delete_success'] = "Image file successfully deleted";
$lang['file_big_delete_success'] = "Image file successfully in Big file deleted";
$lang['user_id_contains'] = "User ID contains";
$lang['image_active'] = "Activated";
$lang['quick_edit'] = "Quick edit";
$lang['continue_next_page'] = "Continue next page after save";
$lang['save_date'] = "Save original date";
$lang['save_date_exp'] = "If checked, the images original date will not be changed, otherwise current date will be used";
$lang['move_confirm'] = "Move image files to category <b>%s</b> [ID: %s]?";
$lang['error_log'] = "Error Log:";
$lang['save_log'] = "Save Log:";
$lang['image_update_success'] = "Images successfuly updated";
$lang['copy_confirm'] = "Copy image(s) to category <b>%s</b> [ID: %s]?";
$lang['upload_error'][0] = "Error updating image"; //single
$lang['upload_error'][1] = "Error updating images"; //plural
$lang['upload_success'][0] = "Image updated successfuly"; //single
$lang['upload_success'][1] = "Images updated successfuly"; //plural
$lang['edit_image'][0] = "Edit image"; //single
$lang['edit_image'][1] = "Edit images"; //plural
$lang['cat_image'] = "Category image";
$lang['current_image'] = "Current image:";
$lang['no_image'] = "No image found with this ID";
$lang['additional_fields'] = "Additional image fields <span class=\"smalltext\">(must be enabled by the dropdown menu next to each field)</span>";
$lang['ims_file_delete_success'] = "Image cache file successfully deleted (<i>%s</i>)";
$lang['ims_file_delete_error'] = "Error deleting image cache file (<i>%s</i>)";
$lang['default'] = "Default";
$lang['edit_log'] = "Edit images log";
$lang['quick_edit_fields'] = "Quick Edit Fields";
$lang['quick_edit_fields_exp'] = "<span class=\"smalltext\"><i>(To select multiple fields press and hold CTRL key, then click on needed field.<br />To deselect hold CTRL key and click on selected field.<br />If nothing selected quick edit will be disabled)</i></span>";
$lang['field_cat_id'] = "Category ID";
$lang['field_user_id'] = "User ID";
$lang['field_media_file'] = "Media file";
$lang['select_all'] = "Select all";
$lang['select_none'] = "Select none";
$lang['comments_delete_success'] = "Comment(s) deleted";
$lang['comments_delete_error'] = "Error deleting comment(s)";
$lang['skip'] = "Skip";
$lang['resize'] = "Resize";
$lang['create_thumb'] = "Create";
$lang['thumb_tools_add'] = "Thumbnail tools<br /><span class=\"smalltext\"><b>Resize</b> - resize uploaded thumbnail<br /><b>Create</b> - create thumbnail from image file</span>";
$lang['thumb_tools_edit'] = "Thumbnail tools<br /><span class=\"smalltext\"><b>Delete</b> - delete existing thumbnail<br /><b>Resize</b> - resize existing or new uploaded thumbnail<br /><b>Create</b> - create thumbnail from image file</span>";
$lang['image_resize'] = "Resize image";
$lang['image_resize_skipped'] = "Image resize skipped";
$lang['image_resize_error'] = "Image resize error";
$lang['image_resize_success'] = "<b>Image resized</b> (from %sx%s to %sx%s)";
$lang['thumb_resize_skipped'] = "Thumbnail resize skipped";
$lang['thumb_resize_error'] = "Thumbnail resize error";
$lang['thumb_resize_success'] = "Thumbnail resized";
$lang['thumb_create_skipped'] = "Thumbnail create skipped";
$lang['thumb_create_error'] = "Thumbnail create error";
$lang['thumb_create_success'] = "Thumbnail created";
$lang['log'] = "Log";
$lang['load'] = "Load";
$lang['msg'] = "Message";
$lang['presets'] = "Presets";
$lang['preset_save'] = "Save this form in a preset<br /><span class=\"smalltext\">Use the checkbox to save the preset as \"auto load\"</span>";
$lang['preset_load_error'] = "Error loading preset";
$lang['preset_delete_error'] = "Error deleting preset";
$lang['preset_save_error'] = "Error saving preset";
$lang['preset_loaded'] = "loaded";
$lang['qe_cat_id_error'] = "Category with ID \"%s\" doesn't exist";
$lang['include_subcats'] = "Include subcategories";
}
}
//--- End Language Settings ----------
@include(ROOT_PATH . 'admin/images_config.php');
/*set BIGDIR variable with the name of your "big" folder for "big" images (no trailing slashes!)*/
//define("BIGDIR", "");
if (!defined('BIGDIR'))
{
define('BIGDIR', "big"); // http://www.4homepages.de/forum/index.php?topic=3236.0
}
/*set BACKUPDIR variable with the full path to your backup dir (no trailing slashes!)*/
if (!defined('BACKUPDIR'))
{
define('BACKUPDIR', "");
// define('BACKUPDIR', "/home/4images/backup"); //example full path on unix systems
// define('BACKUPDIR', "C:/4images/backup"); //example full path on windows systems
}
if (!defined("EXIF_ENABLE"))
{
$exif_enble = (function_exists("read_exif_data")) ? $exif_enable : 0;
define("EXIF_ENABLE", $exif_enable);
}
$header_insert = "<style>.tablerow_error {
BACKGROUND-COLOR: #ECDFDF;
}
.tablerow2_error {
BACKGROUND-COLOR: #F9F2F2;
}
.categoryselect {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 11px;
}
.categoryselect1 {
font-family: Tahoma,Verdana,Arial,Helvetica,sans-serif;
color: #0f5475;
font-size: 11px;
BACKGROUND-COLOR: #F9F8D2;
}
</style>
<script type=\"text/javascript\">
<!--
function changeStyle(obj, c)
{
obj.className=c;
}
function get_element(f, e)
{
alert(f.e);
}
// -->
</script>
";
include(ROOT_PATH.'includes/search_utils.php');
// Start Upload
include(ROOT_PATH.'includes/upload.php');
$site_upload = new Upload();
include(ROOT_PATH.'includes/image_utils.php');
$convert_options = init_convert_options();
if ($action == "")
{
$action = "modifyimages";
}
if (isset($HTTP_POST_VARS['action2']) && !empty($HTTP_POST_VARS['action2']))
{
$action = $HTTP_POST_VARS['action2'];
}
$action = fixaction($action); // since we use $lang for some actions we should remove any spaces
$owner = $user_info['user_id'];
$types_array_text = array(
"LIKE" => "%s LIKE '%s'",
"LIKE %...%" => "%s LIKE '%%%s%%'",
"NOT LIKE" => "%s NOT LIKE '%s'",
"=" => "%s = '%s'",
"!=" => "%s != '%s'",
"REGEXP" => "%s REGEXP '%s'",
"NOT REGEXP" => "%s NOT REGEXP '%s'",
);
$types_array_int = array(
"=" => "%s = '%s'",
"!=" => "%s != '%s'",
">" => "%s > '%s'",
">=" => "%s >= '%s'",
"<" => "%s < '%s'",
"<=" => "%s <= '%s'",
);
$types_array_radio = array(
"=" => "%s = '%s'",
);
$types_array_dropdown = array(
"=" => "%s = '%s'",
"!=" => "%s != '%s'",
);
$fields_default = array(
"image_name" => array($lang['field_image_name'], "text"),
"cat_id" => array($lang['field_cat_id'], "text", array(1)),
"user_id" => array($lang['field_user_id'], "text", array(1)),
"image_description" => array($lang['field_description'], "textarea"),
"image_keywords" => array($lang['field_keywords'], "textarea"),
"image_date" => array($lang['field_date'], "date"),
"image_active" => array($lang['field_free'], "radio", array(1)),
// "image_media_file" => array($lang['field_media_file'], "text"),
// "image_thumb_file" => array($lang['field_thumb_file'], "text"),
"image_download_url" => array($lang['field_download_url'], "text"),
"image_allow_comments" => array($lang['field_allow_comments'], "radio", array(1)),
"image_comments" => array($lang['field_comment'], "text", array(1)),
"image_downloads" => array($lang['field_downloads'], "text", array(1)),
"image_votes" => array($lang['field_votes'], "text", array(1)),
"image_rating" => array($lang['field_rating'], "text", array(1)),
"image_hits" => array($lang['field_hits'], "text", array(1)),
);
$quickedit_fields_all = $fields_default;
$table_fields = $site_db->get_table_fields(IMAGES_TABLE);
$preset_additional_fields = array();
foreach ($additional_image_fields as $field => $val)
{
if (!isset($table_fields[$field]) || (isset($additional_image_fields_settings[$field][0]) && !$additional_image_fields_settings[$field][0]))
continue;
$quickedit_fields_all[$field] = $val;
$value = "";
if ($val[1] == "radio")
{
$value = 1;
}
$preset_additional_fields[$field."_type"] = array("int", 0);
$preset_additional_fields[$field] = array("trim", $value);
}
//--- Presets ------------------------
// doesn't work (yet)
$preset = "default";
if (!$presets_session || ($presets_session && !$presests = $site_sess->get_session_var("acp_images_presets")))
{
$presets = @file_get_contents($presets_file);
}
if (!$presets = @unserialize($presets))
{
$presets = array();
}
$presets['default'] = array(
"image_id_type" => array("int", -1),
"image_id" => array("int", ""),
"image_name_type" => array("int", -1),
"image_name" => array("trim", ""),
"image_description_type" => array("int", -1),
"image_description" => array("trim", ""),
"image_keywords_type" => array("int", -1),
"image_keywords" => array("trim", ""),
"cat_id_type" => array("int", -1),
"cat_id" => array("int", 0),
"user_id_type" => array("int", -1),
"user_id" => array("int", ""),
"user_name_type" => array("int", -1),
"user_name" => array("trim", ""),
"image_active" => array("int", 1),
"image_media_file_type" => array("int", -1),
"image_media_file" => array("trim", ""),
"image_thumb_file_type" => array("int", -1),
"image_thumb_file" => array("trim", ""),
"dateafter" => array("trim", ""),
"datebefore" => array("trim", ""),
"downloadsupper" => array("int", ""),
"downloadslower" => array("int", ""),
"ratingupper" => array("trim", ""),
"ratinglower" => array("trim", ""),
"votesupper" => array("int", ""),
"voteslower" => array("int", ""),
"hitsupper" => array("int", ""),
"hitslower" => array("int", ""),
"orderby" => array("trim", "i.image_date"),
"direction" => array("trim", "DESC"),
"limitnumber" => array("int", $limitnumber),
"additional_fields" => array("", $preset_additional_fields),
"quickedit" => array("", $quickedit_default),
"subcat" => array("bool", 1),
);
if (!isset($presets['_default_']))
{
$presets['_default_'] = $preset;
}
$preset_new = (isset($HTTP_POST_VARS['preset']) && $HTTP_POST_VARS['preset']) ? trim($HTTP_POST_VARS['preset']) : ((isset($HTTP_GET_VARS['preset']) && $HTTP_GET_VARS['preset']) ? trim($HTTP_GET_VARS['preset']) : false);
if (!$preset_new || !isset($presets[$preset]))
{
$preset = $presets['_default_'];
}
else
{
$preset = $preset_new;
}
//--- End Presets -----
$image_resize_type = ($image_resize_type != -1) ? $image_resize_type : (isset($config['auto_image_resize_type']) ? $config['auto_image_resize_type'] : $config['auto_thumbnail_resize_type']);
$image_resize_quality = ($image_resize_quality != -1) ? $image_resize_quality : (isset($config['auto_image_quality']) ? $config['auto_image_quality'] : $config['auto_thumbnail_quality']);
$image_resize_width = ($image_resize_width != -1) ? $image_resize_width : $config['max_image_width'];
$image_resize_height = ($image_resize_height != -1) ? $image_resize_height : $config['max_image_height'];
$thumb_resize_type = ($thumb_resize_type != -1) ? $thumb_resize_type : $config['auto_thumbnail_resize_type'];
$thumb_resize_quality = ($thumb_resize_quality != -1) ? $thumb_resize_quality : $config['auto_thumbnail_quality'];
$thumb_resize_dimension = ($thumb_resize_dimension != -1) ? $thumb_resize_dimension : $config['auto_thumbnail_dimension'];
function preset_save()
{
global $presets, $site_sess, $msg, $presets_session, $presets_file;
$data = $presets;
unset($data['default']);
$data = serialize($data);
if ($presets_session || !@file_put_contents($presets_file, $data))
{
$site_sess->set_session_var("acp_images_presets", $data);
}
}
if (!function_exists("get_exif_insert_link"))
{
function get_exif_insert_link($file, $tag, $input, $add_text = 1, $before = "", $after = "")
{
if (!EXIF_ENABLE || !function_exists('exif_read_data') || !$exif_data = @exif_read_data($file, 'EXIF'))
return;
if (!isset($exif_data[$tag]))
return;
global $lang;
$value = "";
switch ($tag)
{
case "DateTimeOriginal":
case "DateTime":
case "DateTimeDigitized";
$value = preg_replace("/([0-9]{4}):([0-9]{2}):([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/", "\\1-\\2-\\3 \\4:\\5:\\6", $exif_data[$tag]);
break;
default:
$value = $exif_data[$tag];
break;
}
if (!empty($value))
{
$txt = (isset($lang['exif_'.$tag])) ? $lang['exif_'.$tag] : "EXIF: ".$tag;
/*
$html .= "<script language=\"javascript\">\n<!--\n";
$html .= "this.document.writeln('".(isset($beforeafter[0]) ? $beforeafter[0] : "")."<input type=\"button\" value=\"$txt\" onClick=\"this.form.elements[\'".$input."\'].value=".(($add_text) ? "this.form.elements[\'".$input."\'].value + " : "")."\'".trim(str_replace('"', '"', str_replace("'", "\'", $value)))."\'\" class=\"button\"> $value".(isset($beforeafter[1]) ? $beforeafter[1] : "")."');";
$html .= "\n//-->\n</script>\n";
*/
$html = $before;
$html .= "<input type=\"button\" value=\"$txt\" onClick=\"this.form.elements['".$input."'].value=".(($add_text) ? "this.form.elements['".$input."'].value + " : "")."'".trim(str_replace('"', '"', $value))."'\" class=\"button\"> $value";
$html .= $after;
return $html;
}
}
}
function _show_num_select_row($title, $option, $desc = "", $max = 10)
{
global $site_sess, $PHP_SELF, $action, $$option;
if ($max < ${$option})
$max = ${$option};
echo "<tr class=\"".get_row_bg()."\">\n<td><p>".$title."</p></td>\n";
echo "<td align=\"right\"><p>".$desc;
$url = $PHP_SELF;
$url .= preg_match("/\?/", $url) ? "&" : "?";
$url .= "action=".$action;
$url = $site_sess->url($url);
echo "<select name=\"num\" onchange=\"window.location=('".$url."&";
echo $option."='+this.options[this.selectedIndex].value)\">\n";
for ($i = 1; $i <= $max; $i++)
{
echo "<option value=\"$i\"";
if ($i == ${$option})
{
echo " selected";
}
echo ">".$i."</option>\n";
}
echo "</select> ";
echo "<script type=\"text/javascript\">
function checkEnter(e,v){ //e is event object passed from function invocation
var characterCode //literal character code will be stored in this variable
if(e && e.which){ //if which property of event object is supported (NN4)
e = e
characterCode = e.which //character code is contained in NN4's which property
}
else{
e = event
characterCode = e.keyCode //character code is contained in IE's keyCode property
}
if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
window.location=('".$url."&".$option."='+v);
return false
}
else{
return true
}
}
</script>";
echo "<input name=\"num2\" value=\"".${$option}."\" size=\"3\" onkeypress=\"return checkEnter(event, this.value);\"></p></td>\n</tr>\n";
}
if (!function_exists("safe_htmlspecialchars"))
{
function safe_htmlspecialchars($chars)
{
// Translate all non-unicode entities
$chars = preg_replace(
'/&(?!(#[0-9]+|[a-z]+);)/si',
'&',
$chars
);
$chars = str_replace(">", ">", $chars);
$chars = str_replace("<", "<", $chars);
$chars = str_replace('"', """, $chars);
return $chars;
}
}
function get_type_dropdown($name, $select = 0, $type = "text", $field = "", $default = true, $empty = true, $class = "", $js = "")
{
global $HTTP_POST_VARS;
if (isset($HTTP_POST_VARS[$name]))
{
$select = (int)$HTTP_POST_VARS[$name];
}
$return = "<select name=\"" . $name . "\" class=\"categoryselect" . $class . "\" " . $js . ">\n";
$return .= get_type_dropdown_options($select, $type, $field, $default, $empty);
$return .= "</select>\n";
return $return;
}
function get_type_dropdown_options($select = 0, $type = "text", $field = "", $default = true, $empty = true)
{
global $lang;
switch ($type)
{
case "radio":
$var = "radio";
break;
case "dropdown":
$var = "dropdown";
break;
default:
$var = (strstr(strtolower($field), "int") === false) ? "text" : "int";
break;
}
$var = "types_array_" . $var;
global $$var;
$var = array_keys($$var);
$return = "";
$count = count($var);
if ($empty)
{
$return .= "<option value=\"0\"" . (!$select ? " selected" : "") . "></option>\n";
}
if ($default)
{
$return .= "<option value=\"-1\"" . ($select == -1 ? " selected" : "") . ">" . $lang['default'] . "</option>\n";
}
for($i = 1; $i <= $count; $i++)
{
$selected = ($select == $i) ? " selected" : "";
$return .= "<option value=\"" . $i . "\"" . $selected . ">" . $var[$i-1] . "</option>\n";
}
return $return;
}
function get_type_condition($select = 0, $type = "text", $field = "", $default = true, $empty = true, $array = array(""))
{
if ($select == -1) return false; //use default
if ($default) $select--;
if ($empty) $select--;
switch ($type)
{
case "radio":
$var = "radio";
break;
case "dropdown":
$var = "dropdown";
break;
default:
$var = (strstr(strtolower($field), "int") === false) ? "text" : "int";
break;
}
$var = "types_array_" . $var;
global $$var;
$key = array_keys($$var);
$var = array_values($$var);
if (!isset($var[$select]) || ($key[$select] == "REGEXP" && !$array[1]))
return false;
return vsprintf($var[$select], $array);
}
function show_input_row_type($title, $name, $value = "", $size = "", $type = null, $default = true, $empty = true)
{
if ($type !== null)
{
$d = ($empty) ? 0 : (($default) ? -1 : $type[0]);
$class = ($type[0] == $d) ? "" : 1;
$js = "onChange=\"changeStyle(this,'categoryselect1');if(this.value!=" . $d . "){changeStyle(this,'categoryselect1');}else{changeStyle(this,'categoryselect');}\"";
$title = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"rowtitle\"><td width=\"100%\">".$title."</td>";
$title .= "<td>" . get_type_dropdown($name . "_type", $type[0], "", $type[1], $default, $empty, $class, $js) . "</td></table>";
}
echo "<div>";
show_input_row($title, $name, $value, $size);
echo "</div>";
}
function show_cat_select_row_type($title, $cat_id, $admin = 0, $i = 0, $type = null, $default = true, $empty = true, $subcat = null)
{
if ($type !== null)
{
$d = ($empty) ? 0 : (($default) ? -1 : $type);
$class = ($type == $d) ? "" : 1;
$js = "onChange=\"if(this.value!=" . $d . "){changeStyle(this, 'categoryselect1');}else{changeStyle(this, 'categoryselect')}\"";
$title = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"rowtitle\"><td width=\"100%\">".$title."</td>";
$title .= "<td>" . get_type_dropdown("cat_id_type", $type, "dropdown", "", $default, $empty, $class, $js) . "</td></table>";
}
ob_start();
show_cat_select_row($title, $cat_id, $admin, $i);
$dropdown = ob_get_contents();
ob_end_clean();
if ($subcat !== null)
{
global $lang;
$radio = ' <label for="subcat"><input type="checkbox" name="subcat" id="subcat"' . ($subcat ? ' checked=checked' : '') . ($cat_id ? '' : ' disabled') . '> ' . $lang['include_subcats'] . '</label>';
$dropdown = str_replace("</td>\n</tr>", $radio . "\n</td>\n</tr>", $dropdown);
$select = 'name="cat_id" onchange="this.form.subcat.disabled = (this.value == 0);"';
$dropdown = str_replace('name="cat_id"', $select, $dropdown);
}
echo $dropdown;
}
function show_user_dropdown_row_type($name, $val, $value = 0, $type = null, $default = true, $empty = true)
{
if ($type !== null)
{
$d = ($empty) ? 0 : (($default) ? -1 : $type);
$class = ($type == $d) ? "" : 1;
$js = "onChange=\"if(this.value!=" . $d . "){changeStyle(this, 'categoryselect1');}else{changeStyle(this, 'categoryselect')}\"";
$val[0] = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"rowtitle\"><td width=\"100%\">".$val[0]."</td>";
$val[0] .= "<td>" . get_type_dropdown($name . "_type", $type, "dropdown", "", $default, $empty, $class, $js) . "</td></table>";
}
if (function_exists("show_user_dropdown_row"))
show_user_dropdown_row($name, $val, $value);
}
function show_radio_row_type($title, $name, $value = 1, $type = null, $default = true, $empty = true)
{
if ($type !== null)
{
$d = ($empty) ? 0 : (($default) ? -1 : $type);
$class = ($type == $d) ? "" : 1;
$js = "onChange=\"if(this.value!=" . $d . "){changeStyle(this, 'categoryselect1');}else{changeStyle(this, 'categoryselect')}\"";
$title = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"rowtitle\"><td width=\"100%\">".$title."</td>";
$title .= "<td>" . get_type_dropdown($name . "_type", $type, "radio", "", $default, $empty, $class, $js) . "</td></table>";
}
show_radio_row($title, $name, $value);
}
if (!function_exists("redirect"))
{
function redirect($url)
{
global $script_url, $site_sess;
if (strpos($url, '://') === false)
{
$url = $script_url.'/'.$url;
}
$location = @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ? 'Refresh: 0; URL=' : 'Location: ';
if (is_object($site_sess))
{
$url = $site_sess->url($url, "&");
}
header($location.$url);
exit;
}
}
function get_resize2($file, $dim, $height = false, $file_info = false)
{
if ($file_info === false)
{
$file_info = @getimagesize($file);
}
if (!$file_info)
return array(0, 0, array(), 0);;
$width = $file_info[0];
$height = $file_info[1];
if ($width && $height)
{
if ($width > $dim || $height > $dim)
{
@$ratio = $width / $height;
if ($ratio > 1)
{
$new_width = $dim;
$new_height = round(($dim/$width) * $height);
}
else
{
$new_width = round(($dim/$height) * $width);
$new_height = $dim;
}
}
else
{
$new_width = $width;
$new_height = $height;
}
}
else
{
$new_width = $dim;
$new_height = $dim;
}
return array($new_width, $new_height, $file_info, 1);
}
function delete_images($image_ids, $delfromserver = 1)
{
global $site_db, $lang;
if (empty($image_ids))
{
echo $lang['no_search_results'];
return false;
}
$error_log = array();
echo "<br />";
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file, l.lightbox_image_ids
FROM ".IMAGES_TABLE." i
LEFT JOIN ".LIGHTBOXES_TABLE." l ON (l.user_id = i.user_id)
WHERE i.image_id IN ($image_ids)";
$image_result = $site_db->query($sql);
while ($image_row = $site_db->fetch_array($image_result))
{
if ($image_row['user_id'] != GUEST)
{
$lightbox_array = explode(" ",$image_row['lightbox_image_ids']);
foreach ($lightbox_array as $key => $val)
{
if ($val == $image_row['image_id'])
{
unset($lightbox_array[$key]);
}
}
$lightbox_image_ids = trim(implode(" ", $lightbox_array));
$sql = "UPDATE ".LIGHTBOXES_TABLE."
SET lightbox_image_ids = '".$lightbox_image_ids."'
WHERE user_id = ".$image_row['user_id'];
$site_db->query($sql);
}
$sql = "DELETE FROM ".IMAGES_TABLE."
WHERE image_id = ".$image_row['image_id'];
if ($site_db->query($sql))
{
echo "<b>".$lang['image_delete_success']."</b> ".format_text($image_row['image_name'], 2)." [ID: ".$image_row['image_id']."]<br />\n";
}
else
{
$error_log[] = "<b>".$lang['image_delete_error']."</b> ".format_text($image_row['image_name'], 2)." [ID: ".$image_row['image_id']."]<br />";
}
if ($delfromserver)
{
if (!is_remote($image_row['image_media_file']) && !is_local_file($image_row['image_media_file']))
{
if (@unlink(MEDIA_PATH."/".$image_row['cat_id']."/".$image_row['image_media_file']))
{
echo " ".$lang['file_delete_success']." (".$image_row['image_media_file'].")<br />\n";
}
else
{
$error_log[] = "<b>".$lang['file_delete_error']." (".$image_row['image_media_file'].")<br />";
}
}
if (!empty($image_row['image_thumb_file']) && !is_remote($image_row['image_thumb_file']) && !is_local_file($image_row['image_thumb_file']))
{
if (@unlink(THUMB_PATH."/".$image_row['cat_id']."/".$image_row['image_thumb_file']))
{
echo " ".$lang['thumb_delete_success']." (".$image_row['image_thumb_file'].")<br />\n";
}
else
{
$error_log[] = "<b>".$lang['thumb_delete_error']." (".$image_row['image_thumb_file'].")<br />\n";
}
}
if (BIGDIR)
{
if (@unlink(MEDIA_PATH."/".$image_row['cat_id']."/".BIGDIR."/".$image_row['image_media_file']))
{
echo " ".$lang['file_big_delete_success']." (".BIGDIR."/".$image_row['image_media_file'].")<br />\n";
}
else
{
echo " ".$lang['big_not_found']." <br />\n";
}
}
if (BACKUPDIR)
{
if (@unlink(BACKUPDIR."/".$image_row['cat_id']."/".$image_row['image_media_file']))
{
echo " ".$lang['file_delete_success']." (".BACKUPDIR."/".$image_row['image_media_file'].")<br />\n";
}
else
{
echo " ".$lang['orig_not_found']." <br />\n";
}
}
}
if (defined("IMS_DIR"))
{
$list = IMS_getFileList($image_row);
foreach($list as $file)
{
if (@unlink($file))
{
echo " ".sprintf($lang['ims_file_delete_success'], $file)."<br />\n";
}
else
{
echo " ".sprintf($lang['ims_file_delete_error'], $file)."<br />\n";
}
}
}
if (!empty($user_table_fields['user_comments']))
{
$sql = "SELECT user_id
FROM ".COMMENTS_TABLE."
WHERE image_id = ".$image_row['image_id']." AND user_id <> ".GUEST;
$result = $site_db->query($sql);
while ($row = $site_db->fetch_array($result))
{
$sql = "UPDATE ".USERS_TABLE."
SET ".get_user_table_field("", "user_comments")." = ".get_user_table_field("", "user_comments")." - 1
WHERE ".get_user_table_field("", "user_id")." = ".$row['user_id'];
$site_db->query($sql);
}
}
$sql = "DELETE FROM ".COMMENTS_TABLE."
WHERE image_id = ".$image_row['image_id'];
if ($site_db->query($sql))
{
echo " ".$lang['comments_delete_success']."<br />\n";
}
else
{
$error_log[] = "<b>".$lang['comments_delete_error']."</b> ".format_text($image_row['image_name'], 2).", [ID: ".$image_row['image_id']."]<br />\n";
}
echo "<br />\n";
}
remove_searchwords($image_ids);
return $error_log;
}
function do_copy($image_media_file, $image_thumb_file = "", $from_cat = 0, $to_cat = 0, $media = 1)
{
global $config, $error_log, $lang;
if ($media)
{
if (is_remote($image_media_file))
return $image_media_file;
$ok = 0;
$new_file = $image_media_file;
$image_src = ($from_cat != -1) ? MEDIA_PATH.(($from_cat != 0) ? "/".$from_cat : "") : MEDIA_TEMP_PATH;
$image_dest = ($to_cat != -1) ? MEDIA_PATH.(($to_cat != 0) ? "/".$to_cat : "") : MEDIA_TEMP_PATH;
$image_src_file = $image_src."/".$image_media_file;
if (BIGDIR && file_exists((($from_cat != -1) ? MEDIA_PATH.(($from_cat != 0) ? "/".$from_cat : "") : MEDIA_TEMP_PATH)."/".BIGDIR."/".$image_media_file))
{
$image_src_big = (($from_cat != -1) ? MEDIA_PATH.(($from_cat != 0) ? "/".$from_cat : "") : MEDIA_TEMP_PATH)."/".BIGDIR;
$image_dest_big = (($to_cat != -1) ? MEDIA_PATH.(($to_cat != 0) ? "/".$to_cat : "") : MEDIA_TEMP_PATH)."/".BIGDIR;
$image_src_file_big = $image_src_big."/".$image_media_file;
}
else
{
$image_src_big = "";
$image_dest_big = "";
$image_src_file_big = "";
}
if (BACKUPDIR && file_exists(BACKUPDIR."/".(($from_cat != 0 && $from_cat != -1) ? $from_cat : "")))
{
$image_src_backup = BACKUPDIR."/".(($from_cat != 0 && $from_cat != -1) ? $from_cat : "");
$image_dest_backup = BACKUPDIR."/".(($to_cat != 0 && $to_cat != -1) ? $to_cat : "");
$image_src_file_backup = $image_src_backup."/".$image_media_file;
}
else
{
$image_src_backup = "";
$image_dest_backup = "";
$image_src_file_backup = "";
}
if (file_exists($image_src."/".$image_media_file))
{
$file_extension = get_file_extension($image_media_file);
$file_name = get_file_name($image_media_file);
$n = 2;
$copy = "";
while (file_exists($image_dest."/".$file_name.$copy.".".$file_extension))
{
$copy = "_".$n;
$n++;
}
$new_file = $file_name.$copy.".".$file_extension;
$ok = copy($image_src_file, $image_dest."/".$new_file);
if (BIGDIR)
{
@copy($image_src_file_big, $image_dest_big."/".$new_file);
}
if (BACKUPDIR)
{
@copy($image_src_file_backup, $image_dest_backup."/".$new_file);
}
}
if (file_exists($image_src_file_big))
{
if (!@is_dir($image_dest_big))
{
$oldumask = umask(0);
$result = @mkdir($image_dest_big);
umask($oldumask);
if (!@is_dir($image_dest_big) || !$result)
{
@mkdir($image_dest_big, CHMOD_DIRS);
}
}
if (!file_exists($image_dest_big."/".$new_file))
{
if (!copy($image_src_file_big, $image_dest_big."/".$new_file))
{
$error_log[] = sprintf($lang['copy_file_error_perm'], $image_src_file_big, $image_dest_big."/".$new_file);
}
}
}
if (file_exists($image_src_file_backup))
{
if (!@is_dir($image_dest_backup))
{
$oldumask = umask(0);
$result = @mkdir($image_dest_backup);
umask($oldumask);
if (!@is_dir($image_dest_backup) || !$result)
{
@mkdir($image_dest_backup, CHMOD_DIRS);
}
}
if (!file_exists($image_dest_backup."/".$new_file))
{
if (!copy($image_src_file_backup, $image_dest_backup."/".$new_file))
{
$error_log[] = sprintf($lang['copy_file_error_perm'], $image_src_file_backup, $image_dest_backup."/".$new_file);
}
}
}
if ($ok)
{
@chmod($image_dest."/".$new_file, CHMOD_FILES);
@chmod($image_dest_big."/".$new_file, CHMOD_FILES);
@chmod($image_dest_backup."/".$new_file, CHMOD_FILES);
return $new_file;
}
else
{
return false;
}
}
else
{
if (is_remote($image_thumb_file))
{
return $image_thumb_file;
}
$thumb_src = ($from_cat != -1) ? THUMB_PATH.(($from_cat != 0) ? "/".$from_cat : "") : THUMB_TEMP_PATH;
$thumb_dest = ($to_cat != -1) ? THUMB_PATH.(($to_cat != 0) ? "/".$to_cat : "") : THUMB_TEMP_PATH;
if ($image_thumb_file != "" && file_exists($thumb_src."/".$image_thumb_file))
{
$thumb_extension = get_file_extension($image_thumb_file);
$thumb_name = get_file_name($image_thumb_file);
$n = 2;
$copy = "";
while (file_exists($thumb_dest."/".$thumb_name.$copy.".".$thumb_extension))
{
$copy = "_".$n;
$n++;
}
$new_thumb = $thumb_name.$copy.".".$thumb_extension;
if (copy($thumb_src."/".$image_thumb_file, $thumb_dest."/".$new_thumb))
{
@chmod($thumb_dest."/".$new_thumb, CHMOD_FILES);
$image_thumb_file = $new_thumb;
}
}
return $image_thumb_file;
}
}
function copy_images($image_ids, $cat_id, $date, $move = 0)
{
global $site_db, $lang, $site_sess, $cat_cache;
if (empty($image_ids))
{
echo $lang['no_search_results'];
return false;
}
if (!$cat_id)
{
echo $lang['no_category'];
return false;
}
$copymove = $move ? "move" : "copy";
$error_log = array();
echo "<br />";
$sql = "SELECT *
FROM ".IMAGES_TABLE."
WHERE image_id IN ($image_ids)";
$image_result = $site_db->query($sql);
while ($image_row = $site_db->fetch_array($image_result))
{
$ok = false;
$msg = "";
$ok_media = "";
$ok_thumb = "";
$image_cat_id = $image_row['cat_id'];
$image_id = $image_row['image_id'];
if ($cat_id != $image_cat_id)
{
$ok_media = do_copy($image_row['image_media_file'], "", $image_cat_id, $cat_id);
if ($ok_media && $image_row['image_thumb_file'] !== "")
{
$ok_thumb = do_copy($image_row['image_media_file'], $image_row['image_thumb_file'], $image_cat_id, $cat_id, 0);
}
if (!$ok_media)
{
$error_log[] = sprintf($lang[$copymove.'_error_media'], "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id)."\" target=_blank>".$image_row['image_name']."</a>", format_text($cat_cache[$image_cat_id]['cat_name'], 2)." [ID:".$image_cat_id."]", format_text($cat_cache[$cat_id]['cat_name'], 2)." [ID:".$cat_id."]")."<br />";
}
elseif ($ok_thumb === false)
{
$error_log[] = sprintf($lang[$copymove.'_error_thumb'], $image_row['image_name']). "<br />";
}
$new_media_name = $ok_media;
$new_thumb_name = $ok_thumb;
if ($ok_media && $ok_thumb !== false)
{
if ($move)
{
$date_sql = ($date) ? "" : ", image_date = ".time();
$filenames = (($new_media_name) ? ", image_media_file = '".$new_media_name."'" : "").(($new_thumb_name) ? ", image_thumb_file = '".$new_thumb_name."'" : "");
$sql = "UPDATE ".IMAGES_TABLE." SET cat_id = ".$cat_id.$filenames.$date_sql." WHERE image_id = ".$image_id;
}
else
{
$image_row['cat_id'] = $cat_id;
unset($image_row['image_id']);
$keys = array();
$vals = array();
foreach ($image_row as $key => $val)
{
if (!intval($key) && $key && $val)
{
if ($key == "image_date" && !$date)
{
$val = time();
}
if ($key == "image_media_file" && $new_media_name)
{
$val = addslashes($new_media_name);
}
if ($key == "image_thumb_file" && $new_thumb_name)
{
$val = addslashes($new_thumb_name);
}
$keys[] = $key;
$vals[] = "'".addslashes($val)."'";
}
}
$sql = "INSERT INTO ".IMAGES_TABLE."
(".implode(", ", $keys).")
VALUES
(".implode(", ", $vals).")";
}
if ($site_db->query($sql))
{
if (!$move)
{
$image_id = $site_db->get_insert_id();
}
if ($move && isset($cat_cache[$image_row['cat_id']]['cat_image']) && $cat_cache[$image_row['cat_id']]['cat_image'] == $image_row['image_id'])
{
$sql = "UPDATE " . CATEGORIES_TABLE . " SET cat_image = '' WHERE cat_id = " . $image_row['cat_id'];
$site_db->query($sql);
}
$msg = sprintf($lang[$copymove.'_success'], "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id)."\" target=_blank>".$image_row['image_name']."</a>", format_text($cat_cache[$image_cat_id]['cat_name'], 2)." [ID:".$image_cat_id."]", format_text($cat_cache[$cat_id]['cat_name'], 2)." [ID:".$cat_id."]")."<br />\n";
$ok = 1;
}
else
{
$error_log[] = sprintf($lang[$copymove.'_error_db'], "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id)."\" target=_blank>".$image_row['image_name']."</a>", format_text($cat_cache[$image_cat_id]['cat_name'], 2)." [ID:".$image_cat_id."]", format_text($cat_cache[$cat_id]['cat_name'], 2)." [ID:".$cat_id."]")."<br />";
}
}
else
{
$error_log[] = sprintf($lang[$copymove.'_error_skipped'], "<a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id)."\" target=_blank>".$image_row['image_name']."</a>", format_text($cat_cache[$image_cat_id]['cat_name'], 2)." [ID:".$image_cat_id."]", format_text($cat_cache[$cat_id]['cat_name'], 2)." [ID:".$cat_id."]")."<br />";
}
}
else
{
$msg = "<b>".$lang['skipped']."</b> ".$image_row['image_name']." (".$lang['src_des_same'].")<br />\n";
}
if ($move && $cat_id != $image_cat_id && $ok)
{
if (!is_remote($image_row['image_media_file']) && !is_local_file($image_row['image_media_file']))
{
if (@unlink(MEDIA_PATH."/".$image_cat_id."/".$image_row['image_media_file']))
{
$ok_media = 1;
}
else
{
$error_log[] = "<b>".$lang['file_delete_error']."</b> (".$image_row['image_media_file']." ".$lang['in_cat_id'].": ".$image_cat_id.")<br />";
}
}
if ($ok_media && !empty($image_row['image_thumb_file']) && !is_remote($image_row['image_thumb_file']) && !is_local_file($image_row['image_thumb_file']))
{
if (@unlink(THUMB_PATH."/".$image_cat_id."/".$image_row['image_thumb_file']))
{
$ok_thumb = 1;
}
else
{
$error_log[] = "<b>".$lang['thumb_delete_error']." (".$image_row['image_thumb_file']." ".$lang['in_cat_id'].": ".$image_cat_id.")<br />\n";
}
}
if (BIGDIR && file_exists(MEDIA_PATH."/".$image_cat_id."/".BIGDIR."/".$image_row['image_media_file']))
{
if (!@unlink(MEDIA_PATH."/".$image_cat_id."/".BIGDIR."/".$image_row['image_media_file']))
{
$error_log[] = "<b>".$lang['error_del_big']."</b> (".BIGDIR."/".$image_row['image_media_file']." ".$lang['in_cat_id'].": ".$image_cat_id.")<br />";
}
}
if (BACKUPDIR && file_exists(BACKUPDIR."/".$image_cat_id."/".$image_row['image_media_file']))
{
if (!unlink(BACKUPDIR."/".$image_cat_id."/".$image_row['image_media_file']))
{
$error_log[] = "<b>".$lang['error_del_backup']."</b> (".BACKUPDIR."/".$image_row['image_media_file']." ".$lang['in_cat_id'].": ".$image_cat_id.")<br />";
}
}
}
echo $msg."<br />\n";
}
return $error_log;
}
function fixaction($txt)
{
// return preg_replace("#[ ,._\-\[\]{}]#", "", $txt);
return trim($txt);
}
function get_thumbnail($image_row)
{
global $config;
if (!check_media_type($image_row['image_media_file']))
{
$return = ICON_PATH."/404.gif";
}
else
{
if (!get_file_path($image_row['image_thumb_file'], "thumb", $image_row['cat_id'], 0, 0))
{
$return = ICON_PATH."/".get_file_extension($image_row['image_media_file']).".gif";
}
else
{
$return = get_file_path($image_row['image_thumb_file'], "thumb", $image_row['cat_id'], 0, 1);
}
}
return $return;
}
if ($action == "reset" || $action == fixaction($lang['reset']))
{
$presets['_default_'] = "default";
preset_save();
redirect(ROOT_PATH . "admin/images.php");
}
show_admin_header($header_insert);
if ($action == "deleteimage")
{
$selectimages = (isset($HTTP_POST_VARS['selectimages'])) ? $HTTP_POST_VARS['selectimages'] : array();
$delfromserver = (isset($HTTP_POST_VARS['delfromserver'])) ? intval($HTTP_POST_VARS['delfromserver']) : 1;
$image_ids = "";
if (!empty($selectimages))
{
foreach ($selectimages as $val)
{
$image_ids .= (($image_ids != "") ? ", " : "").$val;
}
}
$lang_key = (count($selectimages) > 1) ? 'images' : 'image';
show_table_header($lang['delete'].": ".$lang[$lang_key], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
$error_log = delete_images($image_ids, $delfromserver);
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
if (!empty($error_log))
{
show_table_header($lang['error_log'], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
echo "<b>".$lang['error_log_desc']."</b>\n<ul>\n";
foreach ($error_log as $val)
{
printf("<li>%s</li>\n", $val);
}
echo "</ul>\n</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
echo "<p>";
show_text_link($lang['back_overview'], "images.php?action=modifyimages");
}
if ($action == "removeimage")
{
$image_ids = array();
if ((isset($HTTP_GET_VARS['image_id']) && intval($HTTP_GET_VARS['image_id'])) || (isset($HTTP_POST_VARS['image_id']) && intval($HTTP_POST_VARS['image_id'])))
{
$image_id = (isset($HTTP_GET_VARS['image_id'])) ? intval($HTTP_GET_VARS['image_id']) : intval($HTTP_POST_VARS['image_id']);
$image_ids[] = $image_id;
}
elseif (isset($HTTP_POST_VARS['selectimages']))
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
else
{
$image_ids[] = 0;
}
if ($image_ids[0] != 0)
{
show_form_header("images.php", "deleteimage");
foreach ($image_ids as $val)
{
show_hidden_input("selectimages[]", $val);
}
$lang_key = (count($image_ids) > 1) ? 'images' : 'image';
show_table_header($lang['delete'].": ".$lang[$lang_key], 2);
show_description_row($lang['delete_image_confirm']);
show_radio_row($lang['delete_image_files_confirm'], "delfromserver", 1);
show_form_footer($lang['yes'], "", 2, $lang['no']);
}
else
{
$error_log[] = $lang['no_search_results'];
$action = "findimages";
}
}
if ($action == "changeowner" || $action == fixaction($lang['changeowner']))
{
$image_ids = array();
if (isset($HTTP_POST_VARS['selectimages']) && $HTTP_POST_VARS['selectimages'])
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
if ((isset($HTTP_GET_VARS['owner']) && intval($HTTP_GET_VARS['owner'])) || (isset($HTTP_POST_VARS['owner']) && intval($HTTP_POST_VARS['owner'])))
{
$owner = (isset($HTTP_GET_VARS['owner'])) ? intval($HTTP_GET_VARS['owner']) : intval($HTTP_POST_VARS['owner']);
}
if (!empty($image_ids) && is_array($image_ids))
{
if ($owner)
{
$sql = "UPDATE ".IMAGES_TABLE."
SET user_id = ".$owner."
WHERE image_id IN (".implode(",",$image_ids).")";
if ($site_db->query($sql))
{
echo "<b>".$lang['owner_success']."</b><br /><br />\n";
}
else
{
$error_log[] = $lang['owner_error'];
}
}
else
{
$error_log[] = $lang['no_user_select'];
}
}
else
{
$error_log[] = $lang['no_search_results'];
}
$action = "findimages";
}
if ($action == "saveedit")
{
$selectimages = (isset($HTTP_POST_VARS['selectimages'])) ? $HTTP_POST_VARS['selectimages'] : array();
$image_allow_comments = (isset($HTTP_POST_VARS['image_allow_comments']) && $HTTP_POST_VARS['image_allow_comments']) ? $HTTP_POST_VARS['image_allow_comments'] : 0;
$image_description = un_htmlspecialchars(trim($HTTP_POST_VARS['image_description']));
$image_date = (trim($HTTP_POST_VARS['image_date']) != "") ? "UNIX_TIMESTAMP('".trim($HTTP_POST_VARS['image_date'])."')" : 0;
$image_active = intval($HTTP_POST_VARS['image_active']);
if (KEYWORDS_NEW)
{
$image_keywords = un_htmlspecialchars(trim($HTTP_POST_VARS['image_keywords']));
$image_keywords = preg_replace("/[\n\r]/is", ",", $image_keywords);
$image_keywords_arr = explode(',', $image_keywords);
array_walk($image_keywords_arr, 'trim_value');
$image_keywords = implode(',', array_unique(array_filter($image_keywords_arr)));
}
else
{
$image_keywords = un_htmlspecialchars(trim($HTTP_POST_VARS['image_keywords']));
$image_keywords = preg_replace("/[\n\r]/is", " ", $image_keywords);
$image_keywords = str_replace(","," ",$image_keywords);
$image_keywords = preg_replace("/( ){2,}/", " ", $image_keywords);
}
$HTTP_POST_VARS['image_keywords'] = $image_keywords;
$image_ids = implode(",",$selectimages);
echo "<script language=javascript>\n showProgress();\n hideProgress();\n</script>";
show_table_header($lang['edit_log'], 2);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
$date = ($image_date) ? ", image_date = ".$image_date : "";
$sql = "UPDATE ".IMAGES_TABLE."
SET image_description = '$image_description', image_keywords = '$image_keywords', image_allow_comments = $image_allow_comments, image_active = $image_active.$date
WHERE image_id IN ($image_ids)";
$result = $site_db->query($sql);
if ($result)
{
remove_searchwords($image_ids);
foreach($selectimages as $image_id)
{
$search_words = array();
foreach ($search_match_fields as $image_column => $match_column)
{
if (isset($HTTP_POST_VARS[$image_column]))
{
$search_words[$image_column] = stripslashes($HTTP_POST_VARS[$image_column]);
if (KEYWORDS_NEW && $image_column == 'image_keywords')
{
$search_words[$image_column] = explode(',', $search_words[$image_column]);
}
}
}
add_searchwords($image_id, $search_words);
}
echo "<b>".$lang['upload_success'][(count($selectimages) > 1) ? 1 : 0]."</b>\n</td></tr></table>\n";
echo "</td></tr>\n";
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
else
{
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
show_table_header($lang['error_log'], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
echo "<b>".$lang['upload_error'][(count($selectimages) > 1) ? 1 : 0]."</b>\n</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
$HTTP_POST_VARS = array();
$action = "modifyimages";
// echo "<p>";
// show_text_link($lang['back_overview'], "images.php?action=modifyimages");
}
if ($action == "edit" || $action == fixaction($lang['edit']))
{
$image_ids = array();
if ((isset($HTTP_GET_VARS['image_id']) && intval($HTTP_GET_VARS['image_id'])) || (isset($HTTP_POST_VARS['image_id']) && intval($HTTP_POST_VARS['image_id'])))
{
$image_id = (isset($HTTP_GET_VARS['image_id'])) ? intval($HTTP_GET_VARS['image_id']) : intval($HTTP_POST_VARS['image_id']);
$image_ids[] = $image_id;
}
elseif (isset($HTTP_POST_VARS['selectimages']))
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
else
{
$image_ids[] = 0;
}
if (count($image_ids) > 1)
{
if ($image_ids[0] != 0)
{
show_form_header("images.php", "saveedit");
foreach ($image_ids as $val)
{
show_hidden_input("selectimages[]", $val);
}
$sql = "SELECT image_id, cat_id, image_name, image_keywords, image_description, image_allow_comments, image_active, FROM_UNIXTIME(image_date) AS image_date, image_media_file, image_thumb_file
FROM ".IMAGES_TABLE."
WHERE image_id IN (".implode(",", $image_ids).")";
$result = $site_db->query($sql);
$list = "<div style=\"display: block;\">";
$i = 0;
$keywords = "";
$keywords_sep = KEYWORDS_NEW ? "," : " ";
while ($row = $site_db->fetch_array($result))
{
$image_row[$row['image_id']] = $row;
$file_src = get_thumbnail($row);
$height = $thumbsize;
$width = $thumbsize;
$file_size = get_resize2($file_src, $thumbsize);
$width = $file_size[0];
$height = $file_size[1];
$list .= "<div style=\"float: left;" . (($i) ? " margin: 2px 2px 2px 5px;" : "") . "\">";
$list .= "<div><a href=\"". $site_sess->url(ROOT_PATH . "details.php?".URL_IMAGE_ID."=".$row['image_id'])."\" target=\"_blank\">";
$list .= "<img src=\"".$file_src."\" width=\"" . $width . "\" height=\"" . $height . "\" border=\"1\" alt=\"\"></div><div>";
$list .= $row['image_name'];
$list .= " [ID: ".$row['image_id']."]</a></div></div>";
$i++;
if ($row['image_keywords'])
{
$keywords .= $keywords_sep . trim($row['image_keywords']);
}
}
$list .= "</div>";
$keywords = trim($keywords, $keywords_sep);
$keywords = implode($keywords_sep, array_unique(explode($keywords_sep, trim($keywords))));
$HTTP_POST_VARS = array();
show_table_header($lang['edit_image'][(count($image_ids) > 1) ? 1 : 0], 2);
show_custom_row($lang['edit_image'][(count($image_ids) > 1) ? 1 : 0] . ":", trim($list, ", "));
$file_src = get_file_path($image_row[$image_ids[0]]['image_media_file'], "media", $image_row[$image_ids[0]]['cat_id'], 1);
$title = $lang['field_description_ext'].((isset($file_src)) ? get_iptc_insert_link($file_src, "caption", "image_description") : "");
show_textarea_row($title, "image_description", $image_row[$image_ids[0]]['image_description'], $textarea_size);
$title = $lang['field_keywords_ext'].((isset($file_src)) ? get_iptc_insert_link($file_src, "keyword", "image_keywords") : "");
show_textarea_row($title, "image_keywords", $keywords, $textarea_size);
$title = $lang['field_date'].$lang['date_desc'].$lang['date_format'];
if (function_exists("show_date_input_row"))
show_date_input_row($title, "image_date", $image_row[$image_ids[0]]['image_date'], $textinput_size);
else
show_input_row($title, "image_date", $image_row[$image_ids[0]]['image_date'], $textinput_size);
show_radio_row($lang['field_free'], "image_active", $image_row[$image_ids[0]]['image_active']);
show_radio_row($lang['field_allow_comments'], "image_allow_comments", $image_row[$image_ids[0]]['image_allow_comments']);
show_form_footer($lang['save_changes'], $lang['reset'], 2, "", " onClick='showProgress()'");
}
else
{
$error_log[] = $lang['no_search_results'];
$action = "findimages";
}
}
else
{
$HTTP_POST_VARS['image_id'] = $image_ids[0];
$action = "editimage";
}
}
if ($action == "docopy")
{
$selectimages = (isset($HTTP_POST_VARS['selectimages'])) ? $HTTP_POST_VARS['selectimages'] : array();
$cat_id = (isset($HTTP_POST_VARS['new_cat_id'])) ? $HTTP_POST_VARS['new_cat_id'] : 0;
$date = (isset($HTTP_POST_VARS['date']) && intval($HTTP_POST_VARS['date'])) ? 1 : 0;
$image_ids = "";
if (!empty($selectimages))
{
foreach ($selectimages as $val)
{
$image_ids .= (($image_ids != "") ? ", " : "").$val;
}
}
$lang_key = (count($selectimages) > 1) ? 'images' : 'image';
show_table_header($lang['copy']." ".$lang[$lang_key], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
$error_log = copy_images($image_ids, $cat_id, $date);
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
if (!empty($error_log))
{
show_table_header($lang['error_log'], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
echo "<b>".$lang['error_log_desc']."</b>\n<ul>\n";
foreach ($error_log as $val)
{
printf("<li>%s</li>\n", $val);
}
echo "</ul>\n</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
echo "<p>";
show_text_link($lang['back_overview'], "images.php?action=modifyimages");
}
if ($action == "copy" || $action == fixaction($lang['copy']))
{
$image_ids = array();
if (isset($HTTP_POST_VARS['selectimages']))
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
else
{
$image_ids[] = 0;
}
$cat_id = (isset($HTTP_POST_VARS['new_cat_id'])) ? $HTTP_POST_VARS['new_cat_id'] : 0;
$date = (isset($HTTP_POST_VARS['date']) && intval($HTTP_POST_VARS['date'])) ? 1 : 0;
if ($image_ids[0] != 0 && $cat_id)
{
show_form_header("images.php", "docopy");
foreach ($image_ids as $val)
{
show_hidden_input("selectimages[]", $val);
}
show_hidden_input("new_cat_id", $cat_id);
show_hidden_input("date", $date);
$lang_key = (count($image_ids) > 1) ? 'images' : 'image';
show_table_header($lang['copy']." ".$lang[$lang_key], 2);
show_description_row(sprintf($lang['copy_confirm'], format_text($cat_cache[$cat_id]['cat_name'], 2), $cat_id));
show_form_footer($lang['yes'], "", 2, $lang['no']);
}
else
{
if ($image_ids[0] == 0)
{
$error_log[] = $lang['no_search_results'];
}
if (!$cat_id)
{
$error_log[] = $lang['no_category'];
}
$action = "findimages";
}
}
if ($action == "domove")
{
$selectimages = (isset($HTTP_POST_VARS['selectimages'])) ? $HTTP_POST_VARS['selectimages'] : array();
$cat_id = (isset($HTTP_POST_VARS['new_cat_id'])) ? $HTTP_POST_VARS['new_cat_id'] : 0;
$date = (isset($HTTP_POST_VARS['date']) && intval($HTTP_POST_VARS['date'])) ? 1 : 0;
$image_ids = "";
if (!empty($selectimages))
{
foreach ($selectimages as $val)
{
$image_ids .= (($image_ids != "") ? ", " : "").$val;
}
}
$lang_key = (count($selectimages) > 1) ? 'images' : 'image';
show_table_header($lang['move'].": ".$lang[$lang_key], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
$error_log = copy_images($image_ids, $cat_id, $date, 1);
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
if (!empty($error_log))
{
show_table_header($lang['error_log'], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
echo "<b>".$lang['error_log_desc']."</b>\n<ul>\n";
foreach ($error_log as $val)
{
printf("<li>%s</li>\n", $val);
}
echo "</ul>\n</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
echo "<p>";
show_text_link($lang['back_overview'], "images.php?action=modifyimages");
}
if ($action == "move" || $action == fixaction($lang['move']))
{
$image_ids = array();
if (isset($HTTP_POST_VARS['selectimages']))
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
else {
$image_ids[] = 0;
}
$cat_id = (isset($HTTP_POST_VARS['new_cat_id'])) ? $HTTP_POST_VARS['new_cat_id'] : 0;
$date = (isset($HTTP_POST_VARS['date']) && intval($HTTP_POST_VARS['date'])) ? 1 : 0;
if ($image_ids[0] != 0 && $cat_id && isset($cat_cache[$cat_id]))
{
show_form_header("images.php", "domove");
foreach ($image_ids as $val)
{
show_hidden_input("selectimages[]", $val);
}
show_hidden_input("date", $date);
show_hidden_input("new_cat_id", $cat_id);
$lang_key = (count($image_ids) > 1) ? 'images' : 'image';
show_table_header($lang['move'].": ".$lang[$lang_key], 2);
show_description_row(sprintf($lang['move_confirm'], format_text($cat_cache[$cat_id]['cat_name'], 2), $cat_id));
show_form_footer($lang['yes'], "", 2, $lang['no']);
}else{
if ($image_ids[0] == 0)
{
$error_log[] = $lang['no_search_results'];
}
if (!$cat_id)
{
$error_log[] = $lang['no_category'];
}
$action = "findimages";
}
}
if ($action == "updateimage")
{
$error_msg = "";
$error = array();
$image_id = (isset($HTTP_POST_VARS['image_id'])) ? intval($HTTP_POST_VARS['image_id']) : intval($HTTP_GET_VARS['image_id']);
$image_name = un_htmlspecialchars(trim($HTTP_POST_VARS['image_name']));
$image_description = un_htmlspecialchars(trim($HTTP_POST_VARS['image_description']));
if (KEYWORDS_NEW)
{
$image_keywords = un_htmlspecialchars(trim($HTTP_POST_VARS['image_keywords']));
$image_keywords = preg_replace("/[\n\r]/is", ",", $image_keywords);
$image_keywords_arr = explode(',', $image_keywords);
array_walk($image_keywords_arr, 'trim_value');
$image_keywords = implode(',', array_unique(array_filter($image_keywords_arr)));
}
else
{
$image_keywords = un_htmlspecialchars(trim($HTTP_POST_VARS['image_keywords']));
$image_keywords = preg_replace("/[\n\r]/is", " ", $image_keywords);
$image_keywords = str_replace(","," ",$image_keywords);
$image_keywords = preg_replace("/( ){2,}/", " ", $image_keywords);
}
$HTTP_POST_VARS['image_keywords'] = $image_keywords;
$cat_id = intval($HTTP_POST_VARS['cat_id']);
$old_cat_id = intval($HTTP_POST_VARS['old_cat_id']);
$user_id = (intval($HTTP_POST_VARS['user_id']) != 0) ? intval($HTTP_POST_VARS['user_id']) : $user_info['user_id'];
$image_date = (trim($HTTP_POST_VARS['image_date']) != "") ? "UNIX_TIMESTAMP('".trim($HTTP_POST_VARS['image_date'])."')" : time();
$image_active = intval($HTTP_POST_VARS['image_active']);
$image_allow_comments = intval($HTTP_POST_VARS['image_allow_comments']);
$image_downloads = (trim($HTTP_POST_VARS['image_downloads']) != "") ? intval($HTTP_POST_VARS['image_downloads']) : 0;
$image_votes = (trim($HTTP_POST_VARS['image_votes']) != "") ? intval($HTTP_POST_VARS['image_votes']) : 0;
$image_rating = (trim($HTTP_POST_VARS['image_rating']) != "") ? sprintf("%.2f", trim($HTTP_POST_VARS['image_rating'])) : "0.00";
$image_hits = (trim($HTTP_POST_VARS['image_hits']) != "") ? intval(trim($HTTP_POST_VARS['image_hits'])) : 0;
$remote_file = trim($HTTP_POST_VARS['remote_file']);
$remote_thumb_file = trim($HTTP_POST_VARS['remote_thumb_file']);
$old_file_name = trim($HTTP_POST_VARS['old_file_name']);
$old_thumb_file_name = trim($HTTP_POST_VARS['old_thumb_file_name']);
$image_download_url = trim($HTTP_POST_VARS['image_download_url']);
$image_resize = (isset($HTTP_POST_VARS['image_resize'])) ? intval($HTTP_POST_VARS['image_resize']) : 0;
$thumb_tools = (isset($HTTP_POST_VARS['thumb_tools'])) ? intval($HTTP_POST_VARS['thumb_tools']) : 0;
if ($thumb_tools == -1)
{
$HTTP_POST_VARS['delete_thumb_file'] = 1;
$thumb_tools = 0;
}
$delete_thumb_file = (isset($HTTP_POST_VARS['delete_thumb_file']) && $HTTP_POST_VARS['delete_thumb_file'] == 1) ? 1 : 0;
if ($image_name == "")
{
$error['image_name'] = 1;
}
if ($cat_id == 0)
{
$error['cat_id'] = 1;
}
if ($image_download_url != "" && !is_remote($image_download_url) && !is_local_file($image_download_url))
{
$error['image_download_url'] = 1;
}
if ((empty($HTTP_POST_FILES['file']['tmp_name']) || $HTTP_POST_FILES['file']['tmp_name'] == "none") && $remote_file != "" && !check_remote_media($remote_file) && !check_local_media($remote_file))
{
$error['remote_file'] = 1;
}
if ((empty($HTTP_POST_FILES['thumb_file']['tmp_name']) || $HTTP_POST_FILES['thumb_file']['tmp_name'] == "none") && $remote_thumb_file != "" && !check_remote_thumb($remote_thumb_file) && !check_local_thumb($remote_thumb_file))
{
$error['remote_thumb_file'] = 1;
}
if (!empty($additional_image_fields))
{
foreach ($additional_image_fields as $key => $val)
{
if (isset($HTTP_POST_VARS[$key]) && intval($val[2]) == 1 && trim($HTTP_POST_VARS[$key]) == "")
{
$error[$key] = 1;
}
}
}
if (!empty($HTTP_POST_FILES['file']['tmp_name']) && $HTTP_POST_FILES['file']['tmp_name'] != "none" && !$error)
{
unset($HTTP_POST_VARS['remote_file']);
@rename(MEDIA_PATH."/".$old_cat_id."/".$old_file_name, MEDIA_PATH."/".$old_cat_id."/".$old_file_name.".bak");
if (BIGDIR)
{
@rename(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name, MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name.".bak");
}
if (BACKUPDIR)
{
@rename(BACKUPDIR."/".$old_cat_id."/".$old_file_name, BACKUPDIR."/".$old_cat_id."/".$old_file_name.".bak");
}
$new_name = $site_upload->upload_file("file", "media", $cat_id);
if (!$new_name)
{
$error_msg .= $lang['file_upload_error'].": <b>".$HTTP_POST_FILES['file']['name']."</b><br />".$site_upload->get_upload_errors();
@rename(MEDIA_PATH."/".$old_cat_id."/".$old_file_name.".bak", MEDIA_PATH."/".$old_cat_id."/".$old_file_name);
if (BIGDIR)
{
@rename(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name.".bak", MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name);
}
if (BACKUPDIR)
{
@rename(BACKUPDIR."/".$old_cat_id."/".$old_file_name.".bak", BACKUPDIR."/".$old_cat_id."/".$old_file_name);
}
$error[''] = 1;
}
else
{
@unlink(MEDIA_PATH."/".$old_cat_id."/".$old_file_name.".bak");
@unlink(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name.".bak");
@unlink(BACKUPDIR."/".$old_cat_id."/".$old_file_name.".bak");
if (defined("IMS_DIR"))
{
$list = IMS_getFileList($image_id);
foreach($list as $file)
{
@unlink($file);
}
}
$log[] = $lang['file_upload_success'].": <b>$new_name</b>";
}
}
elseif ((empty($HTTP_POST_FILES['file']['tmp_name']) || $HTTP_POST_FILES['file']['tmp_name'] == "none") && $remote_file != "" && (check_remote_media($remote_file) || check_local_media($remote_file)))
{
$new_name = $remote_file;
if (file_exists(MEDIA_PATH."/".$old_cat_id."/".$old_file_name) && is_file(MEDIA_PATH."/".$old_cat_id."/".$old_file_name))
{
unlink(MEDIA_PATH."/".$old_cat_id."/".$old_file_name);
@unlink(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name);
@unlink(BACKUPDIR."/".$old_cat_id."/".$old_file_name);
if (defined("IMS_DIR"))
{
$list = IMS_getFileList($image_id);
foreach($list as $file)
{
@unlink($file);
}
}
}
}
else
{
if ($cat_id != $old_cat_id && !empty($old_file_name))
{
if ($new_name = do_copy($old_file_name, "", $old_cat_id, $cat_id, 1))
{
if (!is_remote($old_file_name) && !is_local_file($old_file_name))
{
if (!@unlink(MEDIA_PATH."/".$old_cat_id."/".$old_file_name))
{
$error_msg .= "<b>".$lang['file_delete_error']."</b> (".$old_file_name." ".$lang['in_cat_id'].": ".$old_cat_id.")<br />";
$error[''] = 1;
}
else
{
if (BIGDIR && file_exists(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name))
{
if (!@unlink(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name))
{
$error_msg .= "<b>".$lang['error_del_big']."</b> (".BIGDIR."/".$old_file_name." ".$lang['in_cat_id'].": ".$old_cat_id.")<br />";
$error[''] = 1;
}
}
if (BACKUPDIR && file_exists(BACKUPDIR."/".$old_cat_id."/".$old_file_name))
{
if (!@unlink(BACKUPDIR."/".$old_cat_id."/".$old_file_name))
{
$error_msg .= "<b>".$lang['error_del_backup']."</b> (".BACKUPDIR."/".$old_file_name." ".$lang['in_cat_id'].": ".$old_cat_id.")<br />";
$error[''] = 1;
}
}
}
}
}
else
{
$error[''] = 1;
}
}
else
{
$new_name = $old_file_name;
}
}
if ($delete_thumb_file == 1)
{
if (!empty($old_thumb_file_name) && file_exists(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name))
{
unlink(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name);
}
$new_thumb_name = "";
unset($HTTP_POST_VARS['remote_thumb_file']);
}
elseif (!empty($HTTP_POST_FILES['thumb_file']['tmp_name']) && $HTTP_POST_FILES['thumb_file']['tmp_name'] != "none" && !$error)
{
unset($HTTP_POST_VARS['remote_thumb_file']);
@rename(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name, THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name.".bak");
$new_thumb_name = $site_upload->upload_file("thumb_file", "thumb", $cat_id, get_basefile($new_name));
if (!$new_thumb_name)
{
$error_msg .= $lang['thumb_upload_error'].": <b>".$HTTP_POST_FILES['thumb_file']['name']."</b><br />".$site_upload->get_upload_errors();
@rename(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name.".bak", THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name);
@unlink(MEDIA_PATH."/".$old_cat_id."/".$new_name);
$error[''] = 1;
}
else
{
$log[] = $lang['thumb_upload_success'].": <b>$new_thumb_name</b>";
}
}
elseif ((empty($HTTP_POST_FILES['thumb_file']['tmp_name']) || $HTTP_POST_FILES['thumb_file']['tmp_name'] == "none") && $remote_thumb_file != "" && (check_remote_thumb($remote_thumb_file) || check_local_thumb($remote_thumb_file)))
{
$new_thumb_name = $remote_thumb_file;
if (file_exists(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name) && is_file(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name))
{
unlink(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name);
}
}
else
{
if ($cat_id != $old_cat_id && !empty($old_thumb_file_name))
{
$new_thumb_name = copy_thumbnail($new_name, $old_thumb_file_name, $old_cat_id, $cat_id);
}
else
{
$new_thumb_name = $old_thumb_file_name;
}
}
if (empty($error) && !$convert_options['convert_error'])
{
if ($image_resize)
{
@set_time_limit(90);
$file = MEDIA_PATH."/".$cat_id."/".$new_name;
if (!$image_info = getimagesize($file))
{
$log[] = $lang['image_resize_error'];
}
else
{
if ($image_info[2] && $image_info[2] < 4)
{
if ($image_info[0] > $image_resize_width || $image_info[1] > $image_resize_height)
{
if (resize_image($file, $image_resize_quality, $image_resize_width, $image_resize_type, $image_resize_height))
{
$image_info2 = getimagesize($file);
$log[] = sprintf($lang['image_resize_success'], $image_info[0], $image_info[1], $image_info2[0], $image_info2[1]);
}
else
{
$log[] = $lang['image_resize_error'];
}
}
else
{
$log[] = $lang['image_resize_skipped'];
}
}
else
{
$log[] = $lang['image_resize_skipped'];
}
}
}
if (!$delete_thumb_file && $thumb_tools)
{
$type = ($thumb_tools == 1) ? "resize" : "create";
if (($new_thumb_name === "" || $thumb_tools == 2) && file_exists(MEDIA_PATH."/".$cat_id."/".$new_name))
{
if (file_exists(THUMB_PATH."/".$cat_id."/".$new_name))
{
unlink(THUMB_PATH."/".$cat_id."/".$new_name);
}
if (copy(MEDIA_PATH."/".$cat_id."/".$new_name, THUMB_PATH."/".$cat_id."/".$new_name))
{
chmod(THUMB_PATH."/".$cat_id."/".$new_name, CHMOD_FILES);
$new_thumb_name = $new_name;
$type = "create";
}
}
if ($new_thumb_name !== "")
{
@set_time_limit(90);
$file = THUMB_PATH."/".$cat_id."/".$new_thumb_name;
if (!$image_info = getimagesize($file))
{
$log[] = $lang['thumb_'.$type.'_error'];
}
else
{
if ($image_info[2] && $image_info[2] < 4)
{
if ($image_info[0] > $thumb_resize_dimension || $image_info[1] > $thumb_resize_dimension)
{
@unlink($file.".bak");
if (resize_image($file, $thumb_resize_quality, $thumb_resize_dimension, $thumb_resize_type))
{
$image_info2 = getimagesize($file);
$log[] = $lang['thumb_'.$type.'_success'];
}
else
{
$log[] = $lang['thumb_'.$type.'_error'];
}
}
else
{
$log[] = $lang['thumb_'.$type.'_skipped'];
}
}
else
{
$log[] = $lang['thumb_'.$type.'_skipped'];
}
}
}
}
$image_resize = 0;
$thumb_tools = 0;
}
if (empty($error))
{
$additional_sql = "";
if (!empty($additional_image_fields))
{
foreach ($additional_image_fields as $key => $val)
{
if (isset($HTTP_POST_VARS[$key]) && isset($table_fields[$key]))
{
$additional_sql .= ", $key = '".un_htmlspecialchars(trim($HTTP_POST_VARS[$key]))."'";
}
}
}
$sql = "UPDATE ".IMAGES_TABLE."
SET cat_id = $cat_id, user_id = $user_id, image_name = '$image_name', image_description = '$image_description', image_keywords = '$image_keywords', image_date = $image_date, image_active = $image_active, image_media_file = '$new_name', image_thumb_file = '$new_thumb_name', image_download_url = '$image_download_url', image_allow_comments = $image_allow_comments, image_downloads = $image_downloads, image_votes = $image_votes, image_rating = '$image_rating', image_hits = $image_hits".$additional_sql."
WHERE image_id = $image_id";
$result = $site_db->query($sql);
if (isset($HTTP_POST_VARS['cat_image']))
{
if ($old_cat_id == $cat_id)
{
$sql = "UPDATE ".CATEGORIES_TABLE."
SET cat_image = ".((intval($HTTP_POST_VARS['cat_image'])) ? intval($HTTP_POST_VARS['cat_image']) : ((isset($HTTP_POST_VARS['cat_image_old']) && $HTTP_POST_VARS['cat_image_old'] != $image_id) ? $HTTP_POST_VARS['cat_image_old'] : 0))."
WHERE cat_id = $cat_id";
$result = $site_db->query($sql);
}
else
{
unset($HTTP_POST_VARS['cat_image']);
}
if ($old_cat_id != $cat_id && isset($cat_cache[$old_cat_id]['cat_image']) && $cat_cache[$old_cat_id]['cat_image'] == $image_id)
{
$sql = "UPDATE " . CATEGORIES_TABLE . "
SET cat_image = ''
WHERE cat_id = " . $old_cat_id;
$site_db->query($sql);
}
}
@unlink(MEDIA_PATH."/".$old_cat_id."/".$old_file_name.".bak");
@unlink(MEDIA_PATH."/".$old_cat_id."/".BIGDIR."/".$old_file_name.".bak");
@unlink(BACKUPDIR."/".$old_cat_id."/".$old_file_name.".bak");
@unlink(THUMB_PATH."/".$old_cat_id."/".$old_thumb_file_name.".bak");
update_comment_count($image_id);
if ($result)
{
$search_words = array();
foreach ($search_match_fields as $image_column => $match_column)
{
if (isset($HTTP_POST_VARS[$image_column]))
{
$search_words[$image_column] = stripslashes($HTTP_POST_VARS[$image_column]);
if (KEYWORDS_NEW && $image_column == 'image_keywords')
{
$search_words[$image_column] = explode(',', $search_words[$image_column]);
}
}
}
remove_searchwords($image_id);
add_searchwords($image_id, $search_words);
$msg .= $lang['image_edit_success'];
}
else
{
$msg .= $lang['image_edit_error'];
}
}
else
{
$msg .= sprintf("<span class=\"marktext\">%s</span>", $lang['lostfield_error']);
$msg .= $error_msg;
}
echo "<script language=javascript>\n showProgress();\n hideProgress();\n</script>";
$action = "editimage";
if (!empty($log))
{
show_table_header($lang['log'], 1);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
foreach ($log as $val)
{
echo $val."<br />";
}
echo "</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
}
if ($action == "save" || $action == fixaction($lang['save']))
{
$image_ids = array();
$image_name = array();
$image_description = array();
$image_keywords = array();
if (isset($HTTP_POST_VARS['selectimages']))
{
$image_ids = $HTTP_POST_VARS['selectimages'];
}
else
{
$image_ids[] = 0;
}
$editkeywords = 0;
$image_info = array();
if (isset($HTTP_POST_VARS['qe_cat_id']))
{
$sql = "SELECT cat_id, image_id, image_media_file, image_thumb_file
FROM " . IMAGES_TABLE . "
WHERE image_id IN (" . implode(",", $image_ids) . ")";
$result = $site_db->query($sql);
$image_info = array();
while($image_row = $site_db->fetch_array($result))
{
$image_info[$image_row['image_id']] = $image_row;
}
}
foreach ($image_ids as $key => $val)
{
$set = array();
foreach($quickedit_fields_all as $field => $data)
{
if (!isset($HTTP_POST_VARS["qe_".$field][$key]) || (isset($HTTP_POST_VARS['qe_orig_'.$field][$key]) && trim($HTTP_POST_VARS['qe_orig_'.$field][$key]) == trim($HTTP_POST_VARS['qe_'.$field][$key])))
continue;
$value = trim($HTTP_POST_VARS["qe_".$field][$key]);
if (isset($data[2]) && is_array($data[2]) && $data[2][0] == 1)
$value = (int)$value;
$editkeywords = 0;
if ($field == "image_keywords")
{
if (KEYWORDS_NEW)
{
$value = un_htmlspecialchars(trim($value));
$value = preg_replace("/[\n\r]/is", ",", $value);
$value_arr = explode(',', $value);
array_walk($value_arr, 'trim_value');
$value = implode(',', array_unique(array_filter($value_arr)));
}
else
{
$value = preg_replace("/[\n\r]/is", " ", $value);
$value = str_replace(","," ",$value);
$value = preg_replace("/( ){2,}/", " ", $value);
}
$HTTP_POST_VARS["qe_image_keywords"][$key] = $value;
$value = "'".$value."'";
$editkeywords = 1;
}
elseif ($field == "image_date")
{
$value = "UNIX_TIMESTAMP('".$value."')";
}
elseif ($field == "cat_id")
{
if (!isset($cat_cache[$value]))
{
$error_log[] = "<b>".sprintf($lang['qe_cat_id_error'], $value)."<b>";
continue;
}
if (!empty($image_info[$val]['image_media_file']) && file_exists(MEDIA_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file']) && is_file(MEDIA_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file']))
{
if (!is_remote($image_info[$val]['image_media_file']) && !is_local_file($image_info[$val]['image_media_file']))
{
if ($new_name = do_copy($image_info[$val]['image_media_file'], "", $image_info[$val]['cat_id'], $value, 1))
{
if (!@unlink(MEDIA_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file']))
{
$error_log[] = "<b>".$lang['file_delete_error']."</b> (".MEDIA_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file'].")";
$error[''] = 1;
}
else
{
if (BIGDIR && file_exists(MEDIA_PATH."/".$image_info[$val]['cat_id']."/".BIGDIR."/".$image_info[$val]['image_media_file']))
{
if (!@unlink(MEDIA_PATH."/".$image_info[$val]['cat_id']."/".BIGDIR."/".$image_info[$val]['image_media_file']))
{
$error_log[] = "<b>".$lang['error_del_big']."</b> (".MEDIA_PATH."/".$image_info[$val]['cat_id']."/".BIGDIR."/".$image_info[$val]['image_media_file'].")";
$error[''] = 1;
}
}
if (BACKUPDIR && file_exists(BACKUPDIR."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file']))
{
if (!@unlink(BACKUPDIR."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file']))
{
$error_log[] = "<b>".$lang['error_del_backup']."</b> (".BACKUPDIR."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_media_file'].")";
$error[''] = 1;
}
}
}
}
else
{
$error[''] = 1;
}
}
}
else
{
$new_name = $image_info[$val]['image_media_file'];
}
if (!empty($image_info[$val]['image_thumb_file']) && file_exists(THUMB_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_thumb_file']) && is_file(THUMB_PATH."/".$image_info[$val]['cat_id']."/".$image_info[$val]['image_thumb_file']))
{
$new_thumb_name = copy_thumbnail($new_name, $image_info[$val]['image_thumb_file'], $image_info[$val]['cat_id'], $value);
}
else
{
$new_thumb_name = $image_info[$val]['image_thumb_file'];
}
$set[] = "image_media_file = '".addslashes($new_name)."'";
$set[] = "image_thumb_file = '".addslashes($new_thumb_name)."'";
}
else
{
$value = "'".$value."'";
}
$set[] = $field . " = " . $value;
}
if (!empty($set))
{
$sql = "UPDATE ".IMAGES_TABLE."
SET ".implode(", ", $set)."
WHERE image_id = $val";
$result = $site_db->query($sql);
}
$search_words = array();
foreach ($search_match_fields as $image_column => $match_column)
{
if (isset($HTTP_POST_VARS["qe_".$image_column][$key]))
{
$search_words[$image_column] = stripslashes($HTTP_POST_VARS["qe_".$image_column][$key]);
if (KEYWORDS_NEW && $image_column == 'image_keywords')
{
$search_words[$image_column] = explode(',', $search_words[$image_column]);
}
}
}
remove_searchwords($val);
add_searchwords($val, $search_words);
}
$msg = $lang['image_update_success'];
$action = "findimages";
echo "<script language=javascript>\n showProgress();\n hideProgress();\n</script>";
show_table_header($lang['save_log']);
echo "<tr><td class=\"tablerow\">\n";
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td> </td><td>\n";
echo "<b>".$lang['image_update_success']."</b>\n</td></tr></table>\n";
echo "</td></tr>\n";
show_table_footer();
}
if ($action == "editimage")
{
if ($msg != "")
{
printf("<b>%s</b>\n", $msg);
}
printf("<p>%s</p>\n", $lang['upload_note']);
$image_id = (isset($HTTP_POST_VARS['image_id'])) ? intval($HTTP_POST_VARS['image_id']) : (isset($HTTP_GET_VARS['image_id']) ? intval($HTTP_GET_VARS['image_id']) : 0);
$cat_image = array_keys($cat_cache);
if (isset($cat_cache[$cat_image[0]]['cat_image']))
{
$sql = "SELECT i.*, FROM_UNIXTIME(i.image_date) AS image_date, c.cat_image, b.image_name as cat_image_name, b.image_media_file as cat_image_media_file, b.image_thumb_file as cat_image_thumb_file
FROM ".IMAGES_TABLE." i
LEFT JOIN ".CATEGORIES_TABLE." c ON (c.cat_id = i.cat_id)
LEFT JOIN ".IMAGES_TABLE." b ON (b.image_id = c.cat_image)
WHERE i.image_id = $image_id";
}
else
{
$sql = "SELECT *, FROM_UNIXTIME(image_date) AS image_date
FROM ".IMAGES_TABLE."
WHERE image_id = $image_id";
}
if ($image_id && $image_row = $site_db->query_firstrow($sql))
{
$site_sess->set_session_var('back_url', ROOT_PATH."admin/images.php?action=editimage&".URL_IMAGE_ID."=".$image_id);
show_form_header("images.php", "updateimage", "form", 1);
show_hidden_input("image_id", $image_id);
show_hidden_input("old_file_name", $image_row['image_media_file']);
show_hidden_input("old_thumb_file_name", $image_row['image_thumb_file']);
show_hidden_input("old_cat_id", $image_row['cat_id']);
$name = $lang['nav_images_edit'].": ";
$name .= "<a href=\"" . $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_id)."\" target=\"_blank\"><span class=\"tableheader\">";
$name .= format_text($image_row['image_name'], 2) . "</span></a>";
$name .= "<span class=\"tableheader\" style=\"font-weight: normal;\"> [ID: ".$image_row['image_id']."]</span>";
$name .= " <a href=\"".$site_sess->url(ROOT_PATH."admin/images.php?action=removeimage&".URL_IMAGE_ID."=".$image_id)."\"".($target ? " target=\"_blank\"" : "")."><span class=\"tableheader\" style=\"font-weight: normal;\">[".$lang['delete']."]</span></a>";
show_table_header($name, 2);
$file_src = get_file_path($image_row['image_media_file'], "media", $image_row['cat_id'], 1);
$height = $imagesize;
$width = $imagesize;
$file_size = get_resize2($file_src, $imagesize);
$width = $file_size[0];
$height = $file_size[1];
echo "<tr class=\"".get_row_bg()."\" valign='top'>\n<td><p class=\"rowtitle\">";
$file_path = get_file_path($image_row['image_media_file'], "media", $image_row['cat_id'], 0, 0);
$file_path = ($file_path) ? $file_path : (($image_row['cat_id']) ? MEDIA_PATH."/".$image_row['cat_id'] : MEDIA_TEMP_PATH)."/".$image_row['image_media_file'];
echo $lang['image']."<br /><span class=\"smalltext\">(<a href=\"".$file_path."\" target=\"_blank\">".$image_row['image_media_file']."</a>)<br />".$file_size[2][0]."x".$file_size[2][1]."</span>"."</p>";
echo "</td>\n";
echo "<td>";
echo "<a href=\"" . $site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_row['image_id'])."\" target=\"_blank\">";
$user_info['ims_user_dim'] = $imagesize;
if ($use_media_template)
{
include_once(ROOT_PATH."includes/page_header.php");
echo str_replace("width=\"".$file_size[2][0]."\"", "width=\"".$file_size[0]."\"", str_replace("height=\"".$file_size[2][1]."\"", "height=\"".$file_size[1]."\"", get_media_code($image_row['image_media_file'], $image_row['image_id'], $image_row['cat_id'], $image_row['image_name'], $mode, 1, 1)));
}
else
{
if (defined("IMS_DIR"))
{
$_file_src = $site_sess->url(ROOT_PATH . "multisizes.php?" . URL_IMAGE_ID . "=" . $image_row['image_id'] . "&" . IMS_URL_SIZE_TEMP . "=" . $imagesize);
}
else
{
$_file_src = $file_src;
}
echo "<img src=\"".$_file_src."\" width=\"" . $width . "\" height=\"" . $height . "\" border=\"1\" alt=\"\">";
}
echo "</td>\n</tr>\n";
$value = (is_remote($image_row['image_media_file']) || is_local_file($image_row['image_media_file'])) ? $image_row['image_media_file'] : "";
show_upload_row($lang['image_file'], "file", "<br /><span class=\"smalltext\">".$lang['allowed_mediatypes_desc'].str_replace(",",", ",$config['allowed_mediatypes'])."</span>", $value);
$image_resize = 0;
$thumb_tools = 0;
if (!$convert_options['convert_error'])
{
echo "<tr class=\"".get_row_bg()."\" valign='top'>\n<td><p class=\"rowtitle\">";
echo $lang['image_resize'];
echo "</p>";
echo "</td>\n";
echo "<td>";
echo "<input type=\"radio\" name=\"image_resize\" value=\"1\"";
if ($image_resize)
{
echo " checked=\"checked\"";
}
echo "> ".$lang['yes']." \n";
echo "<input type=\"radio\" name=\"image_resize\" value=\"0\"";
if (!$image_resize)
{
echo " checked=\"checked\"";
}
echo "> ".$lang['no']." ";
echo "</td>";
echo "</tr>";
}
if (!empty($image_row['image_thumb_file']))
{
$file_path = get_file_path($image_row['image_thumb_file'], "thumb", $image_row['cat_id'], 0, 0);
$file_path = ($file_path) ? $file_path : (($image_row['cat_id']) ? THUMB_PATH."/".$image_row['cat_id'] : THUMB_TEMP_PATH)."/".$image_row['image_thumb_file'];
$thumb_src = get_file_path($image_row['image_thumb_file'], "thumb", $image_row['cat_id'], 1);
show_image_row($lang['thumb']."<br /><span class=\"smalltext\">(<a href=\"".$file_path."\" target=\"_blank\">".$image_row['image_thumb_file']."</a>)</span>", $thumb_src, 1);
}
else
{
$file_type = get_file_extension($image_row['image_media_file']);
show_image_row($lang['thumb']."<br /><span class=smalltext>(".$lang['no_thumb_found'].")</span>", ICON_PATH."/".$file_type.".gif", 1);
}
$value = (is_remote($image_row['image_thumb_file']) || is_local_file($image_row['image_thumb_file'])) ? $image_row['image_thumb_file'] : "";
show_upload_row($lang['thumb_file'], "thumb_file", "<br /><span class=\"smalltext\">".$lang['allowed_mediatypes_desc']." jpg, gif, png</span>", $value);
if (!$convert_options['convert_error'])
{
echo "<tr class=\"".get_row_bg()."\" valign='top'>\n<td><p class=\"rowtitle\">";
echo $lang['thumb_tools_edit']."</p>";
echo "</td>\n";
echo "<td valign=\"middle\">";
echo "<select name=\"thumb_tools\">";
echo "<option value=\"0\" selected></option>";
echo "<option value=\"-1\"".($thumb_tools == -1 ? " selected" : "").">".$lang['delete']."</option>";
echo "<option value=\"1\"".($thumb_tools == 1 ? " selected" : "").">".$lang['resize']."</option>";
echo "<option value=\"2\"".($thumb_tools == 2 ? " selected" : "").">".$lang['create_thumb']."</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
}
show_input_row($lang['field_download_url'].$lang['download_url_desc'], "image_download_url", $image_row['image_download_url'], $textinput_size);
$title = $lang['field_image_name'].((isset($file_src)) ? get_iptc_insert_link($file_src, "object_name", "image_name", 0) : "");
show_input_row($title, "image_name", $image_row['image_name'], $textinput_size);
$title = $lang['field_description_ext'].((isset($file_src)) ? get_iptc_insert_link($file_src, "caption", "image_description") : "");
show_textarea_row($title, "image_description", $image_row['image_description'], $textarea_size);
$title = $lang['field_keywords_ext'].((isset($file_src)) ? get_iptc_insert_link($file_src, "keyword", "image_keywords") : "");
show_textarea_row($title, "image_keywords", $image_row['image_keywords'], $textarea_size);
// ob_start();
show_cat_select_row($lang['field_category'], $image_row['cat_id'], 3);
// $dropdown = ob_get_contents();
// ob_end_clean();
// $dropdown = str_replace("name=\"cat_id\"", "name=\"cat_id\" onChange=\"document.getElementById('cat_image').style.display=(this.value != ".$image_row['cat_id'].")?'none':'block';\"", $dropdown);
// echo $dropdown;
show_user_select_row($lang['user'], $image_row['user_id']);
$title = $lang['field_date'].$lang['date_desc'].$lang['date_format'].((isset($file_src)) ? get_iptc_insert_link($file_src, "date_created", "image_date", 0) : "");
if (EXIF_ENABLE && isset($file_src))
{
$title .= get_exif_insert_link($file_src, "DateTimeOriginal", "image_date", 0, "<br />");
$title .= get_exif_insert_link($file_src, "DateTimeDigitized", "image_date", 0, "<br />");
$title .= get_exif_insert_link($file_src, "DateTime", "image_date", 0, "<br />");
}
if (function_exists("show_date_input_row"))
show_date_input_row($title, "image_date", $image_row['image_date'], $textinput_size);
else
show_input_row($title, "image_date", $image_row['image_date'], $textinput_size);
show_radio_row($lang['field_free'], "image_active", $image_row['image_active']);
show_radio_row($lang['field_allow_comments'], "image_allow_comments", $image_row['image_allow_comments']);
show_input_row($lang['field_downloads'], "image_downloads", $image_row['image_downloads'], 10);
show_input_row($lang['field_votes'], "image_votes", $image_row['image_votes'], 10);
show_input_row($lang['field_rating'], "image_rating", $image_row['image_rating'], 10);
show_input_row($lang['field_hits'], "image_hits", $image_row['image_hits'], 10);
show_additional_fields("image", $image_row, IMAGES_TABLE);
if (isset($image_row['cat_image']))
{
$value = ($image_row['cat_image'] && $image_row['image_id'] == $image_row['cat_image']) ? 1 : 0;
if (isset($HTTP_POST_VARS['cat_image']))
{
$value = $HTTP_POST_VARS['cat_image'];
}
echo "<tr class=\"".get_row_bg()."\" id=\"cat_image\">\n";
echo "<td><p class=\"rowtitle\">".$lang['cat_image'];
if ($image_row['cat_image'])
{
if (!get_file_path($image_row['cat_image_thumb_file'], "thumb", $image_row['cat_id'], 0, 0))
{
$cat_image = ICON_PATH."/".get_file_extension($image_row['cat_image_media_file']).".gif";
}
else
{
$cat_image = get_file_path($image_row['cat_image_thumb_file'], "thumb", $image_row['cat_id'], 0, 1);
}
$wh = get_resize2($cat_image, 50);
echo "<br /><span class=\"smalltext\">".$lang['current_image']."<br /><a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_row['cat_image'])."\" target=\"_blank\"><img src=\"".$cat_image."\" width=\"".$wh[0]."\" height=\"".$wh[1]."\" align=\"middle\"></a> <a href=\"".$site_sess->url(ROOT_PATH."details.php?".URL_IMAGE_ID."=".$image_row['cat_image'])."\" target=\"_blank\">".$image_row['cat_image_name']."</a></span>";
}
echo "</p></td>\n<td><p>";
echo "<input type=\"radio\" name=\"cat_image\" value=\"".$image_row['image_id']."\"";
if ($value)
{
echo " checked=\"checked\"";
}
echo "> ".$lang['yes']." \n";
echo "<input type=\"radio\" name=\"cat_image\" value=\"0\"";
if (!$value)
{
echo " checked=\"checked\"";
}
echo "> ".$lang['no']." ";
echo "</p></td>\n</tr>";
show_hidden_input("cat_image_old", $image_row['cat_image']);
}
show_form_footer($lang['save_changes'], $lang['reset'], 2, "", " onClick='showProgress()'");
}
else
{
$action = "modifyimages";
$error_log[] = $lang['no_image'];
}
}
if ($action == "saveimages")
{
$date = time();
$ip = getenv("REMOTE_ADDR");
$error_msg = "";
$num_newimages = $HTTP_POST_VARS['num_newimages'];
$error = array();
for ($i = 1; $i <= $num_newimages; $i++)
{
$image_name = un_htmlspecialchars(trim($HTTP_POST_VARS['image_name_'.$i]));
$cat_id = intval($HTTP_POST_VARS['cat_id_'.$i]);
$remote_file = trim($HTTP_POST_VARS['remote_file_'.$i]);
$remote_thumb_file = trim($HTTP_POST_VARS['remote_thumb_file_'.$i]);
$image_download_url = trim($HTTP_POST_VARS['image_download_url_'.$i]);
if ($cat_id == 0)
{
$error['cat_id_'.$i] = 1;
}
if (((empty($HTTP_POST_FILES['file_'.$i]['tmp_name']) || $HTTP_POST_FILES['file_'.$i]['tmp_name'] == "none") && $remote_file == "") || ($remote_file != "" && !check_remote_media($remote_file) && !check_local_media($remote_file)))
{
$error['file_'.$i] = 1;
}
if ($remote_thumb_file != "" && !check_remote_thumb($remote_thumb_file) && !check_local_thumb($remote_thumb_file))
{
$error['remote_thumb_file_'.$i] = 1;
}
if ($image_download_url != "" && !is_remote($image_download_url) && !is_local_file($image_download_url))
{
$error['image_download_url_'.$i] = 1;
}
if (!empty($additional_image_fields))
{
foreach ($additional_image_fields as $key => $val)
{
if (isset($HTTP_POST_VARS[$key.'_'.$i]) && intval($val[2]) == 1 && trim($HTTP_POST_VARS[$key.'_'.$i]) == "")
{
$error[$key.'_'.$i] = 1;
}
}
}
}
if (empty($error))
{
for ($i = 1; $i <= $num_newimages; $i++)
{
$log = array();
$uploaderror = 0;
$thumb = "";
$image_name = un_htmlspecialchars(trim($HTTP_POST_VARS['image_name_'.$i]));
$cat_id = intval($HTTP_POST_VARS['cat_id_'.$i]);
$user_id = (intval($HTTP_POST_VARS['user_id_'.$i]) != 0) ? intval($HTTP_POST_VARS['user_id_'.$i]) : $user_info['user_id'];
$remote_file = trim($HTTP_POST_VARS['remote_file_'.$i]);
$remote_thumb_file = trim($HTTP_POST_VARS['remote_thumb_file_'.$i]);