if (!isset($_SESSION['profile'])) { header('Location: /index.html'); exit(0); } else { // Если пользователь является заказчиком, ему доступна данная операция if ($_SESSION['profile']['type'] == 0) { $order = null; if (array_key_exists('order', $_SERVER)) { $orderId = filter_var($_SERVER['order'], FILTER_VALIDATE_INT); if ($orderId !== false) { includeModule('order'); // Атомарно отмечаем заказ удаленным if (lock_lock($orderId, 2, 1)) { if (order_delete($orderId, $_SESSION['profile']['user_id'])) { // Если удалось удалить заказ, прогреваем кеш для поиска заказов соответсвующим образом includeModule('cache'); cache_delete($orderId); lock_unlock($orderId); return ['completed' => true]; } else { lock_unlock($orderId); } } else { return ['error' => 'order locked']; } } } return ['error' => 'order not found']; } else { return ['error' => 'permission denied']; }
<?php /** * Страница профиля пользвоателя. В зависимости от роли пользователя в системе, на странице отображаются либо * собственные заказы заказчика, либо активные заказы, доступные исполнителям */ session_start(); if (!isset($_SESSION['profile'])) { header('Location: /index.html'); exit(0); } includeModule('cache'); includeModule('order'); // ОДЗ на смещение выборки заказов $offset = 0; if (array_key_exists('offset', $_GET)) { $offset = filter_var($_GET['offset'], FILTER_VALIDATE_INT); if ($offset === false) { $offset = 0; } } // ОДЗ на испольуземый индекс switch ($_SERVER['order']) { case 'price': case 'date': $sortOrder = $_SERVER['order']; break; default: $sortOrder = 'date'; break; }
static function beginConfig($platform, $projectName) { setPlatform($platform); beginProject($projectName, self::$sharedConfig); self::includeDefaultLibs(); $ext = "DLL"; if (Generator::$platform == "mac") { $ext = "Bundle"; } //some platforms will not want a shared config if (Generator::$platform == "360" || Generator::$platform == "ps3") { self::$sharedConfig = false; } //begin either a shared lib config, or a static app config if (self::$sharedConfig) { beginSharedLibConfig(getGameProjectName() . ' ' . $ext, '{C0FCDFF9-E125-412E-87BC-2D89DB971CAB}', 'game', getGameProjectName()); } else { beginAppConfig(getGameProjectName(), '{C0FCDFF9-E125-412E-87BC-2D89DB971CAB}', 'game', getGameProjectName()); } /// Prefs addProjectDefine('TORQUE_SHADERGEN'); addProjectDefine('TORQUE_UNICODE'); if (self::$sharedConfig) { addProjectDefine('TORQUE_SHARED'); } /// For OPCODE addProjectDefine('BAN_OPCODE_AUTOLINK'); addProjectDefine('ICE_NO_DLL'); addProjectDefine('TORQUE_OPCODE'); // For libTomCrypt addProjectDefine('LTC_NO_PROTOTYPES'); // Additional includes addIncludePath("../../game/shaders"); addLibIncludePath("lmng"); addLibIncludePath("lpng"); addLibIncludePath("ljpeg"); addLibIncludePath("lungif"); addLibIncludePath("zlib"); addLibIncludePath("tinyxml"); addLibIncludePath("opcode"); addLibIncludePath("squish"); addLibIncludePath('convexDecomp'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { addLibIncludePath("libvorbis/include"); addLibIncludePath("libogg/include"); addLibIncludePath("libtheora/include"); } // Modules includeModule('core'); includeModule('dsound'); //includeModule( 'fmod'); // FMOD support removed until made as a 3rd party library includeModule('T3D'); includeModule('advancedLighting'); includeModule('basicLighting'); includeModule('collada'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { includeModule('vorbis'); includeModule('theora'); } if (Generator::$platform == "mac" || Generator::$platform == "win32") { includeModule('openal'); } // Dependencies addProjectDependency('lmng'); addProjectDependency('lpng'); addProjectDependency('lungif'); addProjectDependency('ljpeg'); addProjectDependency('zlib'); addProjectDependency('tinyxml'); addProjectDependency('opcode'); addProjectDependency('squish'); addProjectDependency('collada_dom'); addProjectDependency('pcre'); addProjectDependency('convexDecomp'); if (Generator::$platform != "360" && Generator::$platform != "ps3") { addProjectDependency('libvorbis'); addProjectDependency('libogg'); addProjectDependency('libtheora'); } if (Generator::$platform == "mac") { addProjectDefine('__MACOSX__'); addProjectDefine('LTM_DESC'); } if (Generator::$platform == "win32") { setProjectModuleDefinitionFile('../../' . getLibSrcDir() . 'Torque3D/msvc/torque3d.def'); addProjectDefine('UNICODE'); addProjectDefine('INITGUID'); addProjectDefine('_CRT_SECURE_NO_DEPRECATE'); addProjectLibInput('COMCTL32.LIB'); addProjectLibInput('COMDLG32.LIB'); addProjectLibInput('USER32.LIB'); addProjectLibInput('ADVAPI32.LIB'); addProjectLibInput('GDI32.LIB'); addProjectLibInput('WINMM.LIB'); addProjectLibInput('WSOCK32.LIB'); addProjectLibInput('vfw32.lib'); addProjectLibInput('Imm32.lib'); addProjectLibInput('d3d9.lib'); addProjectLibInput('d3dx9.lib'); addProjectLibInput('DxErr.lib'); addProjectLibInput('ole32.lib'); addProjectLibInput('shell32.lib'); addProjectLibInput('oleaut32.lib'); addProjectLibInput('version.lib'); } // Include project specific sources in the project/buildFiles/config/projectCode.conf $projectCode = realpath($argv[1]) . "/buildFiles/config/projectCode.conf"; echo "\n - Loading project code configuration from " . $projectCode . "\n"; include $projectCode; }
* @author alxmsl */ // Проверка ОДЗ логина пользователя $login = filter_var($_POST['login'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => '/[a-z]{1,5}/']]); if ($login === false) { return ['error' => 'invalid login value']; } // Проверка ОДЗ на пароль пользователя $password = filter_var($_POST['password'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => '/[A-z0-9]{5,32}/']]); if ($password === false) { return ['error' => 'invalid password value']; } includeModule('authorizer'); $userId = authorizer_check($login, $password); if ($userId > 0) { includeModule('profile'); $profile = profile_get($userId); if ($profile !== false) { /** * Если авторизация прошла успешно, получаем профиль пользвоателя и сохраняем его в сессию * В сессию сохраняются только данные профиля - относительно публичные. Данные авторайзера хранятся только в БД */ session_start(); $_SESSION['profile'] = $profile; return ['completed' => true]; } else { return ['error' => 'user data unavailable']; } } else { switch ($userId) { case -1:
<?php /** * Метод API получения баланса системы * @author alxmsl */ includeModule('balance'); return ['balance' => balance_get()];