예제 #1
0
파일: initialize.php 프로젝트: syqs/Cosmo
require_once 'Cosmo.class.php';
$Cosmo = new Cosmo($pdo, $prefix, $salt);
session_start();
// Initialize variables
$angularModules = '';
$directives = array();
$classes = '';
$minifyScripts = 'min/?f=';
$minifyCSS = 'min/?f=';
$scripts = '';
$CSS = '';
$developerMode = FALSE;
// Log user in if they have a cookie
if (isset($_COOKIE['usersID']) && $_COOKIE['usersID'] && $_COOKIE['token']) {
    // Validate token
    if ($Cosmo->tokensRead($_COOKIE['usersID'], $_COOKIE['token'])) {
        $usersID = $_COOKIE['usersID'];
        $username = $_COOKIE['username'];
        $roleRecord = $Cosmo->usersRead($usersID);
        $role = $roleRecord['role'];
        // Delete one-use token, issue a new one
        // todo: fix this so it doesn't break every refresh
        //$Cosmo->tokensDelete($username, $_COOKIE['token']);
        //$token = $Cosmo->tokensCreate($username);
        $token = $_COOKIE['token'];
        //setcookie('token', $token, time()+60*60*24*90); // Set cookie to expire in 90 days
        $minifyScripts .= FOLDER . "core/js/3rd-party/angular-file-upload-shim.min.js,";
        // Breaks IE9, so only load it for admins
    }
}
// Load official Angular files
예제 #2
0
파일: api.php 프로젝트: andrelotto/Cosmo
 */
require_once 'autoload.php';
require_once 'Cosmo.class.php';
$Cosmo = new Cosmo($pdo, $prefix, $salt);
$method = $_SERVER['REQUEST_METHOD'];
# GET, POST, PUT, or DELETE
$uri = substr($_SERVER['REQUEST_URI'], 5 + strlen(FOLDER));
# remove '/api/' and prefix - (strlen($prefix) +)
$uri = explode('?', $uri);
// Separate GET parameters
$segments = explode('/', $uri[0]);
$HTTPHeaderCode = 200;
$role = '';
// Check permissions for autorized requests
if (isset($_SERVER['HTTP_USERSID']) && $_SERVER['HTTP_USERSID'] && isset($_SERVER['HTTP_TOKEN']) && $_SERVER['HTTP_TOKEN']) {
    if ($Cosmo->tokensRead($_SERVER['HTTP_USERSID'], $_SERVER['HTTP_TOKEN'])) {
        $usersID = $_SERVER['HTTP_USERSID'];
        $username = $_SERVER['HTTP_USERNAME'];
        $roleRecord = $Cosmo->usersRead($usersID);
        $role = $roleRecord['role'];
    }
}
function checkPermissions($action, $publishedStatus = null, $url = null)
{
    global $Cosmo;
    global $username;
    global $role;
    // Admins can do anything. Skip permission checking
    if ($role === 'admin') {
        return true;
    }