Example #1
0
/**
 * Wing loader
 */
function loader()
{
    $_SERVER['REQUEST_URI'] = strtolower($_SERVER['REQUEST_URI']);
    if (preg_match('/.php/', $_SERVER['REQUEST_URI'])) {
        $GLOBALS['request'] = mb_substr($_SERVER['REQUEST_URI'], stripos($_SERVER['REQUEST_URI'], '.php') + 4);
    } else {
        $GLOBALS['request'] = $_SERVER['REQUEST_URI'];
    }
    $GLOBALS['request'] = explode('/', $GLOBALS['request']);
    if (@(!$GLOBALS['request'][1])) {
        $GLOBALS['request'][1] = 'home';
    }
    if (@(!$GLOBALS['request'][2])) {
        $GLOBALS['request'][2] = '_';
    }
    if (@(!$GLOBALS['request'][3])) {
        $GLOBALS['request'][3] = '0';
    }
    file_exists(APP_CONTROL . "/{$GLOBALS['request'][1]}.php") or error_404("Control {$GLOBALS['request'][1]} not exists.");
    require APP_CONTROL . "/{$GLOBALS['request'][1]}.php";
    $GLOBALS['request'][1] = ucfirst($GLOBALS['request'][1]);
    $control = new $GLOBALS['request'][1]();
    if (method_exists($control, $GLOBALS['request'][2])) {
        $control->{$GLOBALS}['request'][2]($GLOBALS['request'][3]);
    } else {
        method_exists($control, '__') or die("Method {$GLOBALS['request'][2]} not exists.");
        $control->__($GLOBALS['request'][2]);
    }
}
function api_keys_utils_get_from_url($more = array())
{
    $defaults = array('allow_disabled' => 0, 'ensure_isown' => 1);
    $more = array_merge($defaults, $more);
    $api_key = request_str("api_key");
    # OAuth2 section 2.2 ...
    if (!$api_key) {
        $api_key = request_str("client_id");
    }
    if (!$api_key) {
        error_404();
    }
    $key_row = api_keys_get_by_key($api_key);
    if (!$key_row) {
        error_404();
    }
    if ($key_row['deleted']) {
        error_410();
    }
    if ($more['ensure_isown']) {
        if ($key_row['user_id'] != $GLOBALS['cfg']['user']['id']) {
            error_403();
        }
    }
    if (!$more['allow_disabled']) {
        if ($key_row['disabled']) {
            error_403();
        }
    }
    return $key_row;
}
Example #3
0
 static function route()
 {
     $url = explode('?', $_SERVER['REQUEST_URI']);
     $path = mb_strtolower($url[0]);
     while (substr($path, -1) == '/') {
         $path = mb_substr($path, 0, mb_strlen($path) - 1);
     }
     $path_components = explode('/', $path);
     //default actions are called 'index'
     $action = "index";
     //Handle home page requests
     if (count($path_components) == 1) {
         router::perform_controller_action("home", $action, array(), array());
     }
     //Loop through all the routes we defined in route.php, and try to find one that matches our request
     foreach ($GLOBALS['routes'] as $route => $controller) {
         $route_components = explode("/", $route);
         $action = "index";
         $i = 0;
         $objects = array();
         $goodRoute = true;
         $path_components = array_pad($path_components, count($route_components), '');
         $parameters = array();
         //Handle routes that call a specific action
         $controller_action_array = explode(":", $controller);
         $controller = $controller_action_array[0];
         if (count($controller_action_array) == 2) {
             $action = $controller_action_array[1];
         }
         //Loop through each component of this route until we find a part that doesn't match, or we run out of url
         foreach ($route_components as $route_component) {
             //This part of the route is a named parameter
             if (substr($route_component, 0, 1) == ":") {
                 $parameters[substr($route_component, 1)] = $path_components[$i];
                 //This part of the route is an action for a controller
             } elseif ($route_component == "[action]") {
                 if ($path_components[$i] != "") {
                     $action = str_replace("-", "_", $path_components[$i]);
                 }
                 //This part of the route will require that we create an object
             } elseif (substr($route_component, 0, 1) == "(" && substr($route_component, -1, 1) == ")") {
                 $reflection_obj = new ReflectionClass(substr($route_component, 1, strlen($route_component) - 2));
                 $object = $reflection_obj->newInstanceArgs(array($path_components[$i]));
                 $objects[] = $object;
                 //Part of the url that isn't an action or an object didn't match, this definitely isn't the right route
             } elseif ($route_component != $path_components[$i] && str_replace("-", "_", $route_component) != $path_components[$i]) {
                 //echo "Bad match: ".str_replace("-","_",$route_component)." != ".$path_components[$i]."<br />";
                 $goodRoute = false;
                 break;
             }
             $i++;
         }
         //This route is a match for our request, let's get the controller working on it
         if ($goodRoute && ($i >= count($path_components) || $path_components[$i] == "")) {
             router::perform_controller_action($controller, $action, $objects, $parameters);
         }
     }
     error_404();
 }
 function json($data)
 {
     if (!count($data) > 0) {
         error_404();
     } else {
         header('Content-type: text/html');
         echo json_encode($data);
     }
 }
