Example #1
0
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);
}
Example #2
0
 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);
 }
Example #3
0
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
                            }
                        }
                    }
                }
            }
        }
    }
}
Example #5
0
*/
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();
Example #6
0
<?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));
Example #10
0
| 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
Example #11
0
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);
            }
Example #12
0
<?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));
 }
Example #14
0
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);
}));
Example #17
0
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');
    }
}