get_row( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE meta_id = %d", $meta_id), ARRAY_A);
return $res;
}
function usces_get_post_meta( $post_id, $key ) {
global $wpdb;
$res = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $key), ARRAY_A);
return $res;
}
function usces_sort_post_meta( $post_id, $metastr ) {
global $wpdb;
$meta_ids = explode(',', $metastr);
if( !empty($meta_ids) ){
$i = 0;
foreach( $meta_ids as $meta_id ){
$rows = usces_get_post_meta_by_metaid( $meta_id );
$values = unserialize($rows['meta_value']);
$values['sort'] = $i;
$serialized_values = serialize($values);
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $serialized_values, $rows['meta_id']) );
$i++;
}
}
return;
}
/**
* item option
*/
//function has_item_option_meta( $postid ) {
function usces_get_opts( $post_id, $keyflag = 'sort' ) {
$opts = array();
$metas = usces_get_post_meta($post_id, '_iopt_');
if( empty($metas) ) return $opts;
foreach( $metas as $rows ){
$values = unserialize($rows['meta_value']);
$key = isset($values[$keyflag]) ? $values[$keyflag] : $values['sort'];
$opts[$key] = array(
'meta_id' => $rows['meta_id'],
'name' => $values['name'],
'means' => $values['means'],
'essential' => $values['essential'],
'value' => $values['value'],
'sort' => $values['sort']
);
}
ksort($opts);
return $opts;
}
function usces_add_opt( $post_id, $newvalue, $check = true ) {
global $wpdb, $usces;
if( $check ){
$metas = usces_get_post_meta($post_id, '_iopt_');
if( !empty($metas) ){
$meta_num = count($metas);
$unique = true;
$sortnull = true;
foreach( $metas as $meta ){
$values = unserialize($meta['meta_value']);
if( $values['name'] == $newvalue['name'] )
$unique = false;
if( !isset($values['sort']) )
$sortnull = false;
$sort[] = $values['sort'];
}
if( !$unique )
return -1;
rsort($sort);
$next_number = reset($sort) + 1;
$unique_sort = array_unique($sort);
if( $meta_num !== count($unique_sort) || $meta_num !== $next_number || !$sortnull){
//To repair the sort data
$i = 0;
foreach( $metas as $rows ){
$values = unserialize($rows['meta_value']);
$values['sort'] = $i;
$serialized_values = serialize($values);
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $serialized_values, $rows['meta_id']) );
$i++;
}
}
}
$newvalue['sort'] = !empty($meta_num) ? $meta_num : 0;
}
$serialized_newvalue = serialize($newvalue);
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value ) VALUES (%d, '_iopt_', %s)", $post_id, $serialized_newvalue) );
$id = $wpdb->insert_id;
return $id;
}
/**
* item sku
*/
function usces_add_sku( $post_id, $newvalue, $check = true ) {
global $wpdb, $usces;
if( $check ){
$metas = usces_get_post_meta($post_id, '_isku_');
if( !empty($metas) ){
$meta_num = count($metas);
$unique = true;
$sortnull = true;
foreach( $metas as $rows ){
$values = unserialize($rows['meta_value']);
if( $values['code'] == $newvalue['code'] )
$unique = false;
if( !isset($values['sort']) )
$sortnull = false;
$sort[] = $values['sort'];
}
if( !$unique )
return -1;
rsort($sort);
$next_number = $sort[0] + 1;
$unique_sort = array_unique($sort);
if( $meta_num != count($unique_sort) || $meta_num != $next_number || !$sortnull){
//To repair the sort data
$i = 0;
foreach( $metas as $rows ){
$values = unserialize($rows['meta_value']);
$values['sort'] = $i;
$serialized_values = serialize($values);
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $serialized_values, $rows['meta_id']) );
$i++;
}
}
}
$newvalue['sort'] = !empty($meta_num) ? $meta_num : 0;
}
$newvalue = $usces->stripslashes_deep_post($newvalue);
$serialized_newvalue = serialize($newvalue);
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value ) VALUES (%d, '_isku_', %s)", $post_id, $serialized_newvalue) );
$id = $wpdb->insert_id;
return $id;
}
/**
* list_item_option
*/
function list_item_option_meta( $opts ) {
// Exit if no meta
if ( ! $opts ) {
?>
| |
|
() |
() |
|
|
|
|
';
echo apply_filters('usces_filter_sku_meta_form_advance_title', $advance_title);
?>
|
$meanvalue){
if($meankey == $opt['means']) {
$selected = ' selected="selected"';
}else{
$selected = '';
}
$meansoption .= '\n";
}
$essential = $opt['essential'] == 1 ? " checked='checked'" : "";
$value = '';
if(is_array($opt['value'])){
foreach($opt['value'] as $k => $v){
$value .= $v . "\n";
}
}else{
//$value = esc_attr(trim($opt['value']));
$value = $opt['value'];
}
$value = trim($value);
$id = (int) $opt['meta_id'];
$sort = (int) $opt['sort'];
ob_start();
?>
|
|
|
|
$meanvalue){
$meansoption .= '\n";
}
?>
:
$meanvalue){
$meansoption .= '\n";
}
?>
:
:
= 2 || WCUtils::is_zero($newoptvalue) || !empty ( $newoptvalue )) && !empty ( $newoptname) ) {
if ( $newoptname )
$metakey = $newoptname; // default
if ( in_array($metakey, $protected) )
return false;
wp_cache_delete($post_ID, 'post_meta');
$value['name'] = str_replace("\\",'',$newoptname);
$value['means'] = $newoptmeans;
$value['essential'] = $newoptessential;
$value['value'] = str_replace("\\",'',$newoptvalue);
$value = $usces->stripslashes_deep_post($value);
$id = usces_add_opt($post_ID, $value);
return $id;
}
return false;
} // add_meta
/**
* add_item_sku_meta
*/
function add_item_sku_meta( $post_ID ) {
global $usces;
$post_ID = (int) $post_ID;
$value = array();
$skus = array();
$protected = array( '_wp_attached_file', '_wp_attachment_metadata', '_wp_old_slug', '_wp_page_template' );
$newskuname = isset($_POST['newskuname']) ? trim( $_POST['newskuname'] ) : '';
$newskucprice = isset($_POST['newskucprice']) ? $_POST['newskucprice']: '';
$newskuprice = isset($_POST['newskuprice']) ? $_POST['newskuprice']: '';
$newskuzaikonum = isset($_POST['newskuzaikonum']) ? $_POST['newskuzaikonum']: '';
$newskuzaikoselect = isset($_POST['newskuzaikoselect']) ? $_POST['newskuzaikoselect'] : '';
$newskudisp = isset($_POST['newskudisp']) ? trim( $_POST['newskudisp'] ) : '';
$newskuunit = isset($_POST['newskuunit']) ? trim( $_POST['newskuunit'] ) : '';
$newskugptekiyo = isset($_POST['newskugptekiyo']) ? $_POST['newskugptekiyo'] : '';
if ( !WCUtils::is_blank($newskuname) && !WCUtils::is_blank($newskuprice) && !WCUtils::is_blank($newskuzaikoselect) ) {
if ( in_array($newskuname, $protected) )
return false;
wp_cache_delete($post_ID, 'post_meta');
$value['code'] = $newskuname;
$value['name'] = $newskudisp;
$value['cprice'] = $newskucprice;
$value['price'] = $newskuprice;
$value['unit'] = $newskuunit;
$value['stocknum'] = $newskuzaikonum;
$value['stock'] = $newskuzaikoselect;
$value['gp'] = $newskugptekiyo;
$value = apply_filters('usces_filter_add_item_sku_meta_value', $value);
$id = usces_add_sku($post_ID, $value);
return $id;
}
return false;
} // add_meta
/**
* up_item_option_meta
*/
function up_item_option_meta( $post_ID ) {
global $wpdb, $usces;
$post_ID = (int) $post_ID;
$value = array();
$optmetaid = isset($_POST['optmetaid']) ? (int)$_POST['optmetaid'] : '';
$optname = isset($_POST['optname']) ? $_POST['optname'] : '';
$optmeans = isset($_POST['optmeans']) ? (int)$_POST['optmeans']: 0;
$optessential = isset($_POST['optessential']) ? $_POST['optessential']: 0;
$optsort = isset($_POST['sort']) ? $_POST['sort']: 0;
$optvalue = isset($_POST['optvalue']) ? trim($_POST['optvalue']) : '';
$metakey = '_iopt_';
$value['name'] = str_replace("\\",'',$optname);
$value['means'] = $optmeans;
$value['essential'] = $optessential;
$value['value'] = str_replace("\\",'',$optvalue);
$value['sort'] = $optsort;
$value = $usces->stripslashes_deep_post($value);
$valueserialized = serialize($value);
wp_cache_delete($post_ID, 'post_meta');
$res = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $valueserialized, $optmetaid) );
return $res;
} // update_meta
/**
* up_item_sku_meta
*/
function up_item_sku_meta( $post_ID ) {
global $wpdb, $usces;
$post_ID = (int) $post_ID;
$value = array();
$skuname = isset($_POST['skuname']) ? trim( $_POST['skuname'] ) : '';
$skumetaid = isset($_POST['skumetaid']) ? (int)$_POST['skumetaid'] : '';
$skucprice = isset($_POST['skucprice']) ? trim( $_POST['skucprice'] ): 0;
$skuprice = isset($_POST['skuprice']) ? trim( $_POST['skuprice'] ): 0;
$skuzaikonum = isset($_POST['skuzaikonum']) ? trim( $_POST['skuzaikonum'] ): 0;
$skuzaiko = isset($_POST['skuzaiko']) ? (int)$_POST['skuzaiko'] : '';
$skudisp = isset($_POST['skudisp']) ? trim( $_POST['skudisp'] ): '';
$skuunit = isset($_POST['skuunit']) ? trim( $_POST['skuunit'] ): '';
$skugptekiyo = isset($_POST['skugptekiyo']) ? (int)$_POST['skugptekiyo'] : 0;
$skusort = isset($_POST['sort']) ? $_POST['sort']: 0;
$value['code'] = $skuname;
$value['name'] = $skudisp;
$value['cprice'] = $skucprice;
$value['price'] = $skuprice;
$value['unit'] = $skuunit;
$value['stocknum'] = $skuzaikonum;
$value['stock'] = $skuzaiko;
$value['gp'] = $skugptekiyo;
$value['sort'] = $skusort;
$value = $usces->stripslashes_deep_post($value);
$skus = $usces->get_skus($post_ID);
foreach( $skus as $sku ){
if( $sku['code'] == $skuname && $sku['meta_id'] != $skumetaid){
return -1;
break;
}
}
$value = apply_filters('usces_filter_up_item_sku_meta_value', $value);
$valueserialized = serialize($value);
if ( !WCUtils::is_blank($skumetaid) && !WCUtils::is_blank($skuname) && !WCUtils::is_blank($skuprice) ) {
wp_cache_delete($post_ID, 'post_meta');
$res = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $valueserialized, $skumetaid) );
return $res;
}
return false;
} // update_meta
/**
* del_item_option_meta
*/
function del_item_option_meta( $post_ID ) {
global $wpdb;
$post_ID = (int) $post_ID;
$optmetaid = isset($_POST['optmetaid']) ? (int)$_POST['optmetaid'] : '';
wp_cache_delete($post_ID, 'post_meta');
$res = $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id = %d", $optmetaid) );
$opts = usces_get_opts($post_ID);
if( !empty($opts) ){
$i = 0;
foreach( $opts as $opt ){
$opt['sort'] = $i;
$meta_id = $opt['meta_id'];
unset($opt['meta_id']);
$serialized_values = serialize($opt);
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $serialized_values, $meta_id) );
$i++;
}
}
return ;
} // delete_meta
/**
* del_item_sku_meta
*/
function del_item_sku_meta( $post_ID ) {
global $wpdb, $usces;
$post_ID = (int) $post_ID;
$skumetaid = isset($_POST['skumetaid']) ? (int)$_POST['skumetaid'] : '';
wp_cache_delete($post_ID, 'post_meta');
$res = $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->postmeta WHERE meta_id = %d", $skumetaid) );
$skus = $usces->get_skus($post_ID);
if( !empty($skus) ){
$i = 0;
foreach( $skus as $sku ){
$sku['sort'] = $i;
$meta_id = $sku['meta_id'];
unset($sku['meta_id']);
$serialized_values = serialize($sku);
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $serialized_values, $meta_id) );
$i++;
}
}
return ;
} // delete_meta
function select_common_option( $post_ID ) {
global $wpdb;
$meta_id = isset($_POST['meta_id']) ? $_POST['meta_id'] : '';
if(!$meta_id) return ;
$meta_value = $wpdb->get_var( $wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_id = %d ", $meta_id) );
$array_val = unserialize( $meta_value );
$means = $array_val['means'];
$essential = $array_val['essential'];
$value = $array_val['value'];
$res = $means . '#usces#' . $essential . '#usces#' . $value;
return $res;
} // select_common_option
function order_item2cart_ajax(){
global $usces;
if( $_POST['action'] != 'order_item2cart_ajax' ) die(0);
$_POST = $usces->stripslashes_deep_post($_POST);
$res = order_item2cart();
//if( $res === false ) die(0);//20120613ysk 0000500
//REGEX BUG: but it'll return info
// Compose JavaScript for return
die( $res );
}
function order_item_ajax(){
global $usces;
if( $_POST['action'] != 'order_item_ajax' ) die(0);
$res = false;
$_POST = $usces->stripslashes_deep_post($_POST);
switch ( $_POST['mode'] ) {
case 'completionMail':
case 'orderConfirmMail':
case 'changeConfirmMail':
case 'receiptConfirmMail':
case 'mitumoriConfirmMail':
case 'cancelConfirmMail':
case 'otherConfirmMail':
$res = usces_order_confirm_message( $_POST['order_id'] );
break;
case 'sendmail':
$res = usces_ajax_send_mail();
break;
case 'get_order_item':
$res = get_order_item( $_POST['itemcode'] );
break;
case 'ordercheckpost':
$res = usces_update_ordercheck();
break;
case 'getmember':
$res = usces_get_member_neworder();
break;
case 'recalculation':
$res = usces_order_recalculation( $_POST['order_id'], $_POST['mem_id'], $_POST['post_ids'], $_POST['skus'], $_POST['prices'], $_POST['quants'], $_POST['use_point'], $_POST['shipping_charge'], $_POST['cod_fee'] );
break;
}
$res = apply_filters( 'usces_filter_order_item_ajax', $res );
if( $res === false ) die(0);
//REGEX BUG: but it'll return info
// Compose JavaScript for return
die( $res );
}
/**
* order Item html
*/
function usces_get_member_neworder() {
global $wpdb;
$wpdb->show_errors();
$res = '';
$member_table = $wpdb->prefix . "usces_member";
$query = $wpdb->prepare("SELECT * FROM $member_table WHERE mem_email = %s", trim($_POST['email']));
$value = $wpdb->get_row( $query, ARRAY_A );
if( !$value ){
die( 'none#usces#1' );
}else{
$res .= 'ok#usces#member_id=' . $value['ID'];
$res .= '#usces#customer[name1]=' . $value['mem_name1'];
$res .= '#usces#customer[name2]=' . $value['mem_name2'];
$res .= '#usces#customer[name3]=' . $value['mem_name3'];
$res .= '#usces#customer[name4]=' . $value['mem_name4'];
$res .= '#usces#customer[zipcode]=' . $value['mem_zip'];
$res .= '#usces#customer[pref]=' . $value['mem_pref'];
$res .= '#usces#customer[address1]=' . $value['mem_address1'];
$res .= '#usces#customer[address2]=' . $value['mem_address2'];
$res .= '#usces#customer[address3]=' . $value['mem_address3'];
$res .= '#usces#customer[tel]=' . $value['mem_tel'];
$res .= '#usces#customer[fax]=' . $value['mem_fax'];
$res .= '#usces#delivery[name1]=' . $value['mem_name1'];
$res .= '#usces#delivery[name2]=' . $value['mem_name2'];
$res .= '#usces#delivery[name3]=' . $value['mem_name3'];
$res .= '#usces#delivery[name4]=' . $value['mem_name4'];
$res .= '#usces#delivery[zipcode]=' . $value['mem_zip'];
$res .= '#usces#delivery[pref]=' . $value['mem_pref'];
$res .= '#usces#delivery[address1]=' . $value['mem_address1'];
$res .= '#usces#delivery[address2]=' . $value['mem_address2'];
$res .= '#usces#delivery[address3]=' . $value['mem_address3'];
$res .= '#usces#delivery[tel]=' . $value['mem_tel'];
$res .= '#usces#delivery[fax]=' . $value['mem_fax'];
$member_metetable = $wpdb->prefix . "usces_member_meta";
$query = $wpdb->prepare("SELECT * FROM $member_metetable WHERE meta_key LIKE %s AND member_id = %d", 'csmb_%', $value['ID']);
$customs = $wpdb->get_results( $query, ARRAY_A );
if( !empty($customs) ){
foreach( $customs as $cusv ){
$res .= '#usces#custom_customer[' . substr($cusv['meta_key'], 5) . ']=' . $cusv['meta_value'];
$res .= '#usces#custom_delivery[' . substr($cusv['meta_key'], 5) . ']=' . $cusv['meta_value'];
}
}
//die( urlencode($res) );
}
die( $res );
}
function order_item2cart() {
global $usces;
if( $_POST['action'] != 'order_item2cart_ajax' ) die(0);
$res = usces_update_ordercart();
//20120613ysk start 0000500
//if( $res === false ) die(0);
//if( $res === 0 ) die('nodata');
//die( $res );
return $res;
//20120613ysk end
}
function get_order_item( $item_code ) {
global $usces, $post;
$post_id = $usces->get_postIDbyCode( $item_code );
if( $post_id == NULL ) return false;
$post = get_post($post_id);
$pict_id = $usces->get_mainpictid( $item_code );
$pict_link = wp_get_attachment_image($pict_id, array(150, 150), true);
preg_match("/^\(\
)\<\/a\>$/", $pict_link, $match);
$pict = isset($match[1]) ? $match[1] : '';
$skus = $usces->get_skus( $post_id );
$optkeys = $usces->get_itemOptionKey( $post_id );
$itemName = esc_html($usces->getItemName($post_id));
$r = '';
$r .= $pict_link . "\n";
$r .= "" . $itemName . "
\n";
$r .= "\n";
return $r;
}
function item_option_ajax()
{
if( $_POST['action'] != 'item_option_ajax' ) die(0);
if(isset($_POST['update'])){
$id = up_item_option_meta( $_POST['ID'] );
}else if(isset($_POST['delete'])){
$id = del_item_option_meta( $_POST['ID'] );
}else if(isset($_POST['select'])){
$res = select_common_option( $_POST['ID'] );
die( $res );
}else if(isset($_POST['sort'])){
$id = usces_sort_post_meta( $_POST['ID'], $_POST['meta'] );
//die( $res );
}else{
$id = add_item_option_meta( $_POST['ID'] );
}
$opts = usces_get_opts( $_POST['ID'] );
$r = '';
foreach ( $opts as $opt )
$r .= _list_item_option_meta_row( $opt );
$res = $r . '#usces#' . $id;
//REGEX BUG: but it'll return info
// Compose JavaScript for return
die( $res );
}
function item_sku_ajax(){
global $usces;
$id = '';
if( $_POST['action'] != 'item_sku_ajax' ) die(0);
if(isset($_POST['update'])){
$id = up_item_sku_meta( $_POST['ID'] );
}else if(isset($_POST['delete'])){
$id = del_item_sku_meta( $_POST['ID'] );
}else if(isset($_POST['select'])){
$res = select_item_sku( $_POST['ID'] );
die( $res );
}else if(isset($_POST['sort'])){
$id = usces_sort_post_meta( $_POST['ID'], $_POST['meta'] );
//die( $res );
}else{
$id = add_item_sku_meta( $_POST['ID'] );
}
$skus = $usces->get_skus( $_POST['ID'] );
$r = '';
foreach ( (array)$skus as $sku )
$r .= _list_item_sku_meta_row( $sku );
//$list = has_item_sku_list();
$res = $r . '#usces#' . $id;
die( $res );
}
function item_save_metadata( $post_id, $post ) {
global $usces, $wpdb;
$message = '';
// usces_log('item_save_metadata : '.print_r($post_id,true), 'acting_transaction.log');
// usces_log('item_save_metadata : '.print_r($_POST['post_ID'],true), 'acting_transaction.log');
// パーミッションチェック
if ( isset($_POST['page']) && 'usces_itemedit' == $_POST['page']) {
if ( !current_user_can( 'edit_post', $post_id ) ){
$usces->set_action_status('error', 'ERROR : '.__('Sorry, you do not have the right to edit this post.'));
return $post_id;
}
} else {
return $post_id;
}
if ( !wp_verify_nonce( $_POST['usces_nonce'], 'usc-e-shop' )) {
return $post_id;
}
// $post_id = $_POST['post_ID'];
// if( $post_id < 0 ){
// return $post_id;
// }
// 自動保存ルーチンかどうかチェック。そうだった場合はフォームを送信しない(何もしない)
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
return $post_id;
$usces->set_item_mime($post_id, 'item');
$itemCode = trim($_POST['itemCode' ]);
if( preg_match('/[^0-9a-zA-Z\-_]/', $itemCode) ){
// $itemCode = '';
// $usces->action_message = '商品コードは半角英数(-_を含む)で入力して下さい。' . "
";
}
if( empty($itemCode) ){
$itemCode = '';
$message .= __('Product code has not been entered.', 'usces') . "
";
}elseif( $res = usces_is_same_itemcode($post->ID, $itemCode)) {
$message .= 'post_ID ';
foreach( $res as $postid )
$message .= $postid . ', ';
$message .= 'Same product code is registered here.' . "
";
$usces->set_action_status('error', 'ERROR : '.$message);
}
update_post_meta($post_id, '_itemCode', $itemCode);
if(isset($_POST['itemName'])){
$itemName = trim($_POST['itemName']);
update_post_meta($post_id, '_itemName', $itemName);
}
// if(isset($_POST['itemCode'])){
// $itemCode = trim($_POST['itemCode']);
// update_post_meta($post_id, '_itemCode', $itemCode);
// }
if(isset($_POST['itemRestriction'])){
$itemRestriction = trim($_POST['itemRestriction']);
update_post_meta($post_id, '_itemRestriction', $itemRestriction);
}
if(isset($_POST['itemPointrate'])){
$itemPointrate = (int)$_POST['itemPointrate'];
update_post_meta($post_id, '_itemPointrate', $itemPointrate);
}
if(isset($_POST['itemGpNum1'])){
$itemGpNum1 = (int)$_POST['itemGpNum1'];
update_post_meta($post_id, '_itemGpNum1', $itemGpNum1);
}
if(isset($_POST['itemGpNum2'])){
$itemGpNum2 = (int)$_POST['itemGpNum2'];
update_post_meta($post_id, '_itemGpNum2', $itemGpNum2);
}
if(isset($_POST['itemGpNum3'])){
$itemGpNum3 = (int)$_POST['itemGpNum3'];
update_post_meta($post_id, '_itemGpNum3', $itemGpNum3);
}
if(isset($_POST['itemGpDis1'])){
$itemGpDis1 = (int)$_POST['itemGpDis1'];
update_post_meta($post_id, '_itemGpDis1', $itemGpDis1);
}
if(isset($_POST['itemGpDis2'])){
$itemGpDis2 = (int)$_POST['itemGpDis2'];
update_post_meta($post_id, '_itemGpDis2', $itemGpDis2);
}
if(isset($_POST['itemGpDis3'])){
$itemGpDis3 = (int)$_POST['itemGpDis3'];
update_post_meta($post_id, '_itemGpDis3', $itemGpDis3);
}
if(isset($_POST['itemShipping'])){
$itemShipping = (int)$_POST['itemShipping'];
update_post_meta($post_id, '_itemShipping', $itemShipping);
}
if(isset($_POST['itemDeliveryMethod'])){
$itemDeliveryMethod = array();
foreach( (array)$_POST["itemDeliveryMethod"] as $dmid){
$itemDeliveryMethod[] = $dmid;
}
update_post_meta($post_id, '_itemDeliveryMethod', $itemDeliveryMethod);
}
if(isset($_POST['itemShippingCharge'])){
$itemShippingCharge = (int)$_POST['itemShippingCharge'];
update_post_meta($post_id, '_itemShippingCharge', $itemShippingCharge);
}
$itemIndividualSCharge = isset($_POST['itemIndividualSCharge']) ? 1 : 0;
update_post_meta($post_id, '_itemIndividualSCharge', $itemIndividualSCharge);
if(isset($_POST['wcexp'])){
$wcexp = serialize($_POST['wcexp']);
update_post_meta($post_id, '_wcexp', $wcexp);
}
//SKU
if( isset($_POST['itemsku']) ){
$meta_ids = array();
$codes = array();
$uniq_code = false;
$irreg_code = false;
$irreg_price = false;
foreach($_POST['itemsku'] as $mid => $temp){
$meta_ids[] = $mid;
}
$meta_ids = array_unique($meta_ids);
foreach( $meta_ids as $meta_id ){
$skucode = isset($_POST['itemsku'][$meta_id]['key']) ? trim( $_POST['itemsku'][$meta_id]['key'] ) : '';
$skucprice = isset($_POST['itemsku'][$meta_id]['cprice']) ? trim( $_POST['itemsku'][$meta_id]['cprice'] ): 0;
$skuprice = isset($_POST['itemsku'][$meta_id]['price']) ? trim( $_POST['itemsku'][$meta_id]['price'] ): 0;
$skustocknum = isset($_POST['itemsku'][$meta_id]['zaikonum']) ? trim( $_POST['itemsku'][$meta_id]['zaikonum'] ): 0;
$skustock = isset($_POST['itemsku'][$meta_id]['zaiko']) ? (int)$_POST['itemsku'][$meta_id]['zaiko'] : '';
$skuname = isset($_POST['itemsku'][$meta_id]['skudisp']) ? trim( $_POST['itemsku'][$meta_id]['skudisp'] ): '';
$skuunit = isset($_POST['itemsku'][$meta_id]['skuunit']) ? trim( $_POST['itemsku'][$meta_id]['skuunit'] ): '';
$skugp = isset($_POST['itemsku'][$meta_id]['skugptekiyo']) ? (int)$_POST['itemsku'][$meta_id]['skugptekiyo'] : 0;
$skusort = isset($_POST['itemsku'][$meta_id]['sort']) ? $_POST['itemsku'][$meta_id]['sort']: 0;
$skus['code'] = $skucode;
$skus['name'] = $skuname;
$skus['cprice'] = $skucprice;
$skus['price'] = $skuprice;
$skus['unit'] = $skuunit;
$skus['stocknum'] = $skustocknum;
$skus['stock'] = $skustock;
$skus['gp'] = $skugp;
$skus['sort'] = $skusort;
$skus = $usces->stripslashes_deep_post($skus);
$skus = apply_filters( 'usces_filter_item_save_sku_metadata', $skus, $meta_id );
$valueserialized = serialize($skus);
$res = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $valueserialized, $meta_id) );
if( in_array( $skucode, $codes ) )
$uniq_code = true;
if( WCUtils::is_blank($skucode) )
$irreg_code = true;
if( WCUtils::is_blank($skuprice) || preg_match('/[^0-9.]/', $skuprice) || 1 < substr_count($skuprice, '.' ) )
$irreg_price = true;
$codes[] = $skucode;
}
if( $uniq_code ){
$message .= __('SKU code is duplicated.','usces') . "
";
}
if( $irreg_code ){
$message .= __('SKU code is invalid.','usces') . "
";
}
if( $irreg_price ){
$message .= __('SKU of invalid selling price exists.','usces') . "
";
}
}
//OPT
if( isset($_POST['itemopt']) ){
$meta_ids = array();
$names = array();
$uniq_name = false;
$irreg_name = false;
$irreg_value = false;
foreach($_POST['itemopt'] as $mid => $temp){
$meta_ids[] = $mid;
}
$meta_ids = array_unique($meta_ids);
foreach( $meta_ids as $meta_id ){
$optname = isset($_POST['itemopt'][$meta_id]['name']) ? $_POST['itemopt'][$meta_id]['name'] : '';
$optmeans = isset($_POST['itemopt'][$meta_id]['means']) ? (int)$_POST['itemopt'][$meta_id]['means']: 0;
$optessential = isset($_POST['itemopt'][$meta_id]['essential']) ? $_POST['itemopt'][$meta_id]['essential']: 0;
$optsort = isset($_POST['itemopt'][$meta_id]['sort']) ? $_POST['itemopt'][$meta_id]['sort']: 0;
$optvalue = isset($_POST['itemopt'][$meta_id]['value']) ? trim($_POST['itemopt'][$meta_id]['value']) : '';
$opts['name'] = str_replace("\\",'',$optname);
$opts['value'] = str_replace("\\",'',$optvalue);
$opts['means'] = $optmeans;
$opts['essential'] = $optessential;
$opts['sort'] = $optsort;
$opts = $usces->stripslashes_deep_post($opts);
$valueserialized = serialize($opts);
$res = $wpdb->query( $wpdb->prepare("UPDATE $wpdb->postmeta SET meta_value = %s WHERE meta_id = %d", $valueserialized, $meta_id) );
if( in_array( $optname, $names ) )
$uniq_name = true;
if( WCUtils::is_blank($optname) )
$irreg_name = true;
if( WCUtils::is_blank($optvalue) && 1 >= $optmeans )
$irreg_value = true;
$names[] = $optname;
}
if( $uniq_name ){
$message .= __("Commodity option option name duplicates exist.", "usces") . "
";
}
if( $irreg_name ){
$message .= __("Commodity option not entered there is the option name.", "usces") . "
";
}
if( $irreg_value ){
$message .= __("If you select 'single select' and 'multi-select' the trade option, please enter the select value.", "usces") . "
";
}
}
do_action('usces_action_save_product', $post_id, $post);
$message = apply_filters( 'usces_filter_save_product_message', $message, $post_id );
// $usces->action_status = 'none';
// $usces->action_message = '';
if( $message ){
$usces->set_action_status('error', 'ERROR : '.$message);
}else{
$usces->set_action_status('success', __('Registration of the product is complete.','usces'));
}
wp_cache_delete($post_id, 'post_meta');
}
function usces_link_replace($para) {
//$str = 'admin.php?page=' . USCES_PLUGIN_BASENAME . '&';
$str = 'admin.php?page=usces_itemedit&';
$url = preg_replace('|post\.php\?|i', $str, $para);
return $url;
}
function usces_count_posts( $type = 'post', $perm = '' ) {
global $wpdb;
$user = wp_get_current_user();
$cache_key = $type;
$query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s AND post_mime_type = 'item'";
//$query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s";
if ( 'readable' == $perm && is_user_logged_in() ) {
if ( !current_user_can("read_private_{$type}s") ) {
$cache_key .= '_' . $perm . '_' . $user->ID;
$query .= " AND (post_status != 'private' OR ( post_author = '$user->ID' AND post_status = 'private' ))";
}
}
$query .= ' GROUP BY post_status';
$count = wp_cache_get($cache_key, 'counts');
if ( false !== $count )
// return $count;
$count = $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
$stats = array( );
foreach( (array) $count as $row_num => $row ) {
$stats[$row['post_status']] = $row['num_posts'];
}
$stats = (object) $stats;
wp_cache_set($cache_key, $stats, 'counts');
return $stats;
}
//20100809ysk start
/**
* custom order meta row
*/
function _list_custom_order_meta_row($key, $entry) {
$r = '';
$style = '';
$key = esc_attr($key);
$name = esc_attr($entry['name']);
$means = get_option('usces_custom_order_select');
$meansoption = '';
foreach($means as $meankey => $meanvalue) {
if($meankey == $entry['means']) {
$selected = ' selected="selected"';
} else {
$selected = '';
}
$meansoption .= '\n";
}
$essential = $entry['essential'] == 1 ? " checked='checked'" : "";
$value = '';
if(is_array($entry['value'])) {
foreach($entry['value'] as $k => $v) {
$value .= $v."\n";
}
}
$value = esc_attr(trim($value));
$r .= "\n\t";
$r .= "\n\t\t| ";
$r .= "\n\t\t";
$r .= "\n\t\t \n";
$r .= " ";
//20100818ysk start
//$r .= "\n\t\t";
//$r .= "\n\t\t ";
$r .= "\n\t\t";
$r .= "\n\t\t ";
//20100818ysk end
$r .= "\n\t\t";
$r .= " | ";
$r .= "\n\t\t | \n\t
";
return $r;
}
//20100809ysk end
//20100818ysk start
/**
* has custom field meta
*/
function usces_has_custom_field_meta($fieldname) {
switch($fieldname) {
case 'order':
$field = 'usces_custom_order_field';
break;
case 'customer':
$field = 'usces_custom_customer_field';
break;
case 'delivery':
$field = 'usces_custom_delivery_field';
break;
case 'member':
$field = 'usces_custom_member_field';
break;
default:
return array();
}
$fields = get_option($field);
if( empty($fields) ){
$meta = array();
}elseif( is_array($fields) ){
$meta = $fields;
}else{
$meta = unserialize($fields);
}
return $meta;
}
function usces_getinfo_ajax(){
global $wp_version;
$wcex_str = '';
$res = '';
$wcex = usces_get_wcex();
foreach ( (array)$wcex as $key => $values ) {
$wcex_str .= $key . "-" . $values['version'] . ",";
}
$wcex_str = rtrim($wcex_str, ',');
if ( version_compare($wp_version, '3.4', '>=') ){
$theme_ob = wp_get_theme();
$themedata['Name'] = $theme_ob->get('Name');
$themedata['Version'] = $theme_ob->get('Version');
}else{
$themedata = get_theme_data( get_stylesheet_directory().'/style.css' );
}
$v = urlencode(USCES_VERSION);
$wcid = urlencode(get_option('usces_wcid'));
$locale = urlencode(get_locale());
$theme = urlencode($themedata['Name'] . '-' . $themedata['Version']);
$wcex = urlencode($wcex_str);
$interface_url = 'http://www.welcart.com/util/welcart_information2.php';
$wcurl = urlencode(get_home_url());
$interface = parse_url($interface_url);
$vars ="v=$v&wcid=$wcid&locale=$locale&theme=$theme&wcex=$wcex&wcurl=$wcurl";
$header = "POST " . $interface_url . " HTTP/1.1\r\n";
$header .= "Host: " . $_SERVER['HTTP_HOST'] . "\r\n";
$header .= "User-Agent: " . $_SERVER['HTTP_USER_AGENT'] . "\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($vars) . "\r\n";
$header .= "Connection: close\r\n\r\n";
$header .= $vars;
$fp = fsockopen($interface['host'],80,$errno,$errstr,30);
if( $fp ){
fwrite($fp, $header);
$i=0;
while ( !feof($fp) ) {
$scr = fgets($fp, 10240);
preg_match("/<(title|data)>(.*)<(\/title|\/data)>$/", $scr, $match);
if(!empty($match[2])){
switch( $match[1] ){
case'title':
$res .= '' . $match[2] . '
';
break;
case 'data':
$res .= '- ' . $match[2] . '
';
break;
}
}
$i++;
if($i>50) {
$res = 'ERROR';
break;
}
}
$res .= '
';
fclose($fp);
}else{
$res = 'ERROR';
}
die($res);
}
/**
* custom field ajax
*/
function custom_field_ajax() {
global $usces;
$_POST = $usces->stripslashes_deep_post($_POST);
if($_POST['action'] != 'custom_field_ajax') die(0);
switch($_POST['field']) {
case 'order':
$field = 'usces_custom_order_field';
break;
case 'customer':
$field = 'usces_custom_customer_field';
break;
case 'delivery':
$field = 'usces_custom_delivery_field';
break;
case 'member':
$field = 'usces_custom_member_field';
break;
default:
die(0);
}
$meta = usces_has_custom_field_meta($_POST['field']);
$dupkey = 0;
if(isset($_POST['add'])) {
$newkey = isset($_POST['newkey']) ? trim($_POST['newkey']) : '';
$newname = isset($_POST['newname']) ? trim($_POST['newname']) : '';
$newmeans = isset($_POST['newmeans']) ? $_POST['newmeans'] : 0;
$newessential = isset($_POST['newessential']) ? $_POST['newessential'] : 0;
$newposition = isset($_POST['newposition']) ? trim($_POST['newposition']) : '';
if($newmeans == 2) {//Text
$newvalue = isset($_POST['newvalue']) ? trim($_POST['newvalue']) : '';
$nv = $newvalue;
} else {
$newvalue = isset($_POST['newvalue']) ? explode('\n', trim($_POST['newvalue'])) : '';
foreach((array)$newvalue as $v) {
if( !WCUtils::is_blank($v) )
$nv[] = trim($v);
}
}
if(!array_key_exists($newkey, $meta)) {
if(($newmeans >= 2 || WCUtils::is_zero($newvalue) || !empty($newvalue)) && !empty($newkey) && !empty($newname)) {
$meta[$newkey]['name'] = $newname;
$meta[$newkey]['means'] = $newmeans;
$meta[$newkey]['essential'] = $newessential;
$meta[$newkey]['value'] = $nv;
if( !WCUtils::is_blank($newposition) ) $meta[$newkey]['position'] = $newposition;
update_option($field, $meta);
}
} else {
$dupkey = 1;
}
} elseif(isset($_POST['update'])) {
$key = isset($_POST['key']) ? trim($_POST['key']) : '';
$name = isset($_POST['name']) ? trim($_POST['name']) : '';
$means = isset($_POST['means']) ? $_POST['means'] : 0;
$essential = isset($_POST['essential']) ? $_POST['essential'] : 0;
$position = isset($_POST['position']) ? trim($_POST['position']) : '';
if($means == 2) {//Text
$value = isset($_POST['value']) ? trim($_POST['value']) : '';
$nv = $value;
} else {
$value = isset($_POST['value']) ? explode('\n', trim($_POST['value'])) : '';
foreach((array)$value as $v) {
if( !WCUtils::is_blank($v) )
$nv[] = trim($v);
}
}
if($means >= 2 || WCUtils::is_zero($value) || !empty($value)) {
$meta[$key]['name'] = $name;
$meta[$key]['means'] = $means;
$meta[$key]['essential'] = $essential;
$meta[$key]['value'] = $nv;
if( !WCUtils::is_blank($position) ) $meta[$key]['position'] = $position;
update_option($field, $meta);
}
} elseif(isset($_POST['delete'])) {
$key = isset($_POST['key']) ? trim($_POST['key']) : '';
unset($meta[$key]);
update_option($field, $meta);
}
$r = '';
switch($_POST['field']) {
case 'order':
foreach($meta as $key => $entry)
$r .= _list_custom_order_meta_row($key, $entry);
break;
case 'customer':
foreach($meta as $key => $entry)
$r .= _list_custom_customer_meta_row($key, $entry);
break;
case 'delivery':
foreach($meta as $key => $entry)
$r .= _list_custom_delivery_meta_row($key, $entry);
break;
case 'member':
foreach($meta as $key => $entry)
$r .= _list_custom_member_meta_row($key, $entry);
break;
}
$res = $r . '#usces#' . $dupkey;
//REGEX BUG: but it'll return info
// Compose JavaScript for return
die($res);
}
/**
* list custom customer meta row
*/
function _list_custom_customer_meta_row($key, $entry) {
$r = '';
$style = '';
$key = esc_attr($key);
$name = esc_attr($entry['name']);
$means = get_option('usces_custom_customer_select');
$meansoption = '';
foreach($means as $meankey => $meanvalue) {
$selected = ($meankey == $entry['means']) ? " selected='selected'" : "";
$meansoption .= "\n";
}
$essential = $entry['essential'] == 1 ? " checked='checked'" : "";
$value = '';
if(is_array($entry['value'])) {
foreach($entry['value'] as $k => $v) {
$value .= $v."\n";
}
}
$value = esc_attr(trim($value));
$positions = get_option('usces_custom_field_position_select');
$positionsoption = '';
foreach($positions as $poskey => $posvalue) {
$selected = ($poskey == $entry['position']) ? " selected='selected'" : "";
$positionsoption .= "\n";
}
$r .= "\n\t";
$r .= "\n\t\t| ";
$r .= "\n\t\t";
$r .= "\n\t\t \n";
$r .= "\n";
$r .= " ";
$r .= "\n\t\t";
$r .= "\n\t\t ";
$r .= "\n\t\t";
$r .= " | ";
$r .= "\n\t\t | \n\t
";
return $r;
}
/**
* list custom delivery meta row
*/
function _list_custom_delivery_meta_row($key, $entry) {
$r = '';
$style = '';
$key = esc_attr($key);
$name = esc_attr($entry['name']);
$means = get_option('usces_custom_delivery_select');
$meansoption = '';
foreach($means as $meankey => $meanvalue) {
$selected = ($meankey == $entry['means']) ? " selected='selected'" : "";
$meansoption .= "\n";
}
$essential = $entry['essential'] == 1 ? " checked='checked'" : "";
$value = '';
if(is_array($entry['value'])) {
foreach($entry['value'] as $k => $v) {
$value .= $v."\n";
}
}
$value = esc_attr(trim($value));
$positions = get_option('usces_custom_field_position_select');
$positionsoption = '';
foreach($positions as $poskey => $posvalue) {
$selected = ($poskey == $entry['position']) ? " selected='selected'" : "";
$positionsoption .= "\n";
}
$r .= "\n\t";
$r .= "\n\t\t| ";
$r .= "\n\t\t";
$r .= "\n\t\t \n";
$r .= "\n";
$r .= " ";
$r .= "\n\t\t";
$r .= "\n\t\t ";
$r .= "\n\t\t";
$r .= " | ";
$r .= "\n\t\t | \n\t
";
return $r;
}
/**
* list custom member meta row
*/
function _list_custom_member_meta_row($key, $entry) {
$r = '';
$style = '';
$key = esc_attr($key);
$name = esc_attr($entry['name']);
$means = get_option('usces_custom_member_select');
$meansoption = '';
foreach($means as $meankey => $meanvalue) {
$selected = ($meankey == $entry['means']) ? " selected='selected'" : "";
$meansoption .= "\n";
}
$essential = $entry['essential'] == 1 ? " checked='checked'" : "";
$value = '';
if(is_array($entry['value'])) {
foreach($entry['value'] as $k => $v) {
$value .= $v."\n";
}
}
$value = esc_attr(trim($value));
$positions = get_option('usces_custom_field_position_select');
$positionsoption = '';
foreach($positions as $poskey => $posvalue) {
$selected = ($poskey == $entry['position']) ? " selected='selected'" : "";
$positionsoption .= "\n";
}
$r .= "\n\t";
$r .= "\n\t\t| ";
$r .= "\n\t\t";
$r .= "\n\t\t \n";
$r .= "\n";
$r .= " ";
$r .= "\n\t\t";
$r .= "\n\t\t ";
$r .= "\n\t\t";
$r .= " | ";
$r .= "\n\t\t | \n\t
";
return $r;
}
//20100818ysk end
function change_states_ajax(){
global $usces, $usces_states;
$_POST = $usces->stripslashes_deep_post($_POST);
$c = $_POST['country'];
$res = '';
//20110331ysk start
/* if( !isset($usces_states[$c]) || empty($usces_states[$c]) )
die('error');
foreach( (array)$usces_states[$c] as $state ){
$res .= '';
}*/
$prefs = get_usces_states($c);
if(is_array($prefs) and 0 < count($prefs)) {
foreach((array)$prefs as $state) {
$res .= '';
}
} else {
die('error');
}
//20110331ysk end
die($res);
}
//20110331ysk start
function get_usces_states($country) {
global $usces, $usces_states;
$states = array();
$prefs = maybe_unserialize($usces->options['province']);
if( !isset($prefs[$country]) || empty($prefs[$country]) ) {
if($country == $usces->options['system']['base_country']) {
foreach((array)$prefs as $state) {
if(!is_array($state))
array_push($states, $state);
}
if(count($states) == 0) {
if( !empty($usces_states[$country]) ) {
$prefs = $usces_states[$country];
if(is_array($prefs)) {
$states = $prefs;
}
}
}
} else {
if( !empty($usces_states[$country]) ) {
$prefs = $usces_states[$country];
if(is_array($prefs)) {
$states = $prefs;
}
}
}
} else {
$states = $prefs[$country];
}
return $states;
}
function target_market_ajax() {
global $usces;
$_POST = $usces->stripslashes_deep_post($_POST);
$res = "";
$target = explode(",", $_POST['target']);
foreach((array)$target as $country) {
$prefs = get_usces_states($country);
if(is_array($prefs) and 0 < count($prefs)) {
$pos = strpos($prefs[0], '--');
if($pos !== false) array_shift($prefs);
$res .= $country.",";
foreach((array)$prefs as $state) {
$res .= $state."\n";
}
$res = rtrim($res, "\n")."#usces#";
//20110430ysk start
} else {
$res .= $country.",#usces#";
//20110430ysk end
}
}
$res = rtrim($res, "#usces#");
die($res);
}
//20110331ysk end
//20120309ysk start 0000430
function usces_admin_ajax() {
switch($_POST['mode']) {
case 'options_backup':
$options = get_option('usces');
$res = true;
if( is_array($options) ) {
$usces_backup_date = current_time('mysql');
update_option('usces_backup', $options);
update_option('usces_backup_date', $usces_backup_date);
$res = $usces_backup_date;
} else {
$res = false;
}
die($res);
break;
case 'options_restore':
$options = get_option('usces_backup');
$res = true;
if( is_array($options) ) {
update_option('usces', $options);
} else {
$res = false;
}
die($res);
break;
}
do_action('usces_action_admin_ajax');
}
//20120309ysk end
function usces_order_recalculation( $order_id, $mem_id, $post_ids, $skus, $prices, $quants, $use_point, $shipping_charge, $cod_fee ) {
global $usces;
$res = 'ok';
if( !empty($order_id) ) {
$data = $usces->get_order_data( $order_id, 'direct' );
$condition = unserialize( $data['order_condition'] );
} else {
$condition = $usces->get_condition();
}
//usces_log('condition : '.print_r($condition,true), 'acting_transaction.log');
$post_id = explode("#usces#", $post_ids);
$sku = explode("#usces#", $skus);
$price = explode("#usces#", $prices);
$quant = explode("#usces#", $quants);
$cart = array();
for( $i = 0; $i < count($post_id); $i++ ) {
if( $post_id[$i] )
$cart[] = array( "post_id"=>$post_id[$i], "sku"=>$sku[$i], "price"=>$price[$i], "quantity"=>$quant[$i] );
}
$total_items_price = 0;
foreach( $cart as $cart_row ) {
$total_items_price += $cart_row['price'] * $cart_row['quantity'];
}
$meminfo = $usces->get_member_info( $mem_id );
$discount = 0;
if( $condition['display_mode'] == 'Promotionsale' ) {
if( $condition['campaign_privilege'] == 'discount' ) {
if ( 0 === (int)$condition['campaign_category'] ) {
$discount = $total_items_price * $condition['privilege_discount'] / 100;
} else {
foreach( $cart as $cart_row ) {
if( in_category( (int)$condition['campaign_category'], $cart_row['post_id']) ) {
$discount += $cart_row['price'] * $cart_row['quantity'] * $condition['privilege_discount'] / 100;
}
}
}
}
}
if( 0 < $discount ) $discount = ceil($discount * -1);
$point = 0;
if( 'activate' == $usces->options['membersystem_state'] && 'activate' == $usces->options['membersystem_point'] && !empty($meminfo['ID']) ) {
if( $condition['display_mode'] == 'Promotionsale' ) {
if( $condition['campaign_privilege'] == 'discount' ) {
foreach( $cart as $cart_row ) {
$cats = $usces->get_post_term_ids( $cart_row['post_id'], 'category' );
if( !in_array( $condition['campaign_category'], $cats ) ) {
$rate = get_post_meta( $cart_row['post_id'], '_itemPointrate', true );
$price = $cart_row['price'] * $cart_row['quantity'];
$point += $price * $rate / 100;
}
}
} elseif( $condition['campaign_privilege'] == 'point' ) {
foreach( $cart as $cart_row ) {
$rate = get_post_meta( $cart_row['post_id'], '_itemPointrate', true );
$price = $cart_row['price'] * $cart_row['quantity'];
$cats = $usces->get_post_term_ids( $cart_row['post_id'], 'category' );
if( in_array( $condition['campaign_category'], $cats ) ) {
$point += $price * $rate / 100 * $condition['privilege_point'];
} else {
$point += $price * $rate / 100;
}
}
}
} else {
foreach( $cart as $cart_row ) {
$rate = get_post_meta( $cart_row['post_id'], '_itemPointrate', true );
$price = $cart_row['price'] * $cart_row['quantity'];
$point += $price * $rate / 100;
}
}
}
if( 0 < $point ) $point = ceil($point);
//20130425ysk start 0000699
if( 0 < $use_point ) {
$point = ceil( $point - ( $point * $use_point / $total_items_price ) );
if( 0 > $point )
$point = 0;
}
//20130425ysk end
$point = apply_filters( 'usces_filter_set_point_recalculation', $point, $condition, $cart, $meminfo, $use_point );
$total_price = $total_items_price - $use_point + $discount + $shipping_charge + $cod_fee;
$total_price = apply_filters('usces_filter_set_cart_fees_total_price', $total_price, $total_items_price, $use_point, $discount, $shipping_charge, $cod_fee);
$tax = $usces->getTax( $total_price );
$total_full_price = $total_price + $tax;
$total_full_price = apply_filters('usces_filter_set_cart_fees_total_full_price', $total_full_price, $total_items_price, $use_point, $discount, $shipping_charge, $cod_fee);
return $res."#usces#".$discount."#usces#".usces_crform( $tax, false, false, 'return', false )."#usces#".$point."#usces#".usces_crform( $total_full_price, false, false, 'return', false );
}
?>