function createAction() { $config = getConfig(); $params = $config['memcache']; $table = ['name' => 'item', 'dbname' => 'db_vktest', 'as' => 'i']; $item = handleRequest($_POST); $mysqli = db_mysqli_connect($table['dbname']); $queryInsert = "INSERT INTO item (name,description,price,url) VALUES (" . "'" . mysqli_real_escape_string($mysqli, $item['name']) . "'," . "'" . mysqli_real_escape_string($mysqli, $item['description']) . "'," . $item['price'] . "," . "'" . mysqli_real_escape_string($mysqli, $item['url']) . "'" . ")"; $resultInsert = mysqli_query($mysqli, $queryInsert); $resultError = mysqli_error($mysqli); db_mysqli_close($mysqli); if (!$resultInsert) { addAlert('danger', 'Произошла ошибка записи:' . $resultError); $url = 'http://' . $_SERVER['HTTP_HOST'] . "/"; header('Location: ' . $url); exit; } //another proc $pid = pcntl_fork(); if ($pid == 0) { changeCountItemsById(1, 1); exit(0); } addAlert('success', 'Продукт добавлен'); $url = 'http://' . $_SERVER['HTTP_HOST'] . "/"; header('Location: ' . $url); }
public function testHandleRequest() { $excpected = array('error' => 'You must pass a number'); $actual = handleRequest('BadNumber'); $this->assertEquals($excpected, $actual); $excpected = array('error' => 'You must pass a number greater than 0'); $actual = handleRequest('-1'); $this->assertEquals($excpected, $actual); $excpected = array('result' => array(1, 2, 3, 5, 8, 13)); $actual = handleRequest(5); $this->assertEquals($excpected, $actual); }
function updateAction() { $config = getConfig(); $table = ['name' => 'item', 'dbname' => 'db_vktest', 'as' => 'i']; $item = handleRequest($_POST); $mysqli = db_mysqli_connect($table['dbname']); $queryUpdate = "UPDATE item SET " . "name='" . mysqli_real_escape_string($mysqli, $item['name']) . "'," . "description='" . mysqli_real_escape_string($mysqli, $item['description']) . "'," . "price=" . $item['price'] . "," . "url='" . mysqli_real_escape_string($mysqli, $item['url']) . "'" . " WHERE iditem=" . $item['iditem']; $resultUpdate = mysqli_query($mysqli, $queryUpdate); $resultError = mysqli_error($mysqli); db_mysqli_close($mysqli); if (!$resultUpdate) { addAlert('danger', 'Произошла ошибка записи:' . $resultError); $url = 'http://' . $_SERVER['HTTP_HOST'] . "/"; header('Location: ' . $url); exit; } addAlert('success', 'Продукт сохранен!'); $url = 'http://' . $_SERVER['HTTP_HOST'] . "/"; header('Location: ' . $url); }
function requesttype($msg) { $substr10 = substr($msg, 0, 10); $substr5 = substr($msg, 0, 5); if (strpos($substr10, "command") !== false) { sendCommands(); } else { if (strpos($substr5, "song") !== false) { //start song identifiers - need to rewrite this to be much more general sometime soon.. handleRequest($msg); } else { if (strpos($substr5, "play") !== false) { handleRequest($msg, "play"); } else { if (strpos($msg, " by ") !== false) { handleRequest($msg, " by "); } else { if (strpos($msg, "-") !== false) { //end song identifiers handleRequest($msg, "-"); } else { if (strpos($substr10, "shoutout") !== false || strpos($substr10, "shout out") !== false) { handleShoutout($msg); } else { $result = exactMatch($msg); //user just sent us a text with no keywords - test if it's a song with much stricter conditions than above if (!$result) { handleMsg($msg); //must not be a song, handle it as a message and give back song request instructions } else { sendConfirmation($result['song'], $result['artist']); //song confirmation } } } } } } } }
*/ function config() { $accessManager = new AccessManager(); $keyManager = new KeyManager(); # msg-config is allowed to modify $accessManager and $keyManager # msg-config also MUST define a function config_pdo() to return the PDOConnection require './msg-config.php'; $pdo = config_pdo(); $queues = new MysqlQueueStorage($pdo); $messages = new MysqlMessageStorage($pdo); $service = new MessagingService($queues, $messages); return [$keyManager, $accessManager, $service]; } function handleRequest() { list($auth, $accessManager, $service) = config(); $server = new HTTPAPIServer($auth, $accessManager, $service); global $_SERVER; $host = $_SERVER['HTTP_HOST']; $method = $_SERVER['REQUEST_METHOD']; $path = $_SERVER['PATH_INFO']; $params = $_GET; $headers = getallheaders(); foreach ($headers as $key => $value) { $headers[strtolower($key)] = $value; } $server->handleRequest($host, $method, $path, $headers, $params); } handleRequest();
<?php include 'utils/utilities.php'; require_once 'code/lib/helpers/visits-setup.inc.php'; handleRequest($dbAdapter);
<?php include "util/all.php"; handleRequest(array("GET" => transferSessionIdToCookieAndRedirect, "PUT" => newLogin, "POST" => newLogin));
} function getName() { return $_FILES['file']['name']; } $performPost = function () { validateUser(); $id = getParameter(PARAMETER_ID, PARAMETER_REQUIRED); $dataType = getParameter(PARAMETER_DATA_TYPE, PARAMETER_REQUIRED); $contentType = getContentType(); $data = getData(); $name = getName(); $insert = withStatement("SELECT id FROM DATA WHERE id=?", function ($statement) use($id) { $statement->bind_param("s", $id); return countRows($statement) == 0; }); if ($insert) { withStatement("INSERT INTO DATA(id,dataType,contentType,data, name) VALUES(?,?,?,?,?)", function ($statement) use($id, $dataType, $contentType, $data, $name) { $statement->bind_param("sssss", $id, $dataType, $contentType, $data, $name); executeStatement($statement); }); } else { withStatement("UPDATE DATA SET data=?,dataType=?,contentType=?,name=? WHERE id=?", function ($statement) use($id, $dataType, $contentType, $data, $name) { $statement->bind_param("sssss", $data, $dataType, $contentType, $name, $id); executeStatement($statement); }); } }; validateUser(); handleRequest(array("POST" => $performPost));
<?php include "util/all.php"; $performGet = function () { withStatement("SELECT name, contentType, data FROM DATA WHERE ID=?", function ($statement) { $id = getParameter(PARAMETER_ID, PARAMETER_REQUIRED); $statement->bind_param("s", $id); executeStatement($statement); $result = $statement->get_result(); list($name, $type, $data) = $result->fetch_array(); $name = $name ? $name : "file"; if ($data) { header("Content-type: {$type}"); header("Content-Disposition: attachment; filename=\"{$name}\""); echo $data; } else { setStatus(404, "Not Found"); } }); }; handleRequest(array("GET" => $performGet));
| License: GPLv2 or later, see the LICENSE.txt file. | +---------------------------------------------------------------------------+ */ /** * OpenX jQuery ajax functions * * @author Bernard Lange <*****@*****.**> * * $Id$ * */ require_once '../../../../init.php'; require_once '../../config.php'; require_once 'lib/JSON.php'; $type = $_REQUEST['type']; handleRequest($type); function handleRequest($type) { switch ($type) { case 'html': handleHTML(); break; case 'json': handleJSON(); break; default: echo ''; } } /** * Workhorse functions
include_once SRC_DIR . '/router.php'; include_once SRC_DIR . '/session.php'; $routerConfig = (require APP_DIR . '/config/routes.php'); $commission = (require APP_DIR . '/config/commission.php'); if (!(is_numeric($commission) && $commission >= 0 && $commission <= 100)) { sendResponse(createResponse('Invalid commission value', 400)); return; } session_set_save_handler('mysql_session_open', 'mysql_session_close', 'mysql_session_read', 'mysql_session_write', 'mysql_session_destroy', 'mysql_session_gc'); session_start(); $request = requestFromGlobals(); if (!array_key_exists('PATH_INFO', $request['server'])) { $location = $request['server']['SCRIPT_NAME'] . '/' . substr($request['server']['REQUEST_URI'], strlen($request['server']['SCRIPT_NAME'])); $response = createRedirectResponse($location); } else { $route = handleRequest($request, $routerConfig); if ($route) { if ($route[2] && !currentUser()) { $response = createRedirectResponse('/index.php/login'); } else { $handler = $route[1]; if (file_exists($hadlerPath = SRC_DIR . '/' . $handler)) { $handlerCallable = (include $hadlerPath); if (is_callable($handlerCallable)) { $response = $handlerCallable($request); } else { $response = createResponse('handler function is missed', 404); } } else { $response = createResponse('handler not found', 404); }
<?php // File: index.php // // Author: Dior Gardner diorgardner@gmail.com // version: 0.1 // 2016.02.02 require realpath(dirname(__FILE__)) . '/app.php'; $response = handleRequest(isset($_REQUEST['number']) ? $_REQUEST['number'] : null); $responseCode = isset($response['error']) ? 400 : 200; http_response_code($responseCode); header('Content-Type: application/json'); echo json_encode($response);
/** * @dataProvider provideData */ public function test_it_should_be_prepared_of_errors(array $request, $isError, $expected) { $result = handleRequest($request); $this->assertInstanceOf($isError ? E\Left::class : E\Right::class, $result); $this->assertEquals($expected, f\valueOf($result)); }
require_once "BL/BL_manageVillage_geologicalvariation.php"; require_once "BL/BL_manageVillage_group.php"; require_once "BL/BL_manageVillage_history.php"; require_once "BL/BL_manageVillage_image.php"; require_once "BL/BL_manageVillage_industrial.php"; require_once "BL/BL_manageVillage_neartowns.php"; require_once "BL/BL_manageVillage_organization.php"; require_once "BL/BL_manageVillage_othernames.php"; require_once "BL/BL_manageVillage_plant.php"; require_once "BL/BL_manageVillage_service.php"; require_once "BL/BL_manageVillage_society.php"; require_once "BL/BL_manageVillage_trading.php"; require_once "BL/BL_manageVillage_traditionalknowledge.php"; require_once "BL/BL_manageVillage_transport.php"; require_once "BL/BL_manageAutocomplete.php"; handleRequest(readBody()); //------------------------------------------------------------------------------------- function readBody() { $body = ""; $putData = fopen("php://input", "r"); while ($block = fread($putData, 1024)) { $body = $body . $block; } fclose($putData); return $body; } //------------------------------------------------------------------------------------- function handleRequest($packagePacketText) { $obj_packagepacket = new packagepacket();
$id = getParameter(PARAMETER_ID, PARAMETER_REQUIRED); $dataType = getParameter(PARAMETER_DATA_TYPE, PARAMETER_REQUIRED); $contentType = getParameter(PARAMETER_CONTENT_TYPE, PARAMETER_REQUIRED); $data = getParameter(PARAMETER_DATA, PARAMETER_REQUIRED); $name = getParameter(PARAMETER_NAME); $statement->bind_param("sssss", $id, $dataType, $contentType, $data, $name); executeStatement($statement); }); performGet(); } function performPut() { validateUser(); withStatement("UPDATE DATA SET data=? WHERE id=?", function ($statement) { $data = getParameter(PARAMETER_DATA, PARAMETER_REQUIRED); $id = getParameter(PARAMETER_ID, PARAMETER_REQUIRED); $statement->bind_param("ss", $data, $id); executeStatement($statement); }); } function performDelete() { validateUser(); withStatement("DELETE FROM DATA WHERE id=?", function ($statement) { $id = getParameter(PARAMETER_ID, PARAMETER_REQUIRED); $statement->bind_param("s", $id); executeStatement($statement); }); } handleRequest(array("GET" => performGet, "PUT" => performPut, "POST" => performPost, "DELETE" => performDelete));
<?php include "util/all.php"; handleRequest(array("POST" => function () { $from = getParameter("from", PARAMETER_REQUIRED); $subject = getParameter("subject", PARAMETER_REQUIRED); $body = getParameter("body", PARAMETER_REQUIRED); $to = emailPrefixToAddress(getParameter("to", PARAMETER_REQUIRED)); $receiptSubjectPrefix = getParameter("receiptSubjectPrefix"); $receiptBodyPrefix = getParameter("receiptBodyPrefix"); sendEmail($to, $subject, $body, $from); sendEmail($from, $receiptSubjectPrefix . $subject, $receiptBodyPrefix . $body, $to); }));
function handleRequest($action) { switch ($action) { case 'getLevelList': // [uid], [orderBy], [orderDir] $orderDirs = array('id' => 'ASC', 'playcount' => 'DESC', 'updated' => 'DESC', 'name' => 'ASC', 'user_id' => 'DESC'); $orderBy = reqparam('orderBy'); if (!in_array($orderBy, array_keys($orderDirs))) { $orderBy = 'id'; } $orderDir = reqparam('orderDir'); if (!in_array($orderDir, array('ASC', 'DESC'))) { $orderDir = $orderDirs[$orderBy]; } $data = sql('SELECT levels.id, UNIX_TIMESTAMP(levels.updated) AS updated, levels.name, levels.desc, levels.user_id, users.username FROM levels LEFT JOIN users ON levels.user_id=users.id WHERE 1 ' . (reqparam('uid') ? ' AND levels.user_id=:uid' : '') . ' ORDER BY levels.' . $orderBy . ' ' . $orderDir, array(':uid' => reqparam('uid'))); output(array('levels' => $data)); break; case 'getLevel': // id $data = sql('SELECT levels.id, UNIX_TIMESTAMP(levels.updated) AS updated, levels.name, levels.desc, levels.data, levels.user_id, users.username FROM levels LEFT JOIN users ON levels.user_id=users.id WHERE levels.id=:id LIMIT 1', array(':id' => reqparam('id')), 1); output($data); break; case 'saveLevel': // sid, [id], name, [desc], data $user = sql('SELECT users.id FROM users, sessions WHERE sessions.id=:sid AND users.id=sessions.user_id LIMIT 1', array(':sid' => reqparam('sid')), 1); if (!$user) { error('Invalid session!'); } if (reqparam('id') == 'null') { $_REQUEST['id'] = null; } if (reqparam('id')) { $oldlevel = sql('SELECT id, user_id FROM levels WHERE id=:id', array(':id' => reqparam('id')), 1); if (!$oldlevel) { $_REQUEST['id'] = null; } elseif ($oldlevel['user_id'] != $user['id']) { error('Trying to overwrite another user\'s level!'); } } sql('INSERT INTO levels (' . (reqparam('id') ? '`id`, ' : '') . '`user_id`, `name`, `desc`, `data`) VALUES(' . (reqparam('id') ? ':id, ' : '') . ':uid, :name, :desc, :data) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), `name`=:name, `desc`=:desc, `data`=:data', array(':id' => reqparam('id'), ':uid' => array('val' => $user['id'], 'type' => PDO::PARAM_INT), ':name' => reqparam('name'), ':desc' => reqparam('desc'), ':data' => reqparam('data')), 1, $insertID); output(array('id' => $insertID)); break; case 'getUserData': // uid $data = sql('SELECT id, username, (SELECT COUNT(*) FROM levels WHERE user_id=:uid) AS level_count FROM users WHERE id=:uid', array(':uid' => reqparam('uid')), 1); output($data); break; case 'getSessionData': // sid $data = sql('SELECT users.id, users.username, sessions.id AS sid FROM users, sessions WHERE sessions.id=:sid AND users.id=sessions.user_id LIMIT 1', array(':sid' => reqparam('sid')), 1); if (!empty($data)) { output($data); } else { error('Invalid session!'); } break; case 'logout': // sid sql('DELETE FROM sessions WHERE id=:sid LIMIT 1', array(':sid' => reqparam('sid')), 0); output(true); break; case 'login': // username, password // Get user info $data = sql('SELECT id, username FROM users WHERE username=:username AND password=:password LIMIT 1', array(':username' => reqparam('username'), ':password' => reqparam('password')), 1); if (!empty($data)) { // Create a new session $data['sid'] = uniqid('', true); sql('INSERT INTO sessions (id, user_id) VALUES(:sid, :uid)', array(':sid' => $data['sid'], ':uid' => $data['id']), 0); // Limit to 5 open sessions per user sql('DELETE FROM sessions WHERE user_id=:uid AND id NOT IN ( SELECT id FROM ( SELECT id FROM sessions WHERE user_id=:uid ORDER BY created DESC LIMIT 5 ) foo )', array(':uid' => $data['id']), 0); output($data); } else { error('Invalid username or password!'); } break; case 'register': // usrename, password, captcha_challenge, captcha_response // Check captcha $resp = checkCaptcha(); if (!$resp->is_valid) { error('Invalid CAPTCHA answer!'); } // Check if username exists $data = sql('SELECT * FROM users WHERE username=:username LIMIT 1', array(':username' => reqparam('username'))); if (count($data) > 0) { error('Username already taken!'); } // Create new user sql('INSERT INTO users (username, password) VALUES(:username, :password)', array(':username' => reqparam('username'), ':password' => reqparam('password')), 0); return handleRequest('login'); break; default: error('Invalid action'); } }