function request_approve() { global $db; if (!$_SESSION["is_admin"]) { return; } $row = request_by_id($_GET["id"]); if (!$row) { return; } elseif ($row["m_state"] == "approved") { notify_user(_("Request has already been approved"), ''); redirect('?page=adminm§ion=members&action=request_details&id=' . $row["m_id"]); return; } $data = null; $mail = false; if (isset($_POST["m_name"])) { // called from request details $data = $_POST; } else { // accessed from request list or mail $data = $row; $mail = true; } switch ($row["m_type"]) { case "add": if (!validate_username($data["m_nick"])) { notify_user(_("User with this login already exists."), ''); redirect('?page=adminm§ion=members&action=request_details&id=' . $row["m_id"]); } $data["m_level"] = PRIV_USER; $data["m_playground_enable"] = true; $data["m_mailer_enable"] = true; $data["m_info"] = ""; $data["m_pass"] = random_string(10); $m = member_load(); $m_id = $m->create_new($data); nas_create_default_exports("member", $m->m); if ($mail || $_POST["m_create_vps"]) { // create vps $server = null; if ($_POST["m_node"]) { $server = server_by_id($_POST["m_node"]); } else { $server = server_by_id(pick_free_node($data["m_location"])); } $vps = vps_load(); $vps->create_new($server["server_id"], $data["m_distribution"], "vps", $m_id, ""); $mapping = nas_create_default_exports("vps", $vps->ve); nas_create_default_mounts($vps->ve, $mapping); $vps->add_default_configs("default_config_chain"); if (!isset($_POST["m_assign_ips"]) || $_POST["m_assign_ips"]) { $vps->add_first_available_ip($server["server_location"], 4); $vps->add_first_available_ip($server["server_location"], 6); } $vps->start(); } break; case "change": $db->query("UPDATE members SET\n\t\t\t\t\t\t\tm_name = '" . $db->check($row["m_name"]) . "',\n\t\t\t\t\t\t\tm_mail = '" . $db->check($row["m_mail"]) . "',\n\t\t\t\t\t\t\tm_address = '" . $db->check($row["m_address"]) . "'\n\t\t\t\t\t\tWHERE m_id = " . $db->check($row["m_applicant"])); // mail user about the approval request_change_mail_member($row, "approved", $row["m_mail"]); break; } $db->query("UPDATE members_changes SET\n\t m_state = 'approved',\n\t m_changed_by = " . $db->check($_SESSION["member"]["m_id"]) . ",\n\t m_admin_response = '" . $db->check($data["m_admin_response"]) . "',\n\t m_changed_at = " . time() . "\n\t WHERE m_id = " . $db->check($row["m_id"])); $row = request_by_id($_GET["id"]); // mail admins about the approval request_change_mail_admins($row, "approved"); request_mail_last_update($row); notify_user(_("Request approved"), ''); redirect('?page=adminm§ion=members&action=approval_requests'); }
$sql = 'SELECT * FROM members WHERE m_pass = "******" AND m_nick = "' . $db->check($_REQUEST[username]) . '"'; if ($result = $db->query($sql)) { if ($member = $db->fetch_array($result)) { session_destroy(); // toms session_start(); // toms $_SESSION[logged_in] = true; $_SESSION[member] = $member; $_SESSION[is_user] = $member[m_level] >= PRIV_USER ? true : false; $_SESSION[is_poweruser] = $member[m_level] >= PRIV_POWERUSER ? true : false; $_SESSION[is_admin] = $member[m_level] >= PRIV_ADMIN ? true : false; $_SESSION[is_superadmin] = $member[m_level] >= PRIV_SUPERADMIN ? true : false; $xtpl->perex(_("Welcome, ") . $member[m_nick], _("Login successful <br /> Your privilege level: ") . $cfg_privlevel[$member[m_level]]); $xtpl->delayed_redirect('?page=', 350); $_member = member_load($member["m_id"]); $_member->touch_activity(); } else { $xtpl->perex(_("Error"), _("Wrong username or password")); } } else { $xtpl->perex(_("Error"), _("Wrong username or password")); } } else { $xtpl->perex(_("Error"), _("Wrong username or password")); } } if ($_GET[action] == 'logout') { $_SESSION[logged_in] = false; unset($_SESSION[member]); $xtpl->perex(_("Goodbye"), _("Logout successful"));
include WWW_ROOT . 'lib/xtemplate.lib.php'; include WWW_ROOT . 'lib/db.lib.php'; include WWW_ROOT . 'lib/functions.lib.php'; include WWW_ROOT . 'lib/transact.lib.php'; include WWW_ROOT . 'lib/vps.lib.php'; include WWW_ROOT . 'lib/members.lib.php'; include WWW_ROOT . 'lib/networking.lib.php'; include WWW_ROOT . 'lib/cluster.lib.php'; include WWW_ROOT . 'lib/gettext_stream.lib.php'; include WWW_ROOT . 'lib/gettext_inc.lib.php'; include WWW_ROOT . 'lib/gettext_lang.lib.php'; $db = new sql_db(DB_HOST, DB_USER, DB_PASS, DB_NAME, DB_SOCK, true); // Create a template class include WWW_ROOT . 'config_cfg.php'; if ($_SESSION["logged_in"]) { $_member = member_load($_SESSION["member"]["m_id"]); if (!$_member->has_not_expired_activity()) { session_destroy(); $_GET["page"] = ""; } switch ($_GET["page"]) { case 'transactbox': $xtpl = new XTemplate(WWW_ROOT . 'template/ajax_get_transactbox.html'); include WWW_ROOT . 'pages/ajax_get_transactbox.php'; $xtpl->parse('main'); $xtpl->out('main'); break; case 'vps': include WWW_ROOT . 'pages/ajax_vps.php'; break; default:
} else { $lastpaidto = _("Never been paid"); } $xtpl->table_td($lastpaidto); $xtpl->table_tr(); $xtpl->table_td(_("Nickname") . ':'); $xtpl->table_td($member->m["m_nick"]); $xtpl->table_tr(); $xtpl->form_add_input(_("Newly paid until") . ':', 'text', '30', 'paid_until', '', 'Y-m-d, eg. 2009-05-01'); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->form_out(_("Save")); } break; case 'payset2': if (($member = member_load($_GET["id"])) && $_SESSION["is_admin"]) { if ($member->set_paid_until($_REQUEST["paid_until"])) { $xtpl->perex(_("Payment successfully set"), _("Continue") . ' <a href="?page=adminm§ion=members">' . strtolower(_("Here")) . '</a>'); } else { $xtpl->perex(_("Error"), _("Continue") . ' <a href="?page=adminm§ion=members">' . strtolower(_("Here")) . '</a>'); } } break; default: if ($_SESSION["is_admin"]) { // 如果是管理员 $xtpl->title(_("Manage members [Admin mode]")); } else { $xtpl->title(_("Manage members")); } $xtpl->table_add_category('ID');
if ($_SESSION["is_admin"]) { $xtpl->form_create('?page=adminvps&action=revive&veid=' . $vps->veid, 'post'); $xtpl->table_add_category(_("Revive")); $xtpl->table_add_category(' '); $xtpl->form_out(_("Go >>")); } } else { // set up ispcp if (preg_match("/ispcp/", $templ["special"]) && !preg_match("/ispcp/", $vps->ve["vps_specials_installed"])) { $ips = array(); if ($iplist = $vps->iplist(4)) { foreach ($iplist as $ip) { $ips[$ip["ip_addr"]] = $ip["ip_addr"]; } } $ve_owner = member_load($vps->ve["m_id"]); $xtpl->form_create('?page=adminvps&action=special_setup_ispcp&veid=' . $vps->veid, 'post'); $xtpl->form_add_select(_("Use IPv4 address") . ':', 'ip_addr', $ips, ''); $xtpl->form_add_input(_("Hostname FQDN") . ':', 'text', '30', 'setup_hostname', $_REQUEST["setup_hostname"], 'Important for mail to work correctly<br>eg. mail.mydomain.com'); $xtpl->form_add_input(_("Admin panel FQDN") . ':', 'text', '30', 'setup_vhost', $_REQUEST["setup_vhost"], 'From where will be accessed the admin panel<br>eg. admin.mydomain.com'); $xtpl->form_add_input(_("Admin e-mail") . ':', 'text', '30', 'setup_mail', $ve_owner->m["m_mail"], 'Where will ispCP send notices'); $xtpl->form_add_input(_("Admin username") . ':', 'text', '30', 'setup_username', 'admin', ''); $xtpl->form_add_input(_("Admin safe password") . ':', 'password', '30', 'passwd', '', '<br>Must contain characters as well as at least one number.', -5); $xtpl->form_add_input(_("Admin password again") . ':', 'password', '30', 'passwd2', '', ''); $xtpl->form_add_checkbox(_("Install AWStats") . ':', 'awstats', '1', $_REQUEST["awstats"], $hint = ''); $xtpl->table_add_category(_("Set up ispCP Omega")); $xtpl->table_add_category(' '); $xtpl->form_out(_("Go >>")); } // Password changer $xtpl->form_create('?page=adminvps&action=passwd&veid=' . $vps->veid, 'post');
include 'db.php'; require 'Slim/Slim.php'; \Slim\Slim::registerAutoloader(); $app = new \Slim\Slim(); $db = getDB(); $orderData1 = $db->query("SELECT order_id,mail_status,uid,membership_no,order_number,created FROM commerce_order where mail_status=1")->fetchAll(PDO::FETCH_OBJ); //print_r($orderData1); foreach ($orderData1 as $order => $itemData) { $tableData = ""; $orderTotal = ""; //echo $orderData1[$order]->uid; $userData = user_load($orderData1[$order]->uid); echo "<pre>"; //print_r($userData); echo $userData->mail; $memberData = member_load($orderData1[$order]->membership_no); //print_r($memberData); //echo $memberData->company_name; //echo $orderData1[$order]->order_id; $order_id = $orderData1[$order]->order_id; //echo "SELECT * commerce_line_item where order_id = ".$order_id; $line_item = $db->query("SELECT * FROM commerce_line_item cli JOIN item on cli.line_item_id = item.item_no and order_id = " . $order_id)->fetchAll(PDO::FETCH_OBJ); //print_r($line_item); // Add Line items to the order foreach ($line_item as $delta => $itemData) { $name = $line_item[$delta]->item1_desc . ' ' . $line_item[$delta]->item2_desc; $delt = $delta + 1; $price = $line_item[$delta]->price_with_tax; $qty = $line_item[$delta]->quantity; $total_unit_price = $qty * $price; /* $tableData .= '<tr>';
$xtpl->table_tr(); $xtpl->table_out(); $xtpl->table_title(_("Statistics:")); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $all_vpses = get_vps_array(); $traffic_per_vps = array(); $traffic_total_ordered = array(); if ($all_vpses) { foreach ($all_vpses as $vps) { if ($vps_ips = $vps->iplist()) { $traffic_per_vps[$vps->veid]["vps"] = $vps; $traffic_per_vps[$vps->veid]["member"] = member_load($vps->ve["m_id"]); foreach ($vps_ips as $ip) { if (isset($_GET["month"])) { $generated = time(); $year = date('Y', $generated); // hour, minute, second, month, day, year $this_month = mktime(1, 0, 0, $_GET["month"], 1, $year); $traffic = $accounting->get_traffic_by_ip_this_month($ip["ip_addr"], $this_month); } else { $traffic = $accounting->get_traffic_by_ip_this_month($ip["ip_addr"]); } $traffic_per_vps[$vps->veid]["ips"][$ip["ip_addr"]] = $traffic; $traffic_total_ordered[$vps->veid] += $traffic['in'] + $traffic['out']; } } }
$show_list = true; } if ($show_list) { $all_vpses = get_vps_array(); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category(''); /* $xtpl->table_add_category(''); $xtpl->table_add_category(''); $xtpl->table_add_category('');*/ if ($all_vpses) { foreach ($all_vpses as $vps) { $vps_ips = $vps->iplist(); $m = member_load($vps->ve["m_id"]); $xtpl->table_td($vps->ve["vps_id"] . ' ' . $m->m["m_nick"] . ' [' . $vps->ve["vps_hostname"] . ']', '#5EAFFF; color:#FFF; font-weight:bold;', false, 1, count($vps_ips) + 1); $xtpl->table_td(_("IP Address"), '#5EAFFF; color:#FFF; font-weight:bold;'); $xtpl->table_td(_("NIX [GB]"), '#5EAFFF; color:#FFF; font-weight:bold;'); $xtpl->table_td(_("TRANZIT [GB]"), '#5EAFFF; color:#FFF; font-weight:bold;'); $xtpl->table_td(_("TOTAL [GB]"), '#5EAFFF; color:#FFF; font-weight:bold;'); /* $xtpl->table_td('', '#5EAFFF; color:#FFF; font-weight:bold;'); $xtpl->table_td('', '#5EAFFF; color:#FFF; font-weight:bold;'); $xtpl->table_td('', '#5EAFFF; color:#FFF; font-weight:bold;');*/ $xtpl->table_tr(); if ($vps_ips) { foreach ($vps_ips as $ip) { $xtpl->table_td($ip["ip_addr"]); $traffic = $accounting->get_traffic_by_ip_this_month($ip["ip_addr"]); if ($ip["ip_v"] == 4) { $xtpl->table_td(round($traffic["nix"]["total"] / 1024 / 1024 / 1024, 2), false, true);
<?php $vps = vps_load($_GET["veid"]); $member_of_session = member_load($_SESSION["member"]["m_id"]); if (!$vps->exists || !$member_of_session->m["m_state"] == "active" && $cluster_cfg->get("payments_enabled")) { exit; } switch ($_GET["action"]) { case "start": $vps->start(); break; case "stop": $vps->stop(); break; case "restart": $vps->restart(); break; default: break; }
function createOrder() { $orderID = 0; $orderTotal = 0; $tableData = ''; $lineItemData = array(); $request = \Slim\Slim::getInstance()->request(); $input = json_decode($request->getBody()); // echo "<pre>"; print_r($input); echo "</pre>"; exit; $uid = $input->order->uid; $line_item = $input->order->line_item; $member_no = $input->order->member_no; $payment_mode = $input->order->payment_mode; $delivery_mode = $input->order->delivery_mode; $orderQuery = "SELECT order_id, status FROM commerce_order WHERE uid = " . $uid . " AND status = 'Processing' AND membership_no = " . $member_no; try { $db = getDB(); $stmt = $db->query($orderQuery); $orderData = $stmt->fetchAll(PDO::FETCH_OBJ); } catch (PDOException $e) { echo '{"error":{"text":' . $e->getMessage() . '}}'; die; } // echo "<pre>"; print_r($orderData); echo "</pre>"; exit; if (empty($orderData)) { // Create an order $insertSql = "INSERT INTO commerce_order (order_number, uid, membership_no, status, created, changed, data) VALUES (:order_number, :uid, :membership_no, :status, :created, :changed,:data)"; try { $db = getDB(); $stmt1 = $db->prepare($insertSql); $max = $db->query("SELECT MAX( order_number ) as order_no FROM commerce_order")->fetch(PDO::FETCH_OBJ); $auto_inc = (int) $max->order_no + 1; $status = "Processing"; $data = ""; $stmt1->bindParam("order_number", $auto_inc); $stmt1->bindParam("uid", $input->order->uid); $time = time(); $stmt1->bindParam("membership_no", $member_no); $stmt1->bindParam("status", $status); $stmt1->bindParam("created", $time); $stmt1->bindParam("changed", $time); $stmt1->bindParam("data", $data); $stmt1->execute(); } catch (PDOException $e) { echo '{"error":{"text":' . $e->getMessage() . '}}'; die; } $orderID = $db->lastInsertId(); // Add Line items to the order foreach ($line_item as $delta => $itemData) { $lineItemData['items'][$itemData->item_no] = createLineItem($orderID, $delta, $itemData->item_no, $itemData->qty); $orderTotal += $lineItemData['items'][$itemData->item_no]['price']; $tableData .= '<tr>'; $tableData .= '<td style="text-align: center;">' . ($delta + 1) . '</td>'; $tableData .= '<td>' . $lineItemData["items"][$itemData->item_no]["name"] . '</td>'; $tableData .= '<td style="text-align: center;">' . $itemData->qty . '</td>'; $tableData .= '<td style="text-align: right;">' . $lineItemData["items"][$itemData->item_no]["price"] . '</td>'; $tableData .= '</tr>'; } } else { // Create order line item $orderID = $orderData[0]->order_id; // Add Line items to the order foreach ($line_item as $delta => $itemData) { $lineItemData['items'][$itemData->item_no] = createLineItem($orderID, $delta, $itemData->item_no, $itemData->qty); $orderTotal += $lineItemData['items'][$itemData->item_no]['price']; $tableData .= '<tr>'; $tableData .= '<td style="text-align: center;">' . ($delta + 1) . '</td>'; $tableData .= '<td>' . $lineItemData["items"][$itemData->item_no]["name"] . '</td>'; $tableData .= '<td style="text-align: center;">' . $itemData->qty . '</td>'; $tableData .= '<td style="text-align: right;">' . $lineItemData["items"][$itemData->item_no]["price"] . '</td>'; $tableData .= '</tr>'; } } $lineItemData['order_total'] = $orderTotal; $lineItemData['order_id'] = $orderID; $orderData1 = order_load($orderID); $lineItemData['order_number'] = (int) $orderData1->order_number; //echo "<pre>"; print_r($lineItemData); echo "</pre>"; exit; if (!empty($lineItemData)) { // Update the order data $orderUpdated = time(); $updateOrderSql = "UPDATE commerce_order SET status='confirmed', changed = " . $orderUpdated . ", data= " . $orderTotal . " WHERE order_id = " . $orderID; $db = getDB(); $stmt2 = $db->prepare($updateOrderSql); $stmt2->execute(); // Insert order payment details $insertPaymentSql = "INSERT INTO commerce_payment (order_id, membership_no, payment_mode, delivery_mode) VALUES (:order_id, :membership_no, :payment_mode, :delivery_mode)"; $db = getDB(); $stmt3 = $db->prepare($insertPaymentSql); $stmt3->bindParam("order_id", $orderID); $stmt3->bindParam("membership_no", $member_no); $stmt3->bindParam("payment_mode", $payment_mode); $stmt3->bindParam("delivery_mode", $delivery_mode); $stmt3->execute(); // Send Mail $userData = user_load($orderData1->uid); $memberData = member_load($orderData1->membership_no); $updateMailStatus = "UPDATE commerce_order SET mail_status=1 where uid=" . $orderData1->uid; $db = getDB(); $stmtm = $db->prepare($updateMailStatus); $stmtm->execute(); /*$message = '<p>A new order has been placed. Please find the details below:</p> <p> </p> <p>Store Name: <strong>'.$memberData->company_name.'</strong></p> <p>Order No: <strong>'.$orderData1->order_number.'</strong></p> <p>Date: '.date("d/m/Y", $orderData1->created).'</p> <table border="1" cellpadding="1" cellspacing="0" style="border:1px solid #CCCCCC; width:500px"> <tbody> <tr> <td style="text-align: center;"><strong>No</strong></td> <td style="text-align: center;"><strong>Item Name</strong></td> <td style="text-align: center;"><strong>Quantity</strong></td> <td style="text-align: center;"><strong>Price (INR)</strong></td> </tr>'; $message .= $tableData; $message .= ' <tr> <td colspan="3" style="text-align: right;"><strong>Order Total</strong></td> <td style="text-align: right;"><strong>'.$orderTotal.'</strong></td> </tr> </tbody> </table> <p> </p> <p>Regards,</p> <p>Walmart.</p>'; $message1 = '<p>Dear Bala,</p>'.$message; $message2 = '<p>Dear Admin,</p>'.$message; $mailStatus = sendMail("*****@*****.**", $userData->mail, "New Order is been created", $message1); sendMail("*****@*****.**", "*****@*****.**", "New Order is been created", $message2); if(!$mailStatus) { echo '{"success":{"text": "order updated", "mail":"not sent", "data": '.json_encode($lineItemData).' }}'; } else { echo '{"success":{"text": "order updated", "mail":"sent", "data": '.json_encode($lineItemData).' }}'; }*/ } else { echo '{"error":{"text": "Some error occurred. Add again."}}'; } }