Execute("UPDATE ".TABLE_CUSTOMERS." SET customers_group_pricing=".$_REQUEST['customers_reward_group']." WHERE customers_id=".$id.";"); $pending_delta=0; $earned_delta=0; if(($current_reward_points=GetCustomerRewardPointsRecord($id))!=null && isset($_REQUEST['total_points_action'])) switch($_REQUEST['total_points_action']) { case 'TransferAllToEarned': $earned_delta+=$current_reward_points->fields['pending_points']; $pending_delta-=$current_reward_points->fields['pending_points']; $db->Execute("UPDATE IGNORE ".TABLE_REWARD_STATUS_TRACK." SET status=".STATUS_PROCESSED." WHERE customers_id=".$id." AND status=".STATUS_PENDING.";"); break; case 'TransferAllToPending': $earned_delta-=$current_reward_points->fields['reward_points']; $pending_delta+=$current_reward_points->fields['reward_points']; $db->Execute("UPDATE IGNORE ".TABLE_REWARD_STATUS_TRACK." SET status=".STATUS_PENDING." WHERE customers_id=".$id." AND status=".STATUS_PROCESSED.";"); break; case 'ResetAllPending': $pending_delta-=$current_reward_points->fields['pending_points']; $db->Execute("DELETE IGNORE FROM ".TABLE_REWARD_STATUS_TRACK." WHERE customers_id=".$id." AND status=".STATUS_PENDING.";"); break; case 'ResetAllEarned': $earned_delta-=$current_reward_points->fields['reward_points']; $db->Execute("DELETE IGNORE FROM ".TABLE_REWARD_STATUS_TRACK." WHERE customers_id=".$id." AND status=".STATUS_PROCESSED.";"); break; case 'ResetAll': $pending_delta-=$current_reward_points->fields['pending_points']; $earned_delta-=$current_reward_points->fields['reward_points']; $db->Execute("DELETE IGNORE FROM ".TABLE_REWARD_STATUS_TRACK." WHERE customers_id=".$id." AND (status=".STATUS_PROCESSED." OR status=".STATUS_PENDING.");"); break; } if(isset($_REQUEST['variable_points_action']) && isset($_REQUEST['points'])) switch($_REQUEST['variable_points_action']) { case 'AddToEarned': $earned_delta+=$_REQUEST['points']; break; case 'AddToPending': $pending_delta+=$_REQUEST['points']; break; case 'SubtractFromEarned': $earned_delta-=$_REQUEST['points']; break; case 'SubtractFromPending': $pending_delta-=$_REQUEST['points']; break; } if($earned_delta!=0 || $pending_delta!=0) UpdateCustomerRewardPoints($id,$earned_delta,$pending_delta); } break; case 'handle_point_list': if(isset($_REQUEST['reward_point_table_action']) && isset($_REQUEST['id'])) { $id=$_GET['id']; $id_list=array(); for($loop=0;$loopExecute("SELECT SUM(reward_points) FROM ".TABLE_REWARD_STATUS_TRACK." WHERE status=".STATUS_PENDING." AND (".$list.");"))) { $db->Execute("UPDATE ".TABLE_REWARD_STATUS_TRACK." SET status=".STATUS_PROCESSED." WHERE ".$list.";"); if($transfer_points=$result->fields['SUM(reward_points)']) UpdateCustomerRewardPoints($id,$transfer_points,-$transfer_points); } break; case 'DeleteRecords': $db->Execute("DELETE IGNORE FROM ".TABLE_REWARD_STATUS_TRACK." WHERE ".$list.";"); break; } } break; case 'reset_index': unset($_SESSION['customer_sort_index']); unset($_SESSION['search']); break; } } else { if(isset($_GET['customer_sort_order'])) $_SESSION['customer_sort_order']=zen_db_input(zen_db_prepare_input($_GET['customer_sort_order'])); if(isset($_GET['customer_sort_index'])) { $_SESSION['customer_sort_index']=zen_db_input(zen_db_prepare_input($_GET['customer_sort_index'])); unset($_SESSION['search']); } if(isset($_GET['search'])) { $_SESSION['search']=zen_db_input(zen_db_prepare_input($_GET['search'])); unset($_SESSION['customer_sort_index']); } } ?> > <?php echo TITLE; ?>
'0', 'text' => TEXT_SORT_CUSTOMER_LASTNAME),array('id' => '1', 'text' => TEXT_SORT_CUSTOMER_FIRSTNAME),array('id' => '2', 'text' => TEXT_SORT_CUSTOMER_ID),array('id' => '3', 'text' => TEXT_SORT_PRICING_GROUP),array('id' => '4', 'text' => TEXT_SORT_PENDING_POINTS),array('id' => '5', 'text' => TEXT_SORT_REWARD_POINTS)); $customer_sort_order = $_SESSION['customer_sort_order']; echo TEXT_CUSTOMER_SORT_ORDER_INFO . zen_draw_form('set_customer_sort_order_form', FILENAME_ADMIN_CUSTOMER_REWARD_POINTS, '', 'get') . '  ' . zen_draw_pull_down_menu('customer_sort_order', $customer_sort_order_array, $customer_sort_order, 'onChange="this.form.submit();"') . zen_hide_session_id(); echo '     '; echo zen_draw_form('search', FILENAME_ADMIN_CUSTOMER_REWARD_POINTS,'','get'); $parameters = explode('&', zen_get_all_get_params(array('search', 'action'))); foreach($parameters as $parameter) { if(!empty($parameter)) { list($key, $value) = explode('=', $parameter); echo zen_draw_hidden_field($key, $value); } } echo HEADING_TITLE_SEARCH_DETAIL.' '.zen_draw_input_field('search',zen_db_input(zen_db_prepare_input($_SESSION['search']))).zen_hide_session_id(); echo ''; ?>
'.chr(65+$loop).''; echo ''; ?>
Last Name Index: Reset
' . "\n"; } ?>
0'; if(isset($_SESSION['search'])) { $where .= " AND (c.customers_lastname LIKE '%".$_SESSION['search']."%' OR c.customers_firstname LIKE '%".$_SESSION['search']."%' OR c.customers_id LIKE '%".$_SESSION['search']."%' OR c.customers_email_address LIKE '%".$_SESSION['search']."%')"; } if(isset($_GET['customer_sort_index'])) { $where .= " AND c.customers_lastname LIKE '".$_GET['customer_sort_index']."%'"; } switch($_SESSION['customer_sort_order']) { case (0): $order_by=" ORDER BY c.customers_lastname"; break; case (1): $order_by=" ORDER BY c.customers_firstname, c.customers_lastname"; break; case (2): $order_by=" ORDER BY c.customers_id, c.customers_lastname"; break; case (3): $order_by=" ORDER BY gp.group_name, c.customers_lastname"; break; case (4): $order_by=" ORDER BY r.pending_points DESC, c.customers_lastname"; break; case (5): $order_by=" ORDER BY r.reward_points DESC, c.customers_lastname"; break; case (6): $order_by=" ORDER BY o.date_purchased DESC, c.customers_lastname"; break; } $group_by=""; //$limit=" LIMIT ".REWARD_POINTS_CUSTOMER_LIMIT; $customer_query_raw = "select distinct c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_group_pricing, r.pending_points, r.reward_points, gp.group_name, rm.redeem_ratio from ".TABLE_CUSTOMERS." as c LEFT JOIN (".TABLE_REWARD_CUSTOMER_POINTS." as r) ON (r.customers_id=c.customers_id) LEFT JOIN(".TABLE_GROUP_PRICING." as gp) ON (gp.group_id=c.customers_group_pricing) LEFT JOIN(".TABLE_REWARD_MASTER." as rm) ON ((c.customers_group_pricing!=0 AND rm.scope=".SCOPE_GROUP." AND rm.scope_id=c.customers_group_pricing) OR (c.customers_group_pricing=0 AND rm.scope=".SCOPE_GLOBAL." AND rm.scope_id=0))".$index.$where.$group_by.$order_by.$limit; //echo $customer_query_raw; $customers_split = new splitPageResults($_GET['page'], REWARD_POINTS_CUSTOMER_LIMIT, $customer_query_raw, $customers_query_numrows); $customers = $db->Execute($customer_query_raw); while (!$customers->EOF) { //$redeem_points=GetRewardPointRecord(SCOPE_GROUP,$customers->fields['customers_group_pricing']); if(isset($_GET['id']) && $customers->fields['customers_id']==$_GET['id']) { echo ' '."\n"; $current_customer=$customers->fields; } else echo ' '."\n"; ?> MoveNext(); } ?>
fields['customers_id'], 'NONSSL') . '" >' . $customers->fields['customers_id'] . ''; ?> fields['customers_lastname']; ?> fields['customers_firstname']; ?> fields['pending_points']; ?> fields['reward_points']; ?> fields['group_name'],TEXT_NONE); ?> fields['redeem_ratio']; ?> fields['customers_id'] . '&action=edit') . '">' . zen_image(DIR_WS_IMAGES . 'icon_edit.gif', ICON_EDIT) . ''; ?>
display_count($customers_query_numrows, REWARD_POINTS_CUSTOMER_LIMIT, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_CUSTOMERS); ?>
display_links($customers_query_numrows, REWARD_POINTS_CUSTOMER_LIMIT, MAX_DISPLAY_PAGE_LINKS, $_GET['page'], zen_get_all_get_params(array('page', 'info', 'x', 'y', 'cID'))); ?>
0, 'text'=>''),array('id'=>'TransferAllToEarned', 'text'=>'Transfer all Pending to Earned'),array('id'=>'TransferAllToPending', 'text'=>'Transfer all Earned to Pending'),array('id'=>'ResetAllPending', 'text'=>'Reset all Pending Points'),array('id'=>'ResetAllEarned', 'text'=>'Reset all Earned Points'),array('id'=>'ResetAll', 'text'=>'Reset all Earned and Pending Points')); $GetVariablePointsActionList=array(array('id'=>0, 'text'=>''),array('id'=>'AddToEarned', 'text'=>'Add extra points to Earned'),array('id'=>'AddToPending', 'text'=>'Add extra points to Pending'),array('id'=>'SubtractFromEarned', 'text'=>'Subtract points from Earned'),array('id'=>'SubtractFromPending', 'text'=>'Subtract points from Pending')); $heading[] = array('text' => 'Reward Point Admin'); $contents = array('form' => zen_draw_form('customer_reward_point_admin', FILENAME_ADMIN_CUSTOMER_REWARD_POINTS, zen_get_all_get_params(array('id', 'action')) . 'id='.$current_customer['customers_id'].'&action=update', 'post')); $contents[]=array('align' => 'center', 'text' => '
'.$current_customer['customers_firstname'].' '.$current_customer['customers_lastname'].'
'); $contents[]=array('text' => '
Reward Points Pending: 
'.(int)$current_customer['pending_points'].'
'); $contents[]=array('text' => '
Value of Pending: 
'.$currencies->format($current_customer['pending_points']*$current_customer['redeem_ratio']).'
'); $contents[]=array('text' => '
Reward Points Earned: 
'.(int)$current_customer['reward_points'].'
'); if(defined(MODULE_ORDER_TOTAL_REWARD_POINTS_STATUS) && MODULE_ORDER_TOTAL_REWARD_POINTS_STATUS==true) $points_value=$currencies->format($current_customer['reward_points']*$current_customer['redeem_ratio']); else if(defined(MODULE_ORDER_TOTAL_REWARD_POINTS_DISCOUNT_STATUS) && MODULE_ORDER_TOTAL_REWARD_POINTS_DISCOUNT_STATUS==true) { $row=GetRewardPointDiscountRow($current_customer['reward_points']); if($row!=null) $points_value=$row['discount'].'%'; else $points_value="0%"; } $contents[]=array('text' => '
Value of Earned: 
'.$points_value.'
'); $contents[]=array('text' => '
'); $contents[]=array('text' => 'Set new Pricing Group/Redeem Ratio'); $contents[]=array('align' => 'center','text' => zen_draw_pull_down_menu('customers_reward_group', GetPricingGroupList(), $current_customer['customers_group_pricing'])); $contents[]=array('text' => '
'); $contents[]=array('text' => 'Points Transfer or Reset'); $contents[]=array('align' => 'center','text' => zen_draw_pull_down_menu('total_points_action', $TotalPointsActionList)); $contents[]=array('text' => '
'); $contents[]=array('text' => 'Add or Subtract Points'); $contents[]=array('align' => 'center','text' => zen_draw_input_field('points','','size="8"').' '.zen_draw_pull_down_menu('variable_points_action', $GetVariablePointsActionList)); $contents[]=array('text' => '
'); $contents[]=array('align' => 'center', 'text' => zen_image_submit('button_update.gif', IMAGE_UPDATE)); $contents[]=array('text' => ''); $reward_records = $db->Execute("SELECT rewards_id, orders_id, date, reward_points, status FROM ".TABLE_REWARD_STATUS_TRACK." WHERE customers_id=".$current_customer['customers_id']." AND status=".STATUS_PENDING." ORDER BY date DESC LIMIT ".'12'.";"); if($reward_records->RecordCount()>0) { $record_heading = array(); $record_contents = array(); $record_heading[] = array('text' => 'Pending Reward Points'); $record_contents = array('form' => zen_draw_form('reward_transactions', FILENAME_ADMIN_CUSTOMER_REWARD_POINTS, 'id='.$current_customer['customers_id'].'&action=handle_point_list', 'post')); $reward_point_table=''."\n"; $count=0; while(!$reward_records->EOF) { $reward_point_table.=''."\n"; $reward_records->MoveNext(); } $RewardRecordsActionList=array(array('id'=>0, 'text'=>''),array('id'=>'TransferToEarned', 'text'=>'Transfer to Earned'),array('id'=>'DeleteRecords', 'text'=>'Delete Reward Points')); $reward_point_table.='
DateOrder IDPoints 
'.zen_date_short($reward_records->fields['date']).''.$reward_records->fields['orders_id'].''.(int)$reward_records->fields['reward_points'].'
Select all records: 
Selected records: '.zen_draw_pull_down_menu('reward_point_table_action', $RewardRecordsActionList).'
'; $record_contents[]=array('align'=>'center','text'=>$reward_point_table); $record_contents[]=array('align' => 'center', 'text' => zen_image_submit('button_confirm.gif', IMAGE_CONFIRM)); $record_contents[]=array('text' => ''); } break; } // End of switch statement } else { echo '
No Customer (or invalid customer) selected. No action performed!
'; //line 407 and 408 suggested by lhungil } if((zen_not_null($heading)) && (zen_not_null($contents))) { echo '
' . "\n"; $box = new box; echo $box->infoBox($heading, $contents); $record_box = new box; echo $record_box->infoBox($record_heading, $record_contents); echo '