public function process_rights($op_result, $type) { global $kekezu; global $_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'); switch ($op_result['action']) { case "pass": if ($this->_process_can['sharing']) { $total_cash = floatval($this->_obj_info['cash']); $gz_get = floatval(keke_curren_class::convert($op_result['gz_get'], 0, true)); $wk_get = floatval(keke_curren_class::convert($op_result['wk_get'], 0, true)); if ($total_cash != $gz_get + $wk_get) { kekezu::admin_show_msg($_lang['wain_you_give_cash_error_notice'], "index.php?do=trans&view=process&type={$type}&report_id=" . $this->_report_id, "3", "", "error"); } else { $res = keke_finance_class::cash_in($g_info['uid'], $gz_get, 'rights_return'); $res .= keke_finance_class::cash_in($w_info['uid'], $wk_get, 'rights_return'); if ($res) { $this->process_unfreeze('pass', $op_result['process_result']); $this->change_status($this->_report_id, '4', $op_result, $op_result['process_result']); $objProm = keke_prom_class::get_instance(); $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'); } } $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": $this->process_unfreeze('nopass', $op_result['reply']); $res = $this->change_status($this->_report_id, '3', $op_result, $op_result['reply']); $res1 = $this->reset_agreement($this->_task_obj->_task_id); $res && $res1 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"); break; } }
if ($submit_method == 'inside') { if (!$file_path_2) { $tips['errors']['file_path_2'] = '请上传源文件'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } } $content = kekezu::escape($tar_content); if (empty($content)) { $tips['errors']['tar_content'] = '内容不能为空!'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } if (strtoupper(CHARSET) == 'GBK') { $_POST = kekezu::utftogbk($_POST); } $arrPubInfo and $_POST = array_merge($arrPubInfo, $_POST); $_POST['txt_price'] = keke_curren_class::convert($_POST['txt_price'], 0, true); $objRelease->save_service_obj($_POST, $stdCacheName); kekezu::show_msg($tips, $strUrl . '&step=step2', NULL, NULL, 'ok'); } $arrImageLists = CommonClass::getFileArrayByPath(',', $arrPubInfo['fileid1']); $arrFileLists = CommonClass::getFileArrayByPath(',', $arrPubInfo['file_path_2']); if ($action == 'delete_image') { $fileid = intval($fileid); $strSql = sprintf("select file_id,file_name,save_name from %switkey_file where file_id in(%s)", TABLEPRE, $fileid); $arrFileInfo = db_factory::get_one($strSql); $resText = CommonClass::delFileByFileId($fileid); if ($resText) { $array = explode(',', $arrPubInfo['file_ids']); $newArr = CommonClass::returnNewArr($arrFileInfo['save_name'], $array); $_POST['file_ids'] = implode(",", $newArr); $arrPubInfo and $_POST = array_merge($arrPubInfo, $_POST);
<?php defined('ADMIN_KEKE') or exit('Access Denied'); $intTaskId = intval($task_id); $intModelId = intval($model_id); $arrTaskInfo = db_factory::get_one("select * from " . TABLEPRE . "witkey_task where task_id=" . $intTaskId); $arrWorkInfo = db_factory::get_one("select * from " . TABLEPRE . "witkey_task_work where task_id=" . $intTaskId . " and work_status=4"); if ($arrTaskInfo['task_status'] != 13) { kekezu::admin_show_msg($_lang['param_error'], 'index.php?do=model&model_id=' . $intModelId . '&view=list', 3, '', 'warning'); } $floatCash = $arrTaskInfo['task_cash'] * (1 - $arrTaskInfo['task_fail_rate'] / 100); $arrGinfo = keke_user_class::get_user_info($arrTaskInfo['uid']); $arrWinfo = keke_user_class::get_user_info($arrWorkInfo['uid']); if ($intSbtEdit == 1) { $floaTotalCash = floatval($floatCash); $floatGzGet = floatval(keke_curren_class::convert($op_result['gz_get'], 0, true)); $floatWkGet = floatval(keke_curren_class::convert($op_result['wk_get'], 0, true)); if ($floaTotalCash != $floatGzGet + $floatWkGet) { kekezu::admin_show_msg($_lang['wain_you_give_cash_error_notice'], "index.php?do=model&model_id={$model_id}&view=list", "3", "", "warning"); } else { $res = keke_finance_class::cash_in($arrGinfo['uid'], $floatGzGet, 'task_fail'); $res .= keke_finance_class::cash_in($arrWinfo['uid'], $floatWkGet, 'task_fail'); if ($res) { db_factory::execute("update " . TABLEPRE . "witkey_task set task_status=9 where task_id=" . $intTaskId); kekezu::admin_show_msg('处理成功', "index.php?do=model&model_id={$model_id}&view=list", "3", "", "success"); } else { kekezu::admin_show_msg('处理失败', "index.php?do=model&model_id={$model_id}&view=list", "3", "", "warning"); } } } require keke_tpl_class::template('task/' . $model_info['model_dir'] . '/admin/tpl/task_' . $view);
$floatPriceCash2 = floatval($txt_prize2_cash); $floatTotalPriceCash2 = $intPriceNum2 * $floatPriceCash2; $intPriceNum3 = intval($txt_prize3_num); $floatPriceCash3 = floatval($txt_prize3_cash); $floatTotalPriceCash3 = $intPriceNum3 * $floatPriceCash3; $floatPrize = $floatTotalPriceCash1 + $floatTotalPriceCash2 + $floatTotalPriceCash3; if ($floatPrize != $floatTaskCash) { $tips['errors']['txt_task_cash'] = '任务预算和奖金总和不相等,其中预算为¥' . $floatTaskCash . '元,分配奖金总和为' . $floatPrize . '元'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } if ($intEndDate < $intMinDay || $intEndDate > $intMaxDay) { $tips['errors']['txt_task_day'] = '当前预算允许最小天数为:' . intval($arrConfig['min_day']) . '天,最大截止时间:' . $strMaxDay; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } $arrPubInfo and $_POST = array_merge($arrPubInfo, $_POST); $_POST['txt_task_cash'] = keke_curren_class::convert($_POST['txt_task_cash'], 0, true); $objRelease->save_task_obj($_POST, $stdCacheName); kekezu::show_msg($tips, $strUrl . '&step=step2', NULL, NULL, 'ok'); } break; case 'step2': if (isset($formhash) && kekezu::submitcheck($formhash)) { if (strtoupper(CHARSET) == 'GBK') { $_POST = kekezu::utftogbk($_POST); } if (!kekezu::escape($tar_content)) { $tips['errors']['tar_content'] = '请输入需求描述'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } $arrPubInfo and $_POST = array_merge($arrPubInfo, $_POST); $objRelease->save_task_obj($_POST, $stdCacheName);
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; } }
$maxDelayday = intval($arrConfig['max_delay']); $thisMinCash = floatval($arrDelayRule[$delayCount]['defer_rate'] * $arrTaskInfo['task_cash'] / 100); if ($minDelayCash > $thisMinCash) { $realMin = $minDelayCash; } else { $realMin = $thisMinCash; } if (isset($formhash) && kekezu::submitcheck($formhash)) { if ($delayTotal === 0) { kekezu::show_msg('任务模型没有开启延期规则', 'index.php?do=task&id=' . $taskId, 3, NULL, 'fail'); } if ($delayCount >= $delayTotal) { kekezu::show_msg('当前任务延期次数已达上限', 'index.php?do=task&id=' . $taskId, 3, NULL, 'fail'); } $delay_day = intval($delay_day); $delay_cash = keke_curren_class::convert($delay_cash, 0, true); $delay_cash = floatval($delay_cash); $floatUserBalance = floatval($gUserInfo['balance']); if ($floatUserBalance < $delay_cash) { kekezu::show_msg('余额不足,请充值!', 'index.php?do=task&id=' . $taskId, 3, NULL, 'fail'); } if ($delay_cash < $realMin && $realMin) { $tips['errors']['delay_cash'] = '延期最小金额不得低于¥' . $realMin . '元'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } if ($delay_day && $delay_day > $maxDelayday && $maxDelayday) { $tips['errors']['delay_day'] = '延期最大天数不得超过' . $maxDelayday . '天'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } $resText = $objTask->set_task_delay($delay_day, $delay_cash); if ($resText === true) {
} $message = $result ? $_lang['register_prom_config_edit_success'] : $_lang['no_change']; kekezu::admin_system_log($_lang['edit_register_prom_config']); kekezu::admin_show_msg($message, $url, 3, '', 'success'); case 'pub_task': case 'bid_task': case 'service': $ext_config = array(); $ckb_indus and $ext_config['indus'] = intval($ckb_indus); $s_indus_select and $ext_config['indus_string'] = implode(',', $s_indus_select); $ckb_model && is_array($ckb_model) and $ext_config['model'] = implode(',', $ckb_model); switch ($op) { case 'pub_task': isset($pub_task_rake_type) && ($ext_config['pub_task_rake_type'] = $pub_task_rake_type); $pub_task_cash && ($pub_task_cash = keke_curren_class::convert($pub_task_cash, 0, true)); $pub_task_credit && ($pub_task_credit = keke_curren_class::convert($pub_task_credit, 0, true)); $pub_task_rate && ($ext_config['pub_task_rate'] = floatval($pub_task_rate)); $ext_config = serialize($ext_config); $result = db_factory::execute('update ' . TABLEPRE . $table_name . " set config='{$ext_config}',cash='" . $pub_task_cash . "' , credit='" . $pub_task_credit . "' , rate='" . $pub_task_rate . "' where prom_code='pub_task';"); kekezu::admin_system_log($_lang['update_task_prom_config']); $result and kekezu::admin_show_msg($_lang['task_prom_config_update_success'], $url, 3, '', 'success') or kekezu::admin_show_msg($_lang['record_no_change'], $url, 3, '', 'warning'); break; case 'bid_task': $bid_task_rake && ($ext_config['bid_task_rake'] = intval($bid_task_rake)); $ext_config = serialize($ext_config); $result = db_factory::execute('update ' . TABLEPRE . $table_name . " set config='{$ext_config}',rate='" . intval($bid_task_rake) . " ' where prom_code='bid_task';"); kekezu::admin_system_log($_lang['update_bid_prom_config']); $result and kekezu::admin_show_msg($_lang['bid_prom_config_update_success'], $url, 3, '', 'success') or kekezu::admin_show_msg($_lang['record_no_change'], $url, 3, '', 'warning'); break; case 'service': $ext_config = serialize($ext_config);
<?php defined('IN_KEKE') or exit('Access Denied'); $strUrl = "index.php?do=user&view=finance&op=rechargeoffline"; $arrOfflinePayList = keke_finance_class::get_pay_config('', 'offline'); $pay_open_status = false; foreach ($arrOfflinePayList as $k => $v) { if ($v['pay_status'] == '1') { $pay_open_status = true; } } $arrPayConfig = kekezu::get_table_data("k,v", "witkey_pay_config", '', '', '', '', 'k'); if (isset($formhash) && kekezu::submitcheck($formhash)) { $strPayInfo = kekezu::escape($pay_info); if ($pay_money < $arrPayConfig['recharge_min']['v']) { $tips['errors']['pay_money'] = '充值金额不能少于' . $arrPayConfig['recharge_min']['v']; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } if ($pay_money > 100000) { $tips['errors']['pay_money'] = '充值金额不能大于100000'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } $floatCash = keke_curren_class::convert(abs($pay_money), 0, true) + 0; $intOrderId = keke_order_class::createUserChargeOrder('offline_charge', $offline, $floatCash, $strPayInfo); if ($intOrderId) { kekezu::show_msg('提交成功,等待后台审核', 'index.php?do=user&view=finance&op=basic&type=charge', NULL, NULL, 'ok'); } else { kekezu::show_msg('提交失败', NULL, NULL, NULL, 'error'); } }
$strRefer = 'index.php?do=user&view=finance&op=withdraw&ver=1'; if ($strSeccode == $gUserInfo['sec_code']) { $_SESSION['check_secode_' . $gUserInfo['uid']] = 1; kekezu::show_msg('', $strRefer, NULL, NULL, 'ok'); } else { $tips['errors']['sec_code'] = '安全码输入错误'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } } switch ($strStep) { case "1": if ($intReset) { $_SESSION['withdraw_cash'] = ''; } elseif ($intChooseCash) { if ($intWithdrawCash) { $strWithdrawCash = keke_curren_class::convert($intWithdrawCash, '', true); if ($gUserInfo['balance'] < $strWithdrawCash) { $tips['errors']['intWithdrawCash'] = '您的金额不足以提现'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } if ($intWithdrawCash < $arrPays['withdraw_min']['v'] || $intWithdrawCash > $arrPays['withdraw_max']['v']) { $tips['errors']['intWithdrawCash'] = '单日提现金额范围为' . "{$arrPays['withdraw_min']['v']}-{$arrPays['withdraw_max']['v']}," . '您的提现金额输入有误'; kekezu::show_msg($tips, NULL, NULL, NULL, 'error'); } $_SESSION['withdraw_cash'] = $intWithdrawCash; kekezu::show_msg('', $strUrl . "&strStep=2&intWithdrawCash={$intWithdrawCash}&ver=1#userCenter", NULL, NULL, 'ok'); } else { kekezu::show_msg('输入金额不正确', NULL, NULL, NULL, 'error'); } } break;