Example #5
0
/**
 * Display a page if the file exists, otherwise displays a 404.
 *
 * @param string $sPage The page.
 * @return void
 */
function get_page($sPage)
{
    if (is_file($sPage)) {
        $sPage = file_get_contents($sPage);
        echo parse_var($sPage);
    } else {
        // Set the Not Found page
        error_404();
    }
}
Example #6
0
 public function index($id, $name)
 {
     $vars =& $this->data;
     $cultivo = Doctrine::getTable('Cultivo')->find($id);
     if (!$cultivo) {
         error_404('No tenemos informacion acerca de ese cultivo');
     } else {
         $vars['cultivo'] =& $cultivo;
     }
     $this->load->view('components/ficha', $vars);
 }
Example #7
0
/**
 * Encuentra el controlador que mapea
 * @param type $controladores
 * @return type 
 */
function mapping_controller($controladores, $uriapp = NULL)
{
    $mapea = FALSE;
    //Recorre todos los controladores hasta que uno coincida con la URI actual
    foreach ($controladores as $controlador_esp) {
        //Analiza si el controlador mapea con la uri actual
        $mapea = maps_actual_url($controlador_esp['url'], $uriapp);
        if ($mapea) {
            return $controlador_esp;
        }
    }
    //si ningun controlador mapeo avisa el problema
    if (!$mapea) {
        error_404();
    }
}
Example #8
0
 /**
  * 进行路由方法请求
  *
  * @param string $op 执行方法
  * @param string $namespaces 命名空间
  */
 public static function runController($controllerName, $op, $namespaces)
 {
     $class = $namespaces . $controllerName;
     //实例化controller
     $controller = new $class();
     //验证方法是否存在
     if (method_exists($controller, $op) == FALSE) {
         error_404();
     }
     //验证通过,执行方法
     $controller->{$op}();
     //记录路由日志
     $msg = 'method:' . filter_input(INPUT_SERVER, 'REQUEST_METHOD') . ',url:' . filter_input(INPUT_SERVER, 'REQUEST_URI') . ',Http Status:' . filter_input(INPUT_SERVER, 'REDIRECT_STATUS');
     Log::info($msg);
     exit;
 }
Example #9
0
<?php

