public function task_agreement_freeze() { global $model_list, $_K, $_lang; $config = unserialize($model_list[1]['config']); $sql = " select a.agree_id,a.agree_status,a.seller_status,a.buyer_status,a.seller_uid,a.buyer_uid,a.task_id,a.on_time,b.task_title from %switkey_agreement a left join %switkey_task b on a.task_id=b.task_id where\n\t\t\t\ta.model_id=1 and b.task_status=6 and a.on_time<'%d'"; $agree_list = db_factory::query(sprintf($sql, TABLEPRE, TABLEPRE, time() - intval($config['agree_complete_time']) * 24 * 3600)); if (!empty($agree_list)) { $msg_obj = new keke_msg_class(); foreach ($agree_list as $k => $v) { $ginfo = kekezu::get_user_info($v['seller_uid']); $winfo = kekezu::get_user_info($v['buyer_uid']); db_factory::execute(sprintf(" update %switkey_task set task_status=13 where task_id='%d'", TABLEPRE, $v['task_id'])); db_factory::execute(sprintf(" update %switkey_agreement set agree_status=5 where agree_id='%d'", TABLEPRE, $v['agree_id'])); $url = "<a href=\"" . $_K['siteurl'] . '/index.php?do=task&id=' . $v['task_id'] . "\">" . $v['task_title'] . "</a>"; $v1 = array('动作' => $_lang['agree_g_ac'], '原因' => '由于超时未完成交付已被系统冻结,请尽快联系客服,由客服介入处理', '任务标题' => $url); $v2 = array('动作' => $_lang['agree_w_ac'], '原因' => '由于超时未完成交付已被系统冻结,请尽快联系客服,由客服介入处理', '任务标题' => $url); $msg_obj->send_message($ginfo['uid'], $ginfo['username'], "task_freeze", '协议交付超时冻结通知', $v1, $ginfo['email'], $ginfo['mobile']); $msg_obj->send_message($winfo['uid'], $winfo['username'], "task_freeze", '协议交付超时冻结通知', $v2, $winfo['email'], $winfo['mobile']); } } }
public static function create_service_order($service_info, $isApp = false, $serviceOrderInfo = array(), $step = '') { global $uid, $username, $_K; global $_lang; if ($uid == $service_info['uid']) { if ($isApp) { app_class::response(array('ret' => 1003)); } else { return $_lang['seller_can_not_order_self']; } } $oder_obj = new Keke_witkey_order_class(); $order_detail = new Keke_witkey_order_detail_class(); switch ($service_info['model_id']) { case "6": $type = $_lang['work']; $service_cash = $service_info['price']; break; case "7": $type = $_lang['service']; $service_cash = $serviceOrderInfo['price']; break; } $order_name = $service_info['title']; $order_body = $_lang['buy_goods'] . "<a href=\"index.php?do=goods&id={$service_info['service_id']}\">" . $order_name . "</a>"; if ($service_info['model_id'] == 6) { $detail_type = 'goods'; $order_status = 'wait'; } else { $detail_type = 'service'; $order_status = 'seller_confirm'; } $order_id = keke_order_class::create_order($service_info['model_id'], $service_info['uid'], $service_info['username'], $order_name, $service_cash, $order_body, $order_status, $service_info['leave_message']); if ($order_id) { if ($service_info['model_id'] == 7) { $serviceOrderInfo['order_id'] = $order_id; keke_order_class::createServiceOrder($serviceOrderInfo); } keke_order_class::create_order_detail($order_id, $order_name, 'service', intval($service_info[service_id]), $service_cash); $msg_obj = new keke_msg_class(); $service_url = "<a href=\"" . $_K[siteurl] . "/index.php?do=goods&id=" . $service_info[service_id] . "\">" . $order_name . "</a>"; $strLeaveMessage = $service_info['leave_message']; $order_url = "<a href=\"" . $_K[siteurl] . "/index.php?do=order&sid=" . $service_info['service_id'] . "&orderId=" . $order_id . "#userCenter\">#" . $order_id . "</a>"; $s_notice = array($_lang['user_action'] => $username . $_lang['order_buy'], $_lang['service_name'] => $service_url, $_lang['service_type'] => $type, $_lang['buyer_leave_message'] => $strLeaveMessage, $_lang['order_link'] => $order_url); if ($service_info['model_id'] == '7') { unset($s_notice[$_lang['buyer_leave_message']]); $msgAction = 'service_order'; $shopMx = '服务'; } else { $msgAction = 'goods_order'; $shopMx = '作品'; } $contact = db_factory::get_one(sprintf(" select mobile,email from %switkey_space where uid='%d'", TABLEPRE, $service_info[uid])); if ($service_info['model_id'] != '6' && $step != 'step1') { $order_info = keke_order_class::get_order_info($order_id); $b_order_link = "<a href=\"" . $_K['siteurl'] . "/index.php?do=user&view=transaction&op=sold&intModelId=" . $order_info['model_id'] . "&order_id=" . $order_id . "\">" . $order_info['order_name'] . "</a>"; $v_arr = array($_lang['user_msg'] => $order_info['seller_username'], '商品标题' => $order_info['order_name'], $_lang['order_link'] => $b_order_link, '商品模型名称' => $shopMx); $msg_obj->send_message($service_info['uid'], $service_info['username'], "order_create", $_lang['you_has_new'] . $type . $_lang['order'], $v_arr, $contact['email'], $contact['mobile']); $arrTaskInfo = db_factory::get_one("select * from " . TABLEPRE . "witkey_service where service_id=" . intval($service_info[service_id])); $feed_arr = array("feed_username" => array("content" => $arrTaskInfo['username'], "url" => "index.php?do=seller&id=" . $arrTaskInfo['uid']), "action" => array("content" => $_lang['buy'], "url" => ''), "event" => array("content" => $order_name, "url" => "index.php?do=goods&id={$service_info['service_id']}")); kekezu::save_feed($feed_arr, $uid, $username, 'buy_' . $detail_type, $service_info['service_id'], $service_url); $feed_arr = array("feed_username" => array("content" => $username, "url" => "index.php?do=seller&id=" . $uid), "action" => array("content" => $_lang['buy'], "url" => ''), "event" => array("content" => $order_name, "url" => "index.php?do=goods&id={$service_info['service_id']}")); kekezu::save_feed($feed_arr, $arrTaskInfo['uid'], $arrTaskInfo['username'], 'buy_' . $detail_type . '_bei', $service_info['service_id'], $service_url); } if ($isApp) { app_class::response(array('ret' => 0, 'orderid' => $order_id)); } else { return $order_id; } } else { if ($isApp) { app_class::response(array('ret' => 1004)); } else { return $_lang['order_produce_fail']; } } }
$arrTopIndustrys = $kekezu->_indus_p_arr; $arrAllIndustrys = $kekezu->_indus_arr; if ($edituid) { $member_arr = kekezu::get_user_info($edituid); $shop_open = db_factory::get_count('select shop_id from ' . TABLEPRE . 'witkey_shop where uid=' . $edituid); } $member_group_arr = db_factory::query(sprintf("select group_id,groupname from %switkey_member_group", TABLEPRE)); if ($op == 'getzfpwd') { $userInfo = keke_user_class::get_user_info(intval($userid)); $email = $userInfo['email']; $strNewCode = kekezu::randomkeys(8); $strNewMd5Pwd = keke_user_class::get_password($strNewCode, $userInfo['rand_code']); $intRes = db_factory::updatetable(TABLEPRE . 'witkey_space', array('sec_code' => $strNewMd5Pwd), array('uid' => intval($userid))); if ($intRes) { $message_obj = new keke_msg_class(); $message_obj->send_message($userInfo['uid'], $userInfo['username'], 'update_sec_code', '找回支付密码', array('支付密码' => $strNewCode), $userInfo['email'], $userInfo['mobile'], 2); $system_log_obj = new Keke_witkey_system_log_class(); $system_log_obj->setLog_content('admin于' . date("Y-m-d H:i:s") . '重置了' . $userInfo['username'] . '的支付密码'); $system_log_obj->setLog_ip(kekezu::get_ip()); $system_log_obj->setLog_time(time()); $system_log_obj->setUser_type($userInfo['group_id']); $system_log_obj->setUid($userInfo['uid']); $system_log_obj->setUsername($userInfo['username']); $system_log_obj->create_keke_witkey_system_log(); $status = '重置成功'; } else { $status = '重置失败'; } echo json_encode(array('status' => $status)); die; }
public function notify_user($service_id, $service_status = '2') { global $_K; global $_lang; $service_obj = $this->_service_obj; $model_code = $this->_model_info['model_code']; switch ($model_code) { case "goods": $status_arr = goods_shop_class::get_goods_status(); break; case "service": $status_arr = service_shop_class::get_service_status(); break; } $message_obj = new keke_msg_class(); $url = "<a href=\"" . $_K['siteurl'] . "/index.php?do=goods&id=" . $service_id . "\">" . $service_obj->getTitle() . "</a>"; $v = array($_lang['service_type'] => $this->_model_info['model_name'], $_lang['goods_link'] => $url, $_lang['goods_status'] => $status_arr[$service_status], $_lang['pub_time'] => date('Y-m-d H:i:s', $service_obj->getOn_time())); $message_obj->send_message($this->_uid, $this->_username, "service_pub", $this->_model_info['model_name'] . $_lang['release_tips'], $v, $this->_user_info['email'], $this->_user_info['mobile']); }
public static function notify_user($uid, $username, $action, $title, $v_arr = array(), $type = null) { $msg_obj = new keke_msg_class(); $contact = self::get_contact($uid); if (!$username) { $username = $contact['username']; } $msg_obj->send_message($uid, $username, $action, $title, $v_arr, $contact['email'], $contact['mobile'], $type); }
public static function sendNoticeToSeller($order_info, $statusText) { global $uid, $username, $_K, $kekezu, $_lang; $order_url = "<a href=\"" . $_K['siteurl'] . "/index.php?do=gy&id=" . $order_info['seller_uid'] . "&orderId=" . $order_info['order_id'] . "\">" . $order_info['order_name'] . "</a>"; $v_arr = array('用户名' => $order_info['seller_username'], '用户' => $order_info['order_username'], '状态变更' => $statusText, '订单编号' => $order_url, '网站名称' => $kekezu->_sys_config['website_name']); $msg_obj = new keke_msg_class(); $msg_obj->send_message($order_info['seller_uid'], $order_info['seller_username'], 'gy_notice_to_seller', '雇佣状态消息', $v_arr); }
function process_rights($op_result, $type) { global $kekezu, $_K, $_lang; $prom_obj = $objProm = keke_prom_class::get_instance(); $trans_name = $this->get_transrights_name($this->_report_type); $op_result = $this->op_result_format($op_result); $g_info = $this->user_role('gz'); $w_info = $this->user_role('wk'); $match_task = $this->_match_task; $match_work = $this->_match_work; switch ($op_result['action']) { case "pass": if ($this->_process_can['sharing']) { $hire = $op_result['hire_deposit']; $wiki = $op_result['wiki_deposit']; $host = $op_result['host_amount']; switch ($hire) { case 1: $g_noti = $_lang['deposit_cash_all_refund']; $res = keke_finance_class::cash_in($g_info['uid'], $match_task['deposit_cash'], 'deposit_return', '', 'task', $match_task['task_id']); break; case 2: $g_noti = $_lang['deposit_cash_part_defund']; $rate = $match_task['deposit_rate']; $cash = floatval($match_task['deposit_cash'] - $rate); $profit = $rate; $res = keke_finance_class::cash_in($g_info['uid'], $cash, 'deposit_return', '', 'task', $match_task['task_id'], $profit); break; case 3: $g_noti = $_lang['deposit_cash_all_deduct']; $res = db_factory::execute(sprintf(" update %switkey_finance set site_profit='%.2f' where obj_id='%d' and fina_type='out' and fina_action='pub_task'", TABLEPRE, $match_task['hirer_deposit'], $match_task['task_id'])); break; } switch ($wiki) { case 1: $w_noti = $_lang['deposit_cash_all_refund']; $res = keke_finance_class::cash_in($w_info['uid'], $match_work['deposit_cash'], 'deposit_return', '', 'task', $match_task['task_id']); break; case 2: $w_noti = $_lang['deposit_cash_part_defund']; $rate = $match_task['deposit_rate']; $cash = floatval($match_work['deposit_cash'] - $rate); $profit = $rate; $res = keke_finance_class::cash_in($w_info['uid'], $cash, 'deposit_return', '', 'task', $match_task['task_id'], $profit); break; case 3: $w_noti = $_lang['deposit_cash_all_deduct']; $res = db_factory::execute(sprintf(" update %switkey_finance set site_profit='%.2f' where obj_id='%d' and fina_type='out' and fina_action='host_deposit'", TABLEPRE, $match_task['hirer_deposit'], $match_work['work_id'])); break; } switch ($host) { case 1: $g_noti .= $_lang['host_cash_has_all_been_refund']; $data = array(':task_id' => $match_task['task_id'], ':task_title' => $match_task['task_title']); keke_finance_class::init_mem('host_return', $data); $res .= keke_finance_class::cash_in($g_info['uid'], $match_task['host_cash'], 'host_return', '', 'task', $match_task['task_id']); break; case 2: $hire_get = floatval(keke_curren_class::convert($op_result['hire_get'], 0, true)); $wiki_get = floatval(keke_curren_class::convert($op_result['wiki_get'], 0, true)); $g_noti .= $_lang['host_cash_has_part_been_refund']; $data = array(':task_id' => $match_task['task_id'], ':task_title' => $match_task['task_title']); keke_finance_class::init_mem('host_split', $data); $res .= keke_finance_class::cash_in($g_info['uid'], $hire_get, 'host_split', '', 'task', $match_task['task_id']); $w_noti .= $_lang['get_part_host_cash']; $rate = db_factory::get_count(sprintf(" select profit_rate from %switkey_task where task_id ='%d'", TABLEPRE, $match_task['task_id'])); $profit = $wiki_get * $rate / 100; $wiki_get -= $profit; $data = array(':task_id' => $match_task['task_id'], ':task_title' => $match_task['task_title']); keke_finance_class::init_mem('host_split', $data); $res .= keke_finance_class::cash_in($w_info['uid'], $wiki_get, 'host_split', '', 'task', $match_task['task_id'], $profit); break; } if ($res) { $this->change_status($this->_report_id, '4', $op_result, $op_result['process_result']); $w_event = $objProm->get_prom_event($this->_obj_info['origin_id'], $w_info['uid'], "bid_task"); $objProm->set_prom_event_status($w_event['parent_uid'], $this->_gusername, $w_event['event_id'], '3'); $g_event = $objProm->get_prom_event($this->_obj_info['origin_id'], $g_info['uid'], "pub_task"); $objProm->set_prom_event_status($g_event['parent_uid'], $this->_gusername, $g_event['event_id'], '3'); $url = "<a href=\"{$_K['siteurl']}/index.php?do=task&id={$match_task['task_id']}\">{$this->_obj_info['origin_title']}</a>"; $msg_obj = new keke_msg_class(); $g_notify = array($_lang['description'] => $_lang['match_task_trans_result'] . $g_noti, $_lang['task_title'] => $url); $msg_obj->send_message($g_info['uid'], $g_info['username'], 'match_task', $_lang['match_website_deal_notice'], $g_notify, $g_info['email']); $w_notify = array($_lang['description'] => $_lang['match_task_trans_result'] . $w_noti, $_lang['task_title'] => $url); $msg_obj->send_message($w_info['uid'], $w_info['username'], 'match_task', $_lang['match_website_deal_notice'], $w_notify, $w_info['email']); db_factory::execute(sprintf(" update %switkey_task set task_status=9 where task_id='%d'", TABLEPRE, $match_task['task_id'])); } $res and kekezu::admin_show_msg($trans_name . $_lang['deal_success'], "index.php?do=trans&view=rights&type={$type}", "3", "", "success") or kekezu::admin_show_msg($trans_name . $_lang['deal_fail'], "index.php?do=trans&view=process&type={$type}&report_id=" . $this->_report_id, "3", "", "warning"); } else { kekezu::admin_show_msg($trans_name . $_lang['deal_fail_now_forbit_deal_cash'], "index.php?do=trans&view=process&type={$type}&report_id=" . $this->_report_id, "3", "", "warning"); } break; case "nopass": break; } }
$serviceOrderInfo['service_id'] = 0; $serviceOrderInfo['title'] = kekezu::escape($title); $serviceOrderInfo['indus_pid'] = intval($indus_pid); $serviceOrderInfo['indus_id'] = intval($indus_id); $serviceOrderInfo['content'] = kekezu::escape($content); $serviceOrderInfo['file_ids'] = $file_ids; $serviceOrderInfo['price'] = floatval($price); $orderId = keke_order_class::create_order(7, $arrSellerInfo['uid'], $arrSellerInfo['username'], $serviceOrderInfo['title'], $serviceOrderInfo['price'], '雇佣服务:' . $serviceOrderInfo['title'], 'seller_confirm'); if ($orderId) { $serviceOrderInfo['order_id'] = $orderId; keke_order_class::create_order_detail($orderId, $serviceOrderInfo['title'], 'gy', $serviceOrderInfo['service_id'], $serviceOrderInfo['price']); keke_order_class::createServiceOrder($serviceOrderInfo); $order_url = "<a href=\"" . $_K['siteurl'] . "/index.php?do=gy&id=" . $arrSellerInfo['uid'] . "&orderId=" . $orderId . "\">" . $title . "</a>"; $v_arr = array('用户名' => $arrSellerInfo['username'], '用户' => $username, '雇佣订单链接' => $order_url, '网站名称' => $kekezu->_sys_config['website_name']); $msg_obj = new keke_msg_class(); $msg_obj->send_message($arrSellerInfo['uid'], $arrSellerInfo['username'], 'gy_order_notice', '雇佣订单消息', $v_arr); $feed_arr = array("feed_username" => array("content" => $arrSellerInfo['username'], "url" => "index.php?do=seller&id=" . $arrSellerInfo['uid']), "action" => array("content" => '雇佣', "url" => ''), "event" => array("content" => $serviceOrderInfo['title'], "url" => "")); kekezu::save_feed($feed_arr, $gUid, $gUsername, 'gy', $id, ''); $feed_arr = array("feed_username" => array("content" => $gUsername, "url" => "index.php?do=seller&id=" . $gUid), "action" => array("content" => '雇佣', "url" => ''), "event" => array("content" => $serviceOrderInfo['title'], "url" => "")); kekezu::save_feed($feed_arr, $arrSellerInfo['uid'], $arrSellerInfo['username'], 'gy_bei', $id, ''); kekezu::show_msg('订单创建成功', $strUrl . "&step=step2&orderId=" . $orderId, 3, null, 'ok'); } else { kekezu::show_msg('创建订单失败', $strUrl, 3, null, 'fail'); } } break; case 'step2': break; case 'step3': if (isset($action)) { switch ($action) {
public function accept_confirm() { global $uid; global $_lang; $agree_info = $this->_agree_info; if ($uid != $this->_buyer_uid) { return $_lang['warning_you_no_rights_confirm']; } $trust_info = $this->_trust_info; if ($this->_agree_status == 2 && $this->_seller_status == 3 && $this->_buyer_status == 3) { $res = db_factory::execute(sprintf(" update %switkey_agreement set buyer_confirmtime = UNIX_TIMESTAMP() where agree_id ='%d'", TABLEPRE, $this->_agree_id)); db_factory::execute(sprintf(" update %switkey_task set task_status = '8' where task_id ='%d'", TABLEPRE, $this->_task_id)); $cash_info = db_factory::get_one(sprintf(" select task_cash,task_union,real_cash from %switkey_task where task_id = '%d'", TABLEPRE, $this->_task_id)); $res *= $this->set_agreement_status('seller_status', '4'); $res *= $this->set_agreement_status('buyer_status', '4'); $res *= $this->set_agreement_status('agree_status', '3'); $this->dispose_task(); $notice = $_lang['buyer_has_confirm_deliver_complete']; $msg_obj = new keke_msg_class(); $v_arr = array($_lang['the_initiator'] => $this->_buyer_username, $_lang['agreement_link'] => $this->_agree_url, $_lang['action'] => $_lang['confirm_has_received_file'], $_lang['agreement_status'] => $notice); $msg_obj->send_message($this->_seller_uid, $this->_seller_username, "agreement_file", $_lang['agreement_file_recevie'], $v_arr, $this->_seller_contact['email'], $this->_seller_contact['mobile'], 1); if ($res) { return true; } else { return $_lang['file_confirm_fail_deliver_fail']; } } else { return $_lang['current_status_can_not_confirm']; } }
<?php $excite_uid and $intExciteUid = intval($excite_uid); $excite_code and $strExciteCode = strval($excite_code); $arrUserInfo = kekezu::get_user_info($intExciteUid); if ($arrUserInfo) { $strMd5Code = md5($arrUserInfo['uid'] . ',' . $arrUserInfo['username'] . ',' . $arrUserInfo['email']); if ($arrUserInfo['status'] == '3') { if ($strMd5Code == $strExciteCode) { $intRes = db_factory::execute(sprintf("update %switkey_space set status='1' where uid='%d'", TABLEPRE, $intExciteUid)); if ($intRes) { $arrAuthDatas = array('email_a_id' => null, 'uid' => $arrUserInfo['uid'], 'username' => $arrUserInfo['username'], 'email' => $arrUserInfo['email'], 'auth_time' => time(), 'auth_status' => '1'); db_factory::inserttable(TABLEPRE . "witkey_auth_email", $arrAuthDatas); $arrRecordDatas = array('record_id' => null, 'auth_code' => 'email', 'uid' => $arrUserInfo['uid'], 'username' => $arrUserInfo['username'], 'auth_status' => '1'); db_factory::inserttable(TABLEPRE . "witkey_auth_record", $arrRecordDatas); $objMessage = new keke_msg_class(); if ($objMessage->validate('reg')) { $objMessage->send_message($arrUserInfo['uid'], $arrUserInfo['username'], 'reg', '注册成功', array(), $arrUserInfo['email'], '', 2); } } } } } else { kekezu::show_msg($_lang['operate_notice'], 'index.php', 3, '待激活的账号不存在', 'warning'); }
break; } } elseif (isset($ckb)) { $ids = implode(',', $ckb); if (count($ids)) { $recharge_obj->setWhere(" order_id in ({$ids}) and order_status = 'wait' "); $nodraw_arr = $recharge_obj->query_keke_witkey_order_charge(); $del_ids = array(); switch ($sbt_action) { case $_lang['mulit_delete']: foreach ($nodraw_arr as $k => $v) { $del_ids[$k] = $v[order_id]; $message_obj = new keke_msg_class(); $user_info = keke_user_class::get_user_info($v[uid]); $v = array($_lang['recharge_single_num'] => $v['order_id'], $_lang['recharge_cash'] => $v[pay_money]); $message_obj->send_message($user_info['uid'], $user_info['username'], 'recharge_fail', $_lang['recharge_fail'], $v, $user_info[email], $user_info['mobile']); } $del_ids = implode(",", $del_ids); if ($del_ids) { $recharge_obj->setWhere(" order_id in ({$del_ids})"); $res = $recharge_obj->del_keke_witkey_order_charge(); kekezu::admin_system_log($_lang['delete_recharge_order'] . $del_ids); } break; } kekezu::admin_show_msg($_lang['mulit_operate_success'], $url, 3, '', 'success'); } else { kekezu::admin_show_msg($_lang['please_select_an_item_to_operate'], 'index.php?do=' . $do . '&view=' . $view, 3, '', 'warning'); } } else { $where = ' 1 = 1 ';