0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
coppermine
/
1.4.16-5
/
standard
/
htdocs
/
[
Home
]
File: keywordmgr.php
<?php /************************* Coppermine Photo Gallery ************************ Copyright (c) 2003-2008 Dev Team v1.1 originally written by Gregory DEMAR This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. ******************************************** Coppermine version: 1.4.16 $HeadURL: https://coppermine.svn.sourceforge.net/svnroot/coppermine/trunk/cpg1.4.x/keywordmgr.php $ $Revision: 4233 $ $Author: gaugau $ $Date: 2008-02-02 09:23:58 +0100 (Sa, 02 Feb 2008) $ **********************************************/ define('IN_COPPERMINE', true); define('KEYWORDMGR_PHP', true); define('SEARCH_PHP', true); require('include/init.inc.php'); //Die if not admin_mode if (!GALLERY_ADMIN_MODE) cpg_die(ERROR, $lang_errors['access_denied'], __FILE__, __LINE__); pageheader($lang_keywordmgr_php['title']); starttable("100%", $lang_keywordmgr_php['title'], 3); echo <<<EOT <tr> <td class="tablef"><b>{$lang_keywordmgr_php['edit']}</b></td> <td class="tablef"><b>{$lang_keywordmgr_php['delete']}</b></td> <td class="tablef"><b>{$lang_keywordmgr_php['search']}</b></td> </tr> EOT; switch($_REQUEST['page']) { default : case 'display': $result = cpg_db_query("select keywords from {$CONFIG['TABLE_PICTURES']}"); if (!mysql_num_rows($result)) cpg_die(ERROR, $lang_errors['non_exist_ap']); // Find unique keywords $total_array = array(); while (list($keywords) = mysql_fetch_row($result)) { $array = explode(' ',$keywords); foreach($array as $word) { if ($word == '.' || $word == '' || $word == ' ' ) continue; $orig_word = $word; $single_word = addslashes($word); $lowercase_word = utf_strtolower($single_word); $lowercase_word = addslashes($lowercase_word); $word = <<<EOT <td class="tableb"> <input type="radio" class="radio" name="keywordEdit" value="$lowercase_word" onClick="document.keywordForm.newword.value='$single_word'" id="$lowercase_word" /> <label for="$lowercase_word" class="clickable_option"> <img src="images/edit.gif" width="16" height="16" border="0" alt="" title="{$lang_keywordmgr_php['edit']} "$orig_word"" /> "<i>$orig_word</i>" </label> </td> EOT; $word .= '<td class="tableb"><a href="keywordmgr.php?page=delete&remov='.$single_word.'" onclick="return confirm(\''.sprintf($lang_keywordmgr_php['confirm_delete'], '"'.$single_word.'"').'\')">'; $word .= '<img src="images/delete.gif" width="16" height="16" border="0" alt="" title="'.sprintf($lang_keywordmgr_php['keyword_del'],'"'.$orig_word.'"').'" /> '.$orig_word; $word .= <<<EOT </a></td> <td class="tableb"><a href="thumbnails.php?album=search&search=$orig_word" target="_blank"> EOT; $word .= sprintf($lang_keywordmgr_php['keyword_test_search'], '"<i>'.$orig_word.'</i>"'); $word .= '</a></td>'; if (!in_array($word,$total_array)) $total_array[] = $word; } } sort($total_array); $output = implode("</tr>\n<tr>", $total_array); echo <<<EOT <form name="keywordForm" action="keywordmgr.php?page=changeword" method="post"> $output <tr><td colspan="5" class="tablef" align="center"> <input type="text" name="newword" /> <input type="submit" value="{$lang_keywordmgr_php['change_keyword']}" /> </td></tr> </form> EOT; break; case 'changeword': if ($_REQUEST['keywordEdit'] && $_REQUEST['newword']) { $keywordEdit = addslashes($_REQUEST['keywordEdit']); $query = "SELECT `pid`,`keywords` FROM {$CONFIG['TABLE_PICTURES']} WHERE CONCAT(' ',`keywords`,' ') LIKE '% {$keywordEdit} %'"; $result = cpg_db_query($query) or die(mysql_error()); while (list($id,$keywords) = mysql_fetch_row($result)) { $array_new = array(); $array_old = explode(" ", addslashes(trim($keywords))); foreach($array_old as $word) { // convert old to new if its the same word if (utf_strtolower($word) == $keywordEdit) $word = addslashes($_REQUEST['newword']); // rebuild array to reprocess it $array_new[] = $word; } $keywords = implode(" ", $array_new); $newquerys[] = "UPDATE {$CONFIG['TABLE_PICTURES']} SET `keywords` = '$keywords' WHERE `pid` = '$id'"; } } $newquerys[] = "UPDATE {$CONFIG['TABLE_PICTURES']} SET `keywords` = TRIM(REPLACE(`keywords`,' ',' '))"; foreach ($newquerys as $query) { $result = cpg_db_query($query) or die($query."<br />".mysql_error()); } header("Location: keywordmgr.php?page=display"); break; case 'delete': $keywordEdit = addslashes($_REQUEST['remov']); $query = "SELECT `pid`,`keywords` FROM {$CONFIG['TABLE_PICTURES']} WHERE CONCAT(' ',`keywords`,' ') LIKE '% {$keywordEdit} %'"; $result = cpg_db_query($query) or die(mysql_error()); while (list($id,$keywords) = mysql_fetch_row($result)) { $array_new = array(); $array_old = explode(" ", addslashes(trim($keywords))); foreach($array_old as $word) { // convert old to new if its the same word if (utf_strtolower($word) == $keywordEdit) $word = ''; // rebuild array to reprocess it $array_new[] = $word; } $keywords = implode(" ", $array_new); $newquerys[] = "UPDATE {$CONFIG['TABLE_PICTURES']} SET `keywords` = '$keywords' WHERE `pid` = '$id'"; } $newquerys[] = "UPDATE {$CONFIG['TABLE_PICTURES']} SET `keywords` = TRIM(REPLACE(`keywords`,' ',' '))"; foreach ($newquerys as $query) { $result = cpg_db_query($query) or die($query."<br />".mysql_error()); } header("Location: ?page=display"); break; } endtable(); if ($CONFIG['clickable_keyword_search'] != 0) { include('include/keyword.inc.php'); } pagefooter(); ob_end_flush(); ?>