/** * Assemble URL from string * * This function will convert string in format ?route=name[¶m=value...] to * URL based on route and params. Route paremeter is required * * @param string $string * @return null */ function assemble_from_string($string) { $params = parse_string(substr($string, 1)); $route = array_var($params, 'route'); if (empty($route)) { use_error('RouteNotDefinedError'); return new RouteNotDefinedError($route); } // if unset($params['route']); return assemble_url($route, $params); }
/** * Smarty tag for [[ title ]]. * * @param array $params * @param object $smarty */ function smarty_title($params, &$smarty) { $vars = $smarty->get_template_vars(); $title = parse_string($vars['title']); // If 'strip=1', we strip html tags from the title. if ($params['strip'] == 1) { $title = strip_tags($title); } return entifyAmpersand($title); }
/** * Sets data that is common to every view */ protected function _load_data() { $data = array(); $data['app_title'] = $this->config->item('app_title', 'application'); $data['page_title'] = $this->title; $data['title'] = parse_string($this->config->item('title_format', 'application'), array('app_title' => $this->config->item('app_title', 'application'), 'page_title' => $this->title)); $data['meta'] = $this->meta; $data['css'] = $this->css; $data['js'] = $this->js; $data['uri_string'] = implode('-', $this->uri->rsegment_array()); $data['is_homepage'] = $data['uri_string'] === 'application-index'; $this->data = array_merge($data, $this->data); }
/** * Authenticate * * @param void * @return null */ function authenticate() { $provider_class = AUTH_PROVIDER; use_auth_provider($provider_class); if (!class_exists($provider_class)) { use_error('ClassNotImplementedError'); return new ClassNotImplementedError($provider_class); } // if $provider = new $provider_class(); if (!instance_of($provider, 'AuthenticationProvider')) { return new InvalidInstanceError('provider', $provider, 'AuthenticationProvider'); } // if $manager =& Authentication::instance($provider, false); $token = false; if (FORCE_QUERY_STRING) { if (ANGIE_QUERY_STRING) { $query_string_aprams = parse_string(ANGIE_QUERY_STRING); if (isset($query_string_aprams['token'])) { $token = $query_string_aprams['token']; } // if } // if } else { $token = isset($_GET['token']) ? $_GET['token'] : false; } // if // Handle token based authentication if ($token !== false) { // Die if disabled or read-only with POST parameters if (API_STATUS == API_DISABLED || API_STATUS == API_READ_ONLY && count($_POST) > 0) { header('HTTP/1.1 403 Forbidden'); print "<h1>HTTP/1.1 403 Forbidden</h1>\n"; if (API_STATUS == API_DISABLED) { print '<p>API is disabled</p>'; } else { print '<p>API is read-only</p>'; } // if die; } // if // Get token and auth_id (old and new API key formats are supported) if (strpos($token, '-') !== false) { list($auth_id, $token) = explode('-', $token); } else { $auth_id = array_var($_GET, 'auth_id'); } // if $user = null; if ($auth_id) { $user = Users::findById($auth_id); } // if if (instance_of($user, 'User') && $user->getToken() == $token) { $manager->provider->logUserIn($user, array('silent' => true)); return true; } else { header('HTTP/1.1 403 Forbidden'); print '<h1>HTTP/1.1 403 Forbidden</h1>'; die; } // if } // if $manager->provider->initialize(); return true; }
case 5: $skillsdata['linhas'][$l][$i] = parse_int32($data, $lastlen); $lastlen += 4; break; case 6: $skillsdata['linhas'][$l][$i] = parse_int32($data, $lastlen); $lastlen += 4; break; case 7: $skillsdata['linhas'][$l][$i] = parse_hexcolor($data, $lastlen); $lastlen += 4; break; case 8: $slen = parse_int32($data, $lastlen) * 2; $lastlen += 4; $skillsdata['linhas'][$l][$i] = parse_string($data, $lastlen, $slen); $lastlen += $slen; break; case 9: $skillsdata['linhas'][$l][$i] = parse_int32($data, $lastlen); $lastlen += 4; break; case 11: $skillsdata['linhas'][$l][$i] = parse_int64($data, $lastlen); $lastlen += 8; break; case 12: $skillsdata['linhas'][$l][$i] = parse_int($data, $lastlen); $lastlen += 1; break; }
function todo_update() { global $_TODO_FILENAME, $txt; $texts = $txt['update']; //Si l'utilisateur a le droit de mettre à jour et d'ajouter if (is_allowed_to('update') && is_allowed_to('push')) { //Vérification des arguments if (isset($_POST['id']) && !empty($_POST['objective']) && isset($_POST['state'])) { //Index réel de l'objectif $index = $_POST['id'] - 1; //Récupération de la liste dans le bon ordre $arr = array_reverse(todo_list_get()); //Vérification de l'existence de l'objectif if (count($arr) > $index && $index >= 0) { //Réécriture de l'entrée $state = $_POST['state'] == $txt['value_done'] ? $txt['todo_done'] : ($_POST['state'] == $txt['value_important'] ? $txt['todo_important'] : ''); $arr[$index] = $state . parse_string($_POST['objective']) . strftime($texts['edit_time_format'], time()); $f = fopen($_TODO_FILENAME, 'wb'); fwrite($f, implode("\n", $arr) . "\n"); fclose($f); //Information du succès log_write($texts['log'] . $index); show_title($texts['title']); begin_page($texts['head'], $texts['class']); echo $texts['message']; end_page(); return; } } //En cas de non validation des conditions précédentes error_display($texts, false); } else { error_display($texts, true); } }