public function postLunbo() { $options = $this->request()->only(['lb_image1', 'lb_url1', 'lb_title1', 'lb_image2', 'lb_url2', 'lb_title2', 'lb_image3', 'lb_url3', 'lb_title3']); try { transaction(); foreach ($options as $key => $option) { Option::where('key', $key)->update(['value' => $option]); } commit(); return $this->success('保存成功'); } catch (\Exception $exception) { rollback(); } return $this->error('修改失败,请稍后再试'); }
function refreshAuctions() { //query creation $itemQuery = sprintf("SELECT * FROM user_stocked;"); //query database $databaseConnection = GetDatabaseConnection(); $itemResult = $databaseConnection->query($itemQuery); $output = array(); if ($itemResult != false) { while ($row = $itemResult->fetch_assoc()) { array_push($output, $row["iid"]); } } //echo json_encode($output); //query creation $itemQuery = sprintf("SELECT * FROM supplier_stocked;"); //query database $databaseConnection = GetDatabaseConnection(); $itemResult = $databaseConnection->query($itemQuery); if ($itemResult != false) { while ($row = $itemResult->fetch_assoc()) { array_push($output, $row["iid"]); } } $itemQuery = sprintf("SELECT * FROM auction_item WHERE iid in ('%s');", implode($output, '\',\'')); //echo $itemQuery; $databaseConnection = GetDatabaseConnection(); $itemResult = $databaseConnection->query($itemQuery); if ($itemResult != false) { while ($row = $itemResult->fetch_assoc()) { date_default_timezone_set("America/New_York"); $end = strtotime($row['end_date']); $now = time(); if ($end <= $now) { if ($row["bidder"] != null) { transaction($row["iid"], $row["bidder"]); } else { endAuction($row["iid"]); } } } } }
public function NotifyProcess($data, &$msg) { $notfiyOutput = array(); if (!array_key_exists("transaction_id", $data)) { $msg = "输入参数不正确"; return false; } //查询订单,判断订单真实性 if (!$this->Queryorder($data["transaction_id"])) { $msg = "订单查询失败"; return false; } //以上的代码都是相同的,以下代码写定制业务逻辑,这里应该写通用订单处理逻辑 $map = array('order_id' => $data["out_trade_no"], 'pay_status' => 1, 'order_status' => 4); $save = array('pay_status' => 2, 'order_status' => 5, 'update_time' => NOW_TIME); M('Order')->where($map)->save($save); transaction($data["out_trade_no"], $data["total_fee"] / 100, $data["openid"], '旅游订单', '微信扫码'); return true; }
/** * Bulk save all model in current entity. * * @return void */ public function save() { foreach ($this as $model) { if ($model instanceof CActiveRecord) { if (container()->bound(get_class(container('docoflow.connection')))) { $model->save(); } else { $transaction = transaction(container('docoflow.connection')); try { $model->save(); $transaction->commit(); } catch (Exception $e) { $transaction->rollback(); throw $e; } } } } }
function request() { global $app; $httprequest = new Phalcon\Http\Request(); $datain = $httprequest->get(); $data = array(); foreach ($datain as $key => $value) { $data[strtolower($key)] = $value; } $filter = new \Phalcon\Filter(); $request = $filter->sanitize($data["request"], array("string", "lower")); $response = null; switch ($request) { case "getcapabilities": $response = getCapabilities(); break; case "describefeaturetype": $response = describeFeatureType($data); break; case "getfeatures": $response = getFeatures($data); break; case "delete": $response = delete($data); break; case "create": $response = create($data); break; case "update": $response = update($data); break; case "transaction": $response = transaction($data); break; } $app->response->setContentType('application/json; charset=UTF-8')->sendHeaders(); echo json_encode($response); }
public function postRegister() { $this->validate($this->request(), array('realname' => 'required', 'mobile' => 'required|size:11|unique:users,mobile', 'sex' => 'required:in:' . array_keys_impload(\App\Enum\User::$sexLang), 'birthday' => 'required|date', 'marriage' => 'required|in:' . array_keys_impload(\App\Enum\User::$marriageLang), 'like' => 'exists:users,user_id'), array('realname.required' => '请填写真实姓名', 'mobile.required' => '请填写手机号', 'mobile.size' => '手机号格式不正确', 'mobile.unique' => '手机号已被注册', 'sex.required' => '请选择您的性别', 'sex.in' => '您填写的性别有误', 'birthday.required' => '请填写您的生日', 'birthday.date' => '您填写的生日格式不正确', 'marriage.required' => '您填写您的婚姻状态', 'marriage.in' => '婚姻状态不正确', 'like.exist' => '您报名的对象不存在')); $form = $this->request()->only('realname', 'mobile', 'sex', 'birthday', 'marriage'); try { transaction(); //创建用户 $user = User::create($form); if ($this->request()->has('like')) { //创建喜欢的人 $user->like()->create(array('like_user_id' => $this->request()->get('like'))); } //创建用户信息 $user->info()->create(array()); //创建择偶条件 $user->object()->create(array('sex' => $user->sex == \App\Enum\User::SEX_FEMALE ? \App\Enum\User::SEX_MALE : \App\Enum\User::SEX_FEMALE)); commit(); return $this->rest()->success($user, '报名成功,管理员审核通过后即可登录'); } catch (\Exception $ex) { rollback(); dd($ex->getMessage()); return $this->rest()->error('抱歉,报名失败,请稍后再试'); } }
$return_url = str_replace('track_checkout.php', 'validate.php', e_SELF); $text .= "<input type='hidden' name='currency_code' value='" . $paypal_currency_code . "' />\r\n <input type='hidden' name='no_note' value='1' />\r\n <input type='hidden' name='lc' value='US' />\r\n <input type='hidden' name='notify_url' value = '" . $return_url . "' />\r\n <input type='hidden' name='rm' value='2' />\r\n <input type='hidden' name='return' value='" . $thanks_page . "' />\r\n <input type='hidden' name='custom' value='" . session_id() . "' />\r\n <div style='text-align:center';><input class='button' type='submit' value='" . EASYSHOP_TRACK_14 . "' /></div>\r\n </form></table>"; } // Show contine shoppping button $text .= "<br /><br />\r\n\t\t\t\t <form action='" . e_SELF . "' method='post'>\r\n\t\t\t\t <div style='text-align:center';>\r\n\t\t\t\t <input type='hidden' name='target_url' value='" . $_POST['source_url'] . "' />\r\n <input type='submit' class='button' value='" . EASYSHOP_TRACK_15 . "' /></a>\r\n </div>\r\n\t\t\t\t </form>"; } else { // Client has decided to go back shopping- need to amend paypal_fields status to ES_shopping $trans_array = transaction($session_id, 0, 0, "ES_processing"); // gets all item and fields data into $trans_array $trans_array['payment_status'] = "ES_shopping"; // sets new status $trans_array['custom'] = $session_id; //just in case it isn't already set!! $items_array = unserialize($trans_array['all_items']); //function requires a seperate $items_array (future optimisation?) transaction("update", $items_array, $trans_array, "ES_shopping"); header("Location: " . $tp->toDB(urldecode($_POST['target_url']))); exit; } $text .= "</div> "; $title = EASYSHOP_TRACK_08; $ns->tablerender($title, $text); require_once FOOTERF; /** keep this in case I ever figure out why AJAX isn't working for 1.3 :) //create the XML headers to tell JS what we want to do isset($_GET['target'])? $ajax_target = $_GET['target'] : $ajax_target=""; isset($_GET['source'])? $ajax_source = $_GET['source'] : $ajax_source=""; isset($_GET['arg'])? $ajax_arg = $_GET['arg'] : $ajax_arg=""; $response = "<menu_name>".$ajax_target."</menu_name>";
case "loan": loan(); break; case "loan_money": loan_money(); break; case "cloan": cloan(); break; case "clear_loan": clear_loan(); break; case "chacdetails": chacdetails(); break; case "transaction": transaction(); break; case "transfer_money": transfer_money(); break; case "delete": delete(); break; default: echo "wrong option"; } ?> </body> </html>
} } else { // This is a duplicate txn_id - possibly fraudulent - update monitor - send admin email? $fielddata['payment_status'] = "EScheck_dupltxn_" . $fielddata['payment_status']; transaction("FORCE_NEW", $itemdata, $fielddata); fwrite($log, "\n " . EASYSHOP_VAL_13 . "\n \n"); // Duplicate txn_id! } } else { // Store transaction and update store monitor of incomplete transaction - send admin an email also? $fielddata['payment_status'] = "EScheck_" . $fielddata['payment_status']; if (transaction("update", $itemdata, $fielddata, "ES_processing")) { fwrite($log, "\n " . EASYSHOP_VAL_14 . ":" . $fielddata['payment_status'] . "\n \n"); // Payment status not 'Completed' status } else { transaction("FORCE_NEW", $itemdata, $fielddata); // Payment status not 'Completed' status // LOCAL ENTRY NOT PRESENT! fwrite($log, "\n " . EASYSHOP_VAL_14 . ":" . $fielddata['payment_status'] . "\n\n\t\t\t\t\t" . EASYSHOP_VAL_15 . "\n \n"); } } // if logfile is enabled... user must make sure it's secure a future option perhaps // fwrite($log, "\n".(print_r($fielddata, true))."\n".(print_r($itemdata, true))); } else { if (strcmp($res, "INVALID") == 0) { // Paypal response 'INVALID'; log for manual investigation fwrite($log, "\n " . EASYSHOP_VAL_16 . "\n \n"); } } } fclose($fp);
/** * Save a workflow. * * @return \Docoflow\Models\Workflow */ public function save() { if (!$this->prepared) { $this->prepare(); } $transaction = transaction(container('docoflow.connection')); try { $newWorkFlowId = $this->createNewWorkFlow(); $this->createWorkflowDefinition($newWorkFlowId); $transaction->commit(); return $this->workflow; } catch (Exception $e) { $transaction->rollback(); throw $e; } }
$dbh = null; break; case 'POST': $query = 'INSERT INTO gakusei (gno, name) VALUES (:gno, :name)'; transaction($dbh, $query, 'POST'); break; case 'PUT': $query = 'UPDATE gakusei SET name = :name WHERE gno = :gno'; transaction($dbh, $query, 'PUT'); break; case 'DELETE': $query = 'DELETE FROM gakusei WHERE gno = :gno'; transaction($dbh, $query, 'DELETE'); break; } } catch (PDOException $e) { if ($_SERVER['REQUEST_METHOD'] !== 'GET') { $dbh->rollback(); // ロールバック } print "Error: " . $e->getMessage() . PHP_EOL; exit; } // POST, PUT, DELETEの時に呼び出される関数 // 複数件の書き込みに対応している function transaction($dbh, $query, $method) { $handle = fopen('php://input', 'r'); $json_input = fgets($handle);
/** * Edit user permissions * * @param $id * @return string */ public function postPermissions($id) { \ruler()->check($this->permission, ['id' => 'exists:user,user_id'], ['id' => $uuid = f($id, 'uuid')]); // Récuperation du model /** @var \Models\Business\User $user */ $user = \FrenchFrogs\Models\Business\User::get($id); $query = \query('user_permission as p', ['i.name as interface_name', 'g.user_permission_group_id', 'g.name as group_name', 'p.user_permission_id', 'p.name'])->join('user_permission_group as g', 'p.user_permission_group_id', '=', 'g.user_permission_group_id')->join('user_interface as i', 'i.user_interface_id', '=', 'p.user_interface_id')->orderBy('i.name')->orderBy('g.name')->orderBy('p.name'); $groups = []; $permissions = []; foreach ($query->get() as $row) { // gestion des interfaces if (empty($permissions[$row['interface_name']])) { $permissions[$row['interface_name']] = []; } // gestion des groupes if (empty($permissions[$row['interface_name']][$row['user_permission_group_id']])) { $groups[$row['user_permission_group_id']] = $row['group_name']; // stackage des groupes $permissions[$row['interface_name']][$row['user_permission_group_id']] = []; } // gestion de la permissions $permissions[$row['interface_name']][$row['user_permission_group_id']][$row['user_permission_id']] = $row['name']; } // Formulaire $form = \form()->enableRemote(); $form->setLegend('Permissions : ' . $user->getModel()->name); foreach ($permissions as $interface => $group) { $form->addTitle($interface); foreach ($group as $g => $p) { $form->addCheckbox(str_replace('.', '_', $g), $groups[$g], $p)->setAlias('user_permission_id'); } } $form->addSubmit('Enregistrer'); // enregistrement if (\request()->has('Enregistrer')) { $form->valid(\request()->all()); if ($form->isValid()) { $data = $form->getFilteredAliasValues(); try { transaction(function () use($user, $data) { $user->setPermissions($data['user_permission_id']); }); \js()->success()->closeRemoteModal()->reloadDataTable(); } catch (\Exception $e) { \js()->error($e->getMessage()); } } } else { $form->populate(['user_permission_id' => $user->getPermissions()], true); } return response()->modal($form); }
/** * Save all data in workflow, include all of it's steps, groups, and verificators. * * @return void */ public function save() { if ($this->workflow) { $transaction = transaction(container('docoflow.connection')); try { $this->workflow->save(); if (($steps = $this->steps()) instanceof Step) { $steps->save(); } if (($groups = $this->groups()) instanceof Group) { $groups->save(); } if (($verificators = $this->verificators()) instanceof Verificator) { $verificators->save(); } $transaction->commit(); } catch (Exception $e) { $transaction->rollback(); throw $e; } } }
public function postAdd(Register $register) { //验证表单 $this->validate($this->request(), ['mobile' => 'required|digits:11', 'birthday' => 'required|date', 'sex' => 'required|in:' . array_keys_impload(UserEnum::$sexForm), 'password' => 'required|min:5|max:20', 'password_confirm' => 'required|required_with:password|same:password', 'marital_status' => 'in:' . array_keys_impload(UserEnum::$maritalForm), 'height' => 'digits:3|between:130,210', 'education' => 'in:' . array_keys_impload(UserEnum::$educationForm), 'salary' => 'in:' . array_keys_impload(UserEnum::$salaryForm), 'user_name' => 'required|min:2|max:15|unique:users', 'email' => 'required|email|unique:users']); $form = $this->request()->only(['user_name', 'email', 'mobile', 'birthday', 'password', 'marital_status', 'height', 'education', 'salary', 'province', 'city', 'area']); try { transaction(); $user = User::create($form); $register->delete(); commit(); return $this->success('添加成功', $user); } catch (\Exception $exp) { rollback(); return $this->error('抱歉,添加失败'); } }
function request() { global $app; $httprequest = new Phalcon\Http\Request(); $datain = $httprequest->get(); $data = array(); foreach ($datain as $key => $value) { $data[strtolower($key)] = $value; } $filter = new \Phalcon\Filter(); $request = $filter->sanitize($data["request"], array("string", "lower")); $response = null; switch ($request) { case "getcapabilities": $response = getCapabilities(); break; case "describefeaturetype": $response = describeFeatureType($data); break; case "getfeatures": $response = getFeatures($data); break; case "delete": $response = delete($data); break; case "create": $response = create($data); break; case "update": $response = update($data); break; case "transaction": $response = transaction($data); break; /* For grouping*/ /* For grouping*/ case "getassoclayers": $response = getAssocLayers($data); break; case "getgrouping": $response = getGrouping($data); break; case "describegrouping": $response = describeGrouping($data); break; case "creategrouping": $response = createGrouping($data); break; case "updategrouping": $response = updateGrouping($data); break; case "deletegrouping": $response = deleteGrouping($data); break; case "getFeaturesFk": $response = getFeaturesFk($data); break; case "duplicategrouping": $response = duplicateGrouping($data); break; case "associatedocument": $response = associateDocument($data); break; case "deletedocument": $response = deleteDocument($data); break; case "downloaddocument": $response = downloadDocument($data); echo $response; break; case "getdocumentlist": $response = getDocumentList($data); break; case "getdocumentdescription": $response = getDocumentDescription($data); break; default: $response = false; break; } $app->response->setContentType('application/json; charset=UTF-8')->sendHeaders(); echo json_encode($response); }
/** * [notifyUrl 异步通知] * @return [type] [description] */ public function notifyUrl() { //计算得出通知验证结果 $alipayNotify = new AlipayNotify($this->alipay_config); $verify_result = $alipayNotify->verifyNotify(); file_put_contents('alipay.log', var_export($verify_result, true), FILE_APPEND); file_put_contents('alipay-post.log', var_export($_POST, true), FILE_APPEND); if ($verify_result) { $out_trade_no = $_POST['out_trade_no']; $trade_no = $_POST['trade_no']; $total_fee = $_POST['total_fee']; $buyer_email = $_POST['buyer_email']; $trade_status = $_POST['trade_status']; if ($_POST['trade_status'] == 'TRADE_FINISHED') { $map = array('order_id' => $out_trade_no, 'pay_status' => 1, 'order_status' => 4); $save = array('pay_status' => 2, 'order_status' => 5, 'update_time' => NOW_TIME); M('Order')->where($map)->save($save); transaction($out_trade_no, $total_fee, $buyer_email, '线上支付', '支付宝'); } else { if ($_POST['trade_status'] == 'TRADE_SUCCESS') { $map = array('order_id' => $out_trade_no, 'pay_status' => 1, 'order_status' => 4); $save = array('pay_status' => 2, 'order_status' => 5, 'update_time' => NOW_TIME); M('Order')->where($map)->save($save); transaction($out_trade_no, $total_fee, $buyer_email, '线上支付', '支付宝'); } } } else { //验证失败 echo "fail"; //调试用,写文本函数记录程序运行情况是否正常 //logResult("这里写入想要调试的代码变量值,或其他运行的结果记录"); } }
<?php set_time_limit(0); include_once '../server_header.inc'; include_once 'libs/PEAR/Cache_Lite/Lite.php'; include_once 'libs/SQL_Tokenizer.php'; $_REQUEST['q'] = rawurldecode($_REQUEST['q']); $settings_viewer = new Settings_viewer(); $res = $settings_viewer->get(); $apiKey = $res['data']['api_key']; $callback = $_GET['jsonp_callback']; //$array = preg_split("/(\r\n|\n|\r)/", $string); $response = transaction($_REQUEST['q']); // Check if $data is set in SELECT section if (!$data) { $data = json_encode($response); } if ($callback) { echo $callback . '(' . $data . ');'; } else { echo $data; } /**/ function transaction($sql) { global $response, $apiKey, $data, $basePath; $parsedSQL = SqlParser::ParseString($sql)->getArray(); //$tokens = SqlParser::Tokenize($sql, true); if (strpos($sql, ';') !== false) { $response['success'] = false; $response['message'] = "You can't use ';'. Use the bulk transaction API instead";
function Main() { global $data; $sql = "SELECT \n subs.*, subs.id as subscriptionid, (TO_DAYS(NOW()) - TO_DAYS(subs.sdate)) as daystopay, subs.member as payerid,\n prod.type, prod.type, prod.price, prod.period, prod.trial, prod.tax, prod.shipping, prod.name as productname, prod.owner as payeeid,\n memb.fname as userfname, memb.lname as userlname\n FROM \n {$data['DbPrefix']}subscriptions subs LEFT JOIN {$data['DbPrefix']}products prod ON subs.product=prod.id,\n {$data['DbPrefix']}subscriptions subs2 LEFT JOIN {$data['DbPrefix']}members memb ON subs.owner=memb.id\n WHERE subs2.id=subs.id AND subs.sdate < NOW()"; $res = mysql_query($sql); if ($res) { if (mysql_num_rows($res) > 0) { out("Subscriptions to process: " . mysql_num_rows($res)); out("Working..."); while ($row = mysql_fetch_array($res)) { $amount = $row['shipping'] + $row['tax'] + $row['price']; $payrounds = floor($row['daystopay'] / $row['period']); $unpaiddays = $row['daystopay'] - floor($row['daystopay'] / $row['period']) * $row['period']; $amount = $amount * $payrounds; if ($payrounds > 0) { if (select_balance($row['payerid']) >= $amount) { $sql = "UPDATE {$data['DbPrefix']}subscriptions SET "; if ($row['holded'] == 1) { $paydate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $unpaiddays, date("Y"))); $sql .= " sdate='{$paydate}',holded=0"; SendEmailNotification($row['payerid'], $row['product'], true); } else { $paydate = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - $unpaiddays, date("Y"))); $sql .= " sdate='{$paydate}'"; } $sql .= " WHERE id={$row['subscriptionid']}"; $rslt = mysql_query($sql); if ($rslt) { $fees = $amount * $data['PaymentPercent'] / 100 + $data['PaymentFees']; transaction($row['payerid'], $row['payeeid'], $amount, $fees, 0, 1, 'Payment for subscription ' . $row['productname'] . ' for ' . $row['userfname'] . " " . $row['userlname'] . ", " . $payrounds * $row['period'] . ' days', ''); } } else { $sql = "UPDATE {$data['DbPrefix']}subscriptions SET holded=1 WHERE id={$row['subscriptionid']}"; mysql_query($sql); SendEmailNotification($row['payerid'], $row['product'], false); } } } } } out("Done."); }
function update_stock($txn_id = NULL, $phpsessionid = NULL) { global $pref; $sqlcheck = new db(); $trans_array = transaction($phpsessionid, 0, 0, "Completed"); $items_array = unserialize($trans_array['all_items']); $count = 1; $temp_array = ""; while ($items_array["db_id_" . $count]) { if ($sqlcheck->db_Select("easyshop_items", "*", "item_id = '" . $items_array["db_id_" . $count] . "'")) { while ($row = $sqlcheck->db_Fetch()) { if ($row['item_track_stock'] == 2) { // Is this a tracked stock item? if ($row['item_instock'] >= $items_array["quantity" . $count]) { $newstock = $row['item_instock'] - $items_array["quantity_" . $count]; if ($row['item_minimum'] == 0 || $row['item_minimum'] == NULL) { // Minimum level is flexible, but with bottom-level 1. $minimum_level = 1; } else { $minimum_level = $row['item_minimum']; } if ($newstock <= $minimum_level && $newstock != 0) { // Minimum level is reached; send e-mail alert ShopMail::easyshop_sendalert($row['item_id'], $newstock, $minimum_level, 1); // Alert-type = 1 } if ($newstock == 0) { $sqlcheck->db_Update("easyshop_items", "item_instock = '" . $newstock . "', item_out_of_stock = '2'\r\n\t\t\t\t\t\t\t\t\tWHERE item_id = '" . $items_array["db_id_" . $count] . "'"); ShopMail::easyshop_sendalert($row['item_id'], $newstock, $minimum_level, 3); // Alert-type = 3 } else { $sqlcheck->db_Update("easyshop_items", "item_instock = '" . $newstock . "'\r\n\t\t\t\t\t\t\t\t\tWHERE item_id = '" . $items_array["db_id_" . $count] . "'"); } } else { // There is a problem; client has paid for more items than are in stock // Raise out of stock flag and send email $sqlcheck->db_Update("easyshop_items", "item_instock = '0', item_out_of_stock = '2'\r\n\t\t\t\t\t\t\t\t\tWHERE item_id = '" . $items_array["db_id_" . $count] . "'"); ShopMail::easyshop_sendalert($row['item_id'], $newstock, $minimum_level, 2); // Alert-type = 2 } } if ($row['prod_promo_class'] != 255 && $row['prod_promo_class'] != 0 && $trans_array['ipn_user_id'] > 0) { // Auto promotion of user $sqlcheck2 = new db(); $sqlcheck3 = new db(); require_once e_HANDLER . 'userclass_class.php'; $promo_class_name = r_userclass_name($row['prod_promo_class']); $sqlcheck2->db_Select("user", "*", "user_id='" . $trans_array['ipn_user_id'] . "'"); if ($row2 = $sqlcheck2->db_Fetch()) { $user_name = $row2['user_name']; $class_extant = explode(',', $row2['user_class']); foreach ($class_extant as $key => $value) { if (intval($value) == 0) { unset($class_extant[$key]); } } if ($row['prod_promo_class'] != 255 && $row['prod_promo_class'] != 0 && !in_array($row['prod_promo_class'], $class_extant)) { $class_extant[] = $row['prod_promo_class']; } $new_array = array_unique($class_extant); sort($new_array); $class_list = implode(',', $new_array); $sqlcheck3->db_Update("user", "user_class='" . $class_list . "' where user_id='" . $trans_array['ipn_user_id'] . "'"); $mailto = !(isset($pref['siteadminemail']) && strlen($pref['siteadminemail']) == 0) ? $pref['replyto_email'] : $pref['siteadminemail']; // Keep 0.7.8 compatible $subject = $pref['sitename'] . ": " . EASYSHOP_IPN_30; // [USERNAME] upgraded to class [PROMOCLASS] $subject = str_replace("[USERNAME]", $user_name, $subject); $subject = str_replace("[PROMOCLASS]", $promo_class_name, $subject); $message = EASYSHOP_IPN_31 . "<br /><br />"; $message .= EASYSHOP_IPN_32 . "<br /><br />"; $message .= EASYSHOP_IPN_33 . "<br />"; $message .= "<br />" . EASYSHOP_IPN_34 . " " . $pref['siteurl']; $message .= "<br /><br />© " . date("Y") . " EasyShop"; $message = str_replace("[USERNAME]", $row2['user_name'], $message); $message = str_replace("[USERLINK]", SITEURL . "user.php?id." . $trans_array['ipn_user_id'], $message); $message = str_replace("[PROMOCLASS]", r_userclass_name($row['prod_promo_class']), $message); $message = str_replace("[TRANSACTIONID]", $trans_array['txn_id'], $message); $message = str_replace("[PRODUCTPRICE]", $items_array["amount_" . $count], $message); $message = str_replace("[PRODUCTQTY]", $items_array["quantity_" . $count], $message); $message = str_replace("[CURRENCY]", $trans_array['mc_currency'], $message); $message = str_replace("[GROSSAMOUNT]", $trans_array['mc_gross'], $message); $message = str_replace("[PAYMENTDATE]", $trans_array['payment_date'], $message); $message = str_replace("[PRODLINK]", SITEURL . e_PLUGIN . "easyshop/easyshop.php?prod." . $items_array["db_id_" . $count], $message); $message = str_replace("[PRODUCTNAME]", $items_array["item_name_" . $count], $message); $user_message = EASYSHOP_IPN_35; $user_message .= "<br />" . EASYSHOP_IPN_36; $user_message .= "<br />" . EASYSHOP_IPN_34 . " " . $pref['siteurl']; $user_message .= "<br /><br />© " . date("Y") . " EasyShop"; $user_message = str_replace("[PRODUCTNAME]", $items_array["item_name_" . $count], $user_message); $user_message = str_replace("[PROMOCLASS]", r_userclass_name($row['prod_promo_class']), $user_message); //ShopMail::easyshop_sendemail($mailto, $subject, $message, $headers2, $attachment_name); if ($row2['user_class'] != $class_list) { // Only send an e-mail if the user_class array actually changed ShopMail::easyshop_sendemail($mailto, $subject, $message, $headers2, $attachment_name); // Mail to admin ShopMail::easyshop_sendemail($row2['user_email'], $subject, $user_message, $headers2, $attachment_name); // Mail to user } } } $temp_array = array($row['item_id'] => array("item_name" => $items_array["item_name_" . $count], "db_id" => $row['item_id'])); } } else { // This item does not exist!!! //$sqlcheck -> db_Close(); return FALSE; } $count++; } // Send downloads $to_email = $trans_array['payer_email']; ShopMail::easyshop_senddownloads($temp_array, $to_email); //$sqlcheck -> db_Close(); return TRUE; }
/** * 订单修改 */ public function edit($order_id = 0) { if (empty($order_id)) { $this->error('非法参数...'); } $Order = M('Order'); $order_info = $Order->find($order_id); if (empty($order_info)) { $this->error('订单不存在...'); } $data = array('order_id' => $order_id, 'create_time' => NOW_TIME); switch (I('order_status', 1, 'intval')) { case '3': $data['order_status'] = 3; $data['kefu_intro'] = I('kefu_intro'); $result = $Order->save($data); send_sms($order_info['mobile'], array('orderid' => $order_id), 'unOrder'); break; case '4': $pay_status = I('pay_status', 1, 'intval'); if ($pay_status == 2) { $data['order_status'] = 5; transaction($order_id, $order_info['order_price'], UID, '旅游订单', '线下支付'); } else { $data['order_status'] = 4; send_sms($order_info['mobile'], array('orderid' => $order_id, 'price' => $order_info['order_price']), 'enOrder'); } $data['pay_status'] = $pay_status; $data['kefu_intro'] = I('kefu_intro'); $result = $Order->save($data); break; case '8': $data['order_status'] = 8; $data['kefu_intro'] = I('kefu_intro'); $result = $Order->save($data); break; case '9': $data['order_status'] = 9; $data['kefu_intro'] = I('kefu_intro'); $result = $Order->save($data); break; default: $data['kefu_intro'] = I('kefu_intro'); $result = $Order->save($data); break; } if ($result) { $this->success('成功', U('index')); } else { $this->error('失败'); } }
function DisableProduct($trans_id) { $transaction_id = transaction($trans_id); mysql_query("UPDATE sale_transaction_detail\n\t\t\t\t\t SET sale_transaction_detail.`status` = 3\n\t\t\t\t\t WHERE sale_transaction_detail.id = {$trans_id}"); $res = mysql_query("SELECT sale_transaction_detail.id\n\t\t\t \t\t\tFROM sale_transaction_detail\n\t\t\t \t\t\tWHERE sale_transaction_detail.transaction_id={$transaction_id} \n\t\t\t\t\t\t\tAND sale_transaction_detail.status=1"); $check = mysql_num_rows($res); if ($check == 0) { mysql_query("UPDATE sale_transaction\n\t\t \t\t\t SET sale_transaction.`status` = 3\n\t\t \t\t\t\t WHERE sale_transaction.id = {$transaction_id}"); } }
function transactionDispatch($op) { checkPerm('view'); require_once _lms_ . '/lib/lib.transaction.php'; if (isset($_POST['back_mod'])) { Util::jump_to('index.php?modname=transaction&op=transaction'); } switch ($op) { case 'mod': modTransaction(); break; case 'del': delTransaction(); break; default: case 'transaction': transaction(); break; } }
} } // End of cleaning to be checked entries // Should we clean ES_shopping/processing entries? -is older than 3 days too little ?!??!?!? if ($_GET['report'] == "clean_shop") { // Check to clean the shopping entries if ($_GET['shop'] != 0) { $check_del = transaction("delete", NULL, NULL, "ES_shopping", $cutoff_time, $current_time); $check_del ? $result_text .= EASYSHOP_MONITOR_24 . "<br />" : ($result_text .= EASYSHOP_MONITOR_25 . " " . $_GET['days'] . " " . EASYSHOP_MONITOR_26 . "<br />"); } else { $result_text .= EASYSHOP_MONITOR_27 . "<br />"; } // End of cleaning shopping entries // Check to clean the processing entries if ($_GET['proc'] != 0) { $check_del = transaction("delete", NULL, NULL, "ES_processing", $cutoff_time, $current_time); $check_del ? $result_text .= EASYSHOP_MONITOR_28 . "<br />" : ($result_text .= EASYSHOP_MONITOR_29 . " " . $_GET['days'] . " " . EASYSHOP_MONITOR_26 . "<br />"); } else { $result_text .= EASYSHOP_MONITOR_30 . "<br />"; } // End of cleaning processing entries } //End of clean_shop } // End of cleaning // Retrieve the report array $report = report(); $reporttext = "<table class='fborder' width='90%'><tr><td>"; if (isset($report['Completed']['report_count'])) { $completed = "<br /><div onclick='expandit(\"Completed\");'><span class='button'> " . EASYSHOP_MONITOR_31 . " </span></div><br /><span id='Completed' style='display:none;'>"; for ($i = 1; $i <= $report['Completed']['report_count']; $i++) {
<?php require_once "ApiLibrary.php"; session_start(); //Checks if this is running from a request if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'GET') { //This checks to see if anything was passed into the parameter userName if (!isset($_GET['iid']) || !isset($_GET['creditcard'])) { echo json_encode(array("error" => "Missing parameter.")); } else { $_iid = $_GET['iid']; $_creditcard = $_GET['creditcard']; if (!isset($_SESSION['username']) || $_SESSION['username'] == null) { echo json_encode(array("error" => "must be logged in to buy item.")); return; } $_buyer = $_SESSION['username']; if (isset($_SESSION['supplier']) && $_SESSION['supplier']) { echo json_encode(array("error" => "Suppliers may not buy items.")); return; } if (chargeCard($_creditcard, $_iid)) { echo transaction($_iid, $_buyer); } else { echo json_encode(array("error" => "Unable to charge credit card.")); } } }
public function getSeedMaleAvatar() { $FILE = new \Illuminate\Filesystem\Filesystem(); $files = $FILE->files('/Users/vicens/www/meigui/public/uploads/avatar'); try { transaction(); foreach ($files as $path) { $file = $FILE->name($path) . '.jpg'; $user = User::where('sex', UserEnum::SEX_MALE)->whereNull('avatar')->first(); if ($user && !$user->getOriginal('avatar')) { $user->update(array('avatar' => $file)); } } commit(); return '添加成功'; } catch (\Exception $e) { rollback(); return $e->getMessage(); } }