************************************************* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ************************************************* Coppermine version: 1.4.9 Photo Shop version: 1.3 $Revision: 1.0 $ $Author: stramm $ ***************************************************/ define('PHOTOSHOP_ADMIN_PHP', true); require('include/init.inc.php'); if (!file_exists("plugins/photo_shop/lang/{$CONFIG['lang']}.php")) $CONFIG['lang'] = 'english'; require "plugins/photo_shop/lang/{$CONFIG['lang']}.php"; //now we do the bridging, this is very sucky... //we have to get all object vars from the bridge child and save them in an array, then we extend core_udb with photo shop functions // changed to hit joomla bridging (and only for joomla bridging) mikyma $udb_var = get_object_vars($cpg_udb); class photo_shop_udb extends core_udb { function photo_shop_fetch_orders($box, $sort_codes, $sort, $lower_limit, $orders_per_page){ global $CONFIG, $udb_var; $sql = "SELECT s.*, u.username, u.email FROM {$CONFIG['TABLE_SHOP']} AS s LEFT JOIN jos_users as u ON u.id = s.uid WHERE aktive=".$box." AND cd=1 ORDER BY ". $sort_codes[$sort] ." LIMIT $lower_limit, $orders_per_page"; $result = cpg_db_query($sql, $this->link_id); return $result; } function photo_shop_fetch_user($oid){ global $CONFIG, $udb_var; $sql = "SELECT s.*, u.username, u.email FROM {$CONFIG['TABLE_SHOP']} AS s LEFT JOIN jos_users as u ON u.id = s.uid WHERE oid=".$oid." AND cd=1 LIMIT 1"; $result = cpg_db_query($sql, $this->link_id); return $result; } } $cpg_udb = new photo_shop_udb; if (!defined('IN_COPPERMINE')) die('Not in Coppermine...'); if (!(GALLERY_ADMIN_MODE)) cpg_die(ERROR, $lang_errors['access_denied'], __FILE__, __LINE__); //archive?? $box = isset($_REQUEST['box']) ? $_REQUEST['box'] : 0; $box != 0 ? $box = 1 : $box = 0; $box == 0 ? $name = $lang_photoshop_admin['Active'] : $name = $lang_photoshop_admin['Archive']; if( isset($_POST['dowhat']) && isset($_POST['orders'])) { switch ($_POST['dowhat']) { case "delete_orders": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET aktive=2 WHERE oid ='".$value."'"); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_REQUEST['box'])); break; case "mark_active": $mark_list=$_POST['orders']; while(list($key) = each($mark_list)) { cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET aktive=0 WHERE oid ='".$key."'"); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_REQUEST['box'])); break; case "mark_archive": $mark_list=$_POST['orders']; while(list($key) = each($mark_list)) { cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET aktive=1 WHERE oid ='".$key."'"); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_REQUEST['box'])); break; case "mark_unviewed": $mark_list=$_POST['orders']; while(list($key) = each($mark_list)) { $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$key." AND cd=1"); $row = mysql_fetch_assoc($result); $stat = $row['status'] & 6; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$key."'"); mysql_free_result($result); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_REQUEST['box'])); break; case "mark_viewed": $mark_list=$_POST['orders']; while(list($key) = each($mark_list)) { $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$key." AND cd=1"); $row = mysql_fetch_assoc($result); $stat = $row['status'] | 1; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$key."'"); mysql_free_result($result); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_REQUEST['box'])); break; } }// end dowhat if( isset($_POST['dowhat_item']) && isset($_POST['orders'])) { switch ($_POST['dowhat_item']) { case "delete_orders": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { cpg_db_query("DELETE FROM {$CONFIG['TABLE_SHOP']} WHERE id ='".$key."'"); $result = cpg_db_query("SELECT sum(quantity) as total FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=0"); $row = mysql_fetch_assoc($result); mysql_free_result($result); $row['total'] = isset($row['total']) ? $row['total'] : 0; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET quantity=".$row['total']." WHERE cd=1 AND oid ='".$_POST['oid']."'"); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_POST['box']."&oid=".$_POST['oid'])); break; case "mark_payed": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { $status = $value | 2; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=$status WHERE id ='".$key."'"); //check if all status = payed -> set main payed $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=0;"); $check=true; while($i=mysql_fetch_array($result)) { if (($i['status'] & 2) != 2) $check=false; } mysql_free_result($result); if ($check) { $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=1"); $row = mysql_fetch_assoc($result); $stat = $row['status'] | 2; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$_POST['oid']."'"); mysql_free_result($result); } } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_POST['box']."&oid=".$_POST['oid'])); break; case "mark_unpayed": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { $status = $value & 5; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=$status WHERE id ='".$key."'"); //we've set 1 unpayed.. means the main has to be set unpayed as well. No further checks needed $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=1"); $row = mysql_fetch_assoc($result); $stat = $row['status'] & 5; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$_POST['oid']."'"); mysql_free_result($result); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_POST['box']."&oid=".$_POST['oid'])); break; case "mark_sent": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { $status = $value | 4; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=$status WHERE id ='".$key."'"); //check if all status = payed -> set main payed $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=0;"); $check=true; while($i=mysql_fetch_array($result)) { if (($i['status'] & 4) != 4) $check=false; } mysql_free_result($result); if ($check) { $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=1"); $row = mysql_fetch_assoc($result); mysql_free_result($result); $stat = $row['status'] | 4; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$_POST['oid']."'"); } } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_POST['box']."&oid=".$_POST['oid'])); break; case "mark_unsent": $mark_list=$_POST['orders']; while(list($key, $value) = each($mark_list)) { $status = $value & 3; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=$status WHERE id ='".$key."'"); //we've set 1 unpayed.. means the main has to be set unpayed as well. No further checks needed $result = cpg_db_query("SELECT status FROM {$CONFIG['TABLE_SHOP']} WHERE oid=".$_POST['oid']." AND cd=1"); $row = mysql_fetch_assoc($result); mysql_free_result($result); $stat = $row['status'] & 3; cpg_db_query("UPDATE {$CONFIG['TABLE_SHOP']} SET status=".$stat." WHERE cd=1 AND oid ='".$_POST['oid']."'"); } header('Location: '.str_replace('&', '&', "index.php?file=photo_shop/photo_shop_admin&box=".$_POST['box']."&oid=".$_POST['oid'])); break; } }// end dowhat $oid = isset($_REQUEST['oid']) ? $_REQUEST['oid'] : null; if (!$oid) {//display a list of all orders // Get total active count $result = cpg_db_query("SELECT count(DISTINCT oid) FROM {$CONFIG['TABLE_SHOP']} WHERE aktive='1'"); list($tot_box[1]) = @mysql_fetch_array($result); mysql_free_result($result); // Get total archive count $result = cpg_db_query("SELECT count(DISTINCT oid) FROM {$CONFIG['TABLE_SHOP']} WHERE aktive='0'"); list($tot_box[0]) = @mysql_fetch_array($result); mysql_free_result($result); $tot_orders = $tot_box[0]+$tot_box[1]; $proc[0] = ceil($tot_box[0] / $tot_orders * 100); $proc[1] = ceil($tot_box[1] / $tot_orders * 100); if ($box=="0") { $thisfolder=$proc[0]; $selected_aktive=' selected="selected"'; $selected_archive=''; } else { $thisfolder=$proc[1]; $selected_archive=' selected="selected"'; $selected_aktive=''; } $allfolder=$proc[0]+$proc[1]; $sort_codes = array( 'oid_d' => 'oid DESC', 'oid_a' => 'oid ASC', 'uid_d' => 'uid DESC', 'uid_a' => 'uid ASC', 'otime_d' => 'otime DESC', 'otime_a' => 'otime ASC', ); $sort = (!isset($_GET['sort']) || !isset($sort_codes[$_GET['sort']])) ? 'oid_d' : $_GET['sort']; $tab_tmpl = array('left_text' => '
{$lang_photoshop_admin['OrdersIn']}: {$name}{$lang_photoshop_admin['config']} | |||
|