include "include/init.php";
features_ensure_enabled(array("api", "api_documentation"));
$default = $GLOBALS['cfg']['api']['default_format'];
$formats = $GLOBALS['cfg']['api']['formats'];
$format = get_str("format");
if (!$format) {
    error_404();
}
if (!in_array($format, $formats)) {
    error_404();
}
$GLOBALS['smarty']->assign("default", $default);
$GLOBALS['smarty']->assign("format", $format);
$GLOBALS['smarty']->display("page_api_format.txt");
exit;
Example #10
0
require CORE_PATH . '/db.php';
$db = new db();
if (isset($config['DB_DRIVER'])) {
    $db->set_driver($config['DB_DRIVER']);
}
if (isset($config['DB_PREFIX'])) {
    $db->prefix($config['DB_PREFIX']);
}
$db_host = $config['DB_HOST'] . (isset($config['DB_PORT']) ? ':' . $config['DB_PORT'] : '');
$db->setting($db_host, $config['DB_USER'], $config['DB_PSWD'], $config['DB_NAME']);
$script = APP_PATH . 'action/' . MODULE . 'Action.php';
if (!file_exists($script)) {
    error_404('Can not find the action ' . MODULE . 'Action.php');
} else {
    require $script;
    $class = MODULE . 'Action';
    $method = ACTION;
    if ($method != $class) {
        $run = new $class();
        if (is_callable(array($run, $method))) {
            $run->{$method}();
        } else {
            error_404("Call to undefined method({$method}) in the class({$class})");
        }
    } else {
        error("The action name({$method}) must be not the same as the module name({$class})");
    }
}
if ($db->conn) {
    $db->close();
}
Example #11
0
function error_404($message)
{
    include ROOT . '/public/tpl/error_404.html.php';
    exit;
}
//+---------------------------------------------------------------
//| 实例化默认需要加载的类
//+---------------------------------------------------------------
__autoload('mysql');
__autoload('common');
$db = new common();
//+---------------------------------------------------------------
//| 模块加载
//+---------------------------------------------------------------
$a = $db->get('a') == '' ? 'index' : $db->get('a');
$a_file = ROOT . '/' . APP . '/' . $a . '.php';
if (!file_exists($a_file)) {
    error_404('The requested page was not found on this server!');
    // 模块操作文件找不到
} else {
    // 开启缓冲
    ob_start();
    // 加载模块操作文件
    require_once $a_file;
    $content = '';
    $content = ob_get_contents();
    // 清空(擦除)缓冲区并关闭输出缓冲
    ob_end_clean();
    // 输出内容
    echo $content;
}
Example #12
0
 /**
  * 获取路由数组
  * @return type
  */
 private static function getRouteArray()
 {
     //获取请求URL
     $requestUrl = ltrim(rtrim($_SERVER['REQUEST_URI'], '/'), '/');
     //处理特殊情况,去掉index.php/
     if (substr($requestUrl, 0, 9) == 'index.php') {
         $requestUrl = substr($requestUrl, 10);
     }
     //去除?以后的所有参数
     $requestUrl = String::urlSafetyFilter($requestUrl);
     $requestUrlArr = explode('?', $requestUrl);
     //处理请求URL
     $requestUrlArr = explode('/', $requestUrlArr[0]);
     if (count($requestUrlArr) == 0) {
         error_404();
     }
     $requestUrlArr = self::secondDomainFilter($requestUrlArr);
     return $requestUrlArr;
 }
Example #13
0
 private function _init_mod($options = array())
 {
     $mod_default = $options['mod_default'] ? $options['mod_default'] : 'index';
     $mod = $this->_g('mod');
     if (empty($mod)) {
         $mod = $mod_default;
     }
     if (!isset($this->var['config']['modules'][$mod]) && false == @file_exists($options['modules_path'] . $mod . '.mod.php')) {
         if ($options['mod_exit']) {
             error_404('mod ' . $mod . ' is not exists');
         } else {
             if ($mod) {
                 $this->var['mod_original'] = $_POST['mod_original'] = $_GET['mod_original'] = $mod;
                 $mod = 'topic';
             } else {
                 $mod = $mod_default;
             }
         }
     }
     define('CURMODULE', $mod);
     $this->var['mod'] = $_POST['mod'] = $_GET['mod'] = $mod;
     $this->var['code'] = $_POST['code'] = $_GET['code'] = $this->_g('code');
     return $mod;
 }
function flickr_users_get_by_url($error_404 = 1)
{
    $path = get_str("path");
    $nsid = get_str("nsid");
    if ($path && $GLOBALS['cfg']['enable_feature_path_alias_redirects']) {
        loadlib("flickr_users_path_aliases");
        $alias = flickr_users_path_aliases_get_by_alias($path);
        if ($alias && $alias['redirect_to']) {
            $new_path = urlencode($alias['redirect_to']);
            $redir = str_replace($path, $new_path, $_SERVER['REQUEST_URI']);
            header("location: {$redir}");
        }
    }
    if ($path) {
        $flickr_user = flickr_users_get_by_path_alias($path);
        # see also: notes in flickr_users_create_user()
        # see also: inc_path_alias_conflict.txt
        if ($flickr_user && $GLOBALS['cfg']['enable_feature_path_alias_redirects']) {
            $other_flickr_user = _flickr_users_get_by_path_alias($path);
            $other_user = users_get_by_id($other_flickr_user['user_id']);
            $GLOBALS['smarty']->assign("path_alias_conflict", 1);
            $GLOBALS['smarty']->assign_by_ref("path_alias_other_user", $other_user);
            $GLOBALS['smarty']->assign_by_ref("path_alias_other_flickr_user", $other_flickr_user);
        }
    } else {
        if ($nsid) {
            $flickr_user = flickr_users_get_by_nsid($nsid);
        }
    }
    if (!$flickr_user && $error_404) {
        error_404();
    }
    return $flickr_user;
}
Example #15
0
function users_ensure_valid_user_from_url($method = '')
{
    if (strtolower($method) == 'post') {
        $user_id = post_int64('user_id');
    } else {
        $user_id = get_int64('user_id');
    }
    if (!$user_id) {
        error_404();
    }
    $user = users_get_by_id($user_id);
    if (!$user || $user['deleted']) {
        error_404();
    }
    return $user;
}
<?php

$uri = $_SERVER['REQUEST_URI'];
$uri = explode('?', $uri)[0];
/*echo $uri;*/
$personal_uri = '/' . explode('/', $uri)[1] . '/' . explode('/', $uri)[2] . '/';
echo $personal_uri;
if ($uri == $personal_uri or $uri == $personal_uri . 'index.php') {
    $response = list_action();
} elseif ($uri == $personal_uri . 'index.php/admin') {
    $response = admin_action();
} elseif ($uri == $personal_uri . 'index.php/show') {
    $response = show_action($_REQUEST['id']);
} elseif ($uri == $personal_uri . 'index.php/remove') {
    $response = remove_action($_REQUEST['id']);
} elseif ($uri == $personal_uri . 'index.php/edit') {
    $response = edit_action($_REQUEST['id']);
} elseif ($uri == $personal_uri . 'index.php/add') {
    $response = add_action($_REQUEST['id']);
} elseif ($uri == $personal_uri . 'index.php/about') {
    $response = about_action();
} else {
    $response = error_404();
}
Example #17
0
if ($controllerNotExists) {
    error_404("Controller does not exists {$controller_path}");
} else {
    if ($controller === DEFAULT_CONTROLLER) {
        $controller_path = BASE_PATH . 'controllers' . DIRECTORY_SEPARATOR . $controller . '.php';
    }
    if (!file_exists($controller_path) && !is_dir($controller_path)) {
        error_404("Controller does not exists {$controller_path}");
    } else {
        if (is_dir($path)) {
            $dir = explode(DIRECTORY_SEPARATOR, $path);
            $dir = end($dir);
            if (isset($default_controllers[$dir])) {
                $controller = $default_controllers[$dir];
                $controller_path = $path . DIRECTORY_SEPARATOR . $controller . '.php';
            }
        }
    }
    require_once $controller_path;
    eval("\$controller_instance = new " . ucfirst($controller) . "();");
    if (!method_exists($controller_instance, $function)) {
        error_404("Function does not exists {$controller_path} method: {$function}");
    } else {
        call_user_func_array(array($controller_instance, $function), $params);
    }
}
function error_404($msg)
{
    echo $msg;
    die;
}
function load_page($page_name, array $params = array())
{
    $page_cfg = get_page_config($page_name);
    $page_path = get_page_path($page_name);
    if (!file_exists($page_path)) {
        return error_404($page_name, $params);
    }
    list($content, $template) = treat_file_by_extension($page_path, $params);
    if ($template) {
        settings('content', settings('pre_content', null, '') . $content);
        settings('subtitle', $page_name);
        $content = load_template($params);
    }
    return $content;
}
Example #19
0
 public function download($params = [])
 {
     //echo '<pre>'; print_r($params); echo '</pre>'; exit;
     $setups_map = ['NET' => ['setup-4.0.msi' => 'WinWrap-NET4.0-setup.msi'], 'WPF' => ['setup-4.0-wpf.msi' => 'WinWrap-WPF4.0-setup.msi'], 'AZW' => ['setup-4.0-azw.msi' => 'WinWrap-AZW4.0-setup.msi'], 'COM' => ['setup32.msi' => 'WinWrap-COM32-setup.msi', 'setup64.msi' => 'WinWrap-COM64-setup.msi']];
     $all = [];
     foreach ($setups_map as $setup_map) {
         $all += $setup_map;
     }
     //$setups_map['ALL'] = $all; // disable for now (1/8/15)
     // select the platform's setup_map
     $platform = $params['platform'];
     $setup_map = $setups_map[$platform];
     if (!isset($setup_map)) {
         error_404();
     }
     // select the evaluator
     $key = $params['key'];
     $evaluator = Evaluator::read_by_key($key);
     //Render::json($evaluator); exit; // debug
     $error = false;
     if (!isset($evaluator['id'])) {
         $error = 'Invalid evaluator key.';
     } else {
         if (Util2::expired($evaluator['agreement_date'], 60, $evaluator['expiration_date'])) {
             $error = 'Evaluation period has expired.';
         }
     }
     if ($error) {
         Render::html(Doc::by_name('message')['content'], ['title' => 'Download Request Failed', 'message' => $error]);
         return;
     }
     // create evaluator cerificate
     $readme = Template::render_doc_by_name('evaluate-readme');
     $certificate = new Certificate();
     $certificate->set_by_evaluator($evaluator, true);
     // add download record
     $version = file_get_contents(EVALDIR . 'version.txt');
     $model = ['evaluator_id' => $evaluator['id'], 'ip' => $_SERVER['REMOTE_ADDR'], 'platform' => $platform != 'ALL' ? $platform : implode(',', array_keys($setups_map)), 'version' => $version];
     $download = EvaluatorDownload::create($model);
     // create signed certificate
     $html = $certificate->sign();
     //Render::text($_SERVER['HTTP_HOST'] . SUBDIR . "\r\n" . $html); exit;
     // create a temporary file
     $path = tempnam("tmp", "zip");
     $zipname = 'WinWrap-Basic-Evaluation-' . $platform;
     $zip = new ZipArchive();
     $okay = $zip->open($path, ZipArchive::CREATE | ZipArchive::OVERWRITE);
     $okay |= $zip->addEmptyDir($zipname);
     $okay |= $zip->addFromString($zipname . '/readme.htm', $readme);
     $okay |= $zip->addFromString($zipname . '/Evaluation.htm', $html);
     $okay |= $zip->addFromString($zipname . '/version.txt', $version);
     foreach ($setup_map as $setup => $name) {
         $okay |= $zip->addFile(EVALDIR . $setup, $zipname . '/' . $name);
     }
     $okay |= $zip->close();
     if (!$okay) {
         Render::text("ZipArchive failed.");
         return;
     }
     //$contents = file_get_contents($path);
     //file_put_contents(TEMPDIR . 'x.zip', $contents);
     // send zip file
     if (true) {
         header('Cache-Control: max-age=288000');
         header('Content-Description: File Transfer');
         header('Content-Type: application/zip');
         //header("Content-Type: application/force-download");
         header('Content-Length: ' . filesize($path));
         header('Content-Transfer-Encoding: binary');
         header('Content-Disposition: attachment; filename="' . $zipname . '.zip"');
         ob_end_flush();
         readfile($path);
     }
     unlink($path);
     // set download date
     $update = ['download_date' => gmdate('Y-m-d')];
     EvaluatorDownload::update($update, $download['id']);
     // done
     exit;
 }
Example #20
0
<?
	include('include/init.php');

	#
	# fetch avatar
	#

	$id_enc = intval($_GET['id']);

	$avatar = db_single(db_fetch("SELECT * FROM glitchmash_avatars WHERE id='$id_enc'"));

	if (!$avatar['id']) error_404();

	$avatar['details'] = unserialize($avatar['details']);
	foreach ($avatar['details'] as $slot => $id){
		$clothing[$id]++;
	}


	#
	# fetch player
	#

	$tsid_enc = AddSlashes($avatar['player_tsid']);

	$avatar['player'] = db_single(db_fetch("SELECT * FROM glitchmash_players WHERE tsid='$tsid_enc'"));


	#
	# fetch all clothing rows
	#