本文整理汇总了PHP中session_get函数的典型用法代码示例。如果您正苦于以下问题:PHP session_get函数的具体用法?PHP session_get怎么用?PHP session_get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了session_get函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_deplacer_saisie_dist
/**
* Action de déplacement de saisies dans le constructeur de formulaires
*
* @return void
**/
function action_deplacer_saisie_dist()
{
include_spip('inc/session');
$session = _request('session');
$identifiant = _request('saisie');
$ou = _request('ou');
// On récupère le formulaire à son état actuel
$formulaire_actuel = session_get($session);
if (!$formulaire_actuel) {
return '';
}
include_spip('inc/saisies');
$saisies_actuelles = saisies_lister_par_identifiant($formulaire_actuel);
if (!isset($saisies_actuelles[$identifiant])) {
return '';
}
// tester @id et [@id] (fieldset)
if ($ou and !isset($saisies_actuelles[$ou]) and !isset($saisies_actuelles[substr($ou, 1, -1)])) {
return '';
}
// on deplace ou c'est demande...
$formulaire_actuel = saisies_deplacer($formulaire_actuel, $identifiant, $ou);
// On sauve tout ca
$formulaire_actuel = session_set($session, $formulaire_actuel);
}
示例2: form_validate
/**
* Form token validation
* @param array $validations The array of validation rules
* @return void
*/
function form_validate($validations = null)
{
if (!isset($_POST['lc_formToken_' . _cfg('formTokenName')])) {
Validation::addError('', _t('Invalid form token.'));
return false;
}
$token = _decrypt(session_get(_cfg('formTokenName')));
$postedToken = _decrypt(_post($_POST['lc_formToken_' . _cfg('formTokenName')]));
$result = false;
# check token first
if ($token == $postedToken) {
# check referer if it is requesting in the same site
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] && _cfg('siteDomain')) {
$siteDomain = _cfg('siteDomain');
$siteDomain = preg_replace('/^www\\./', '', $siteDomain);
$parsedURL = parse_url($_SERVER['HTTP_REFERER']);
$parsedURL['host'] = preg_replace('/^www\\./', '', $parsedURL['host']);
if (strcasecmp($siteDomain, $parsedURL['host']) == 0) {
$result = true;
}
}
}
if ($result == false) {
Validation::addError('', _t('Error occured during form submission. Please refresh the page to try again.'));
return false;
}
if ($validations && Validation::check($validations) === false) {
return false;
}
return true;
}
示例3: XedReplaceForm
function XedReplaceForm()
{
parent::MailForm();
$this->parseSettings('inc/app/xed/forms/replace/settings.php');
$this->widgets['find']->setValue(session_get('xed_source_find'));
$this->widgets['replace']->setValue(session_get('xed_source_replace'));
}
示例4: formulaires_editer_champs_extras_traiter_dist
function formulaires_editer_champs_extras_traiter_dist($objet, $redirect = '')
{
$retour = array('redirect' => $redirect);
$table = table_objet_sql($objet);
include_spip('inc/iextras');
$saisies = iextras_champs_extras_definis($table);
$nouvelles_saisies = session_get('constructeur_formulaire_champs_extras_' . $table);
$diff = saisies_comparer_par_identifiant($saisies, $nouvelles_saisies);
$extras = array();
include_spip('inc/cextras');
// supprimer les champs supprimes
champs_extras_supprimer($table, $diff['supprimees']);
// ajouter les nouveaux champs;
champs_extras_creer($table, $diff['ajoutees']);
// modifier les champs modifies;
if ($diff['modifiees']) {
$anciennes = saisies_lister_par_identifiant($saisies);
$anciennes = array_intersect_key($anciennes, $diff['modifiees']);
champs_extras_modifier($table, $diff['modifiees'], $anciennes);
}
# champs_extras_modifier($table, # modifiees nouvelles, # modifiees anciennes);
ecrire_meta("champs_extras_" . $table, serialize($nouvelles_saisies));
$retour['message_ok'] = 'Super !';
return $retour;
}
示例5: testSessions
public function testSessions()
{
$expected = "Session var " . rand();
session_set('my_sess_var', $expected);
$session_var = session_get('my_sess_var');
$this->assertEquals($session_var, $expected);
}
示例6: inc_forum_insert_dist
/**
* Un parametre permet de forcer le statut (exemple: plugin antispam)
*
* http://code.spip.net/@inc_forum_insert_dist
*
* @param $objet
* @param $id_objet
* @param $id_forum
* en reponse a
* @param null $force_statut
* @return bool
*/
function inc_forum_insert_dist($objet, $id_objet, $id_forum, $force_statut = null)
{
if (!in_array($force_statut, array('privrac', 'privadm'))) {
if (!strlen($objet) or !intval($id_objet)) {
spip_log("Erreur insertion forum sur objet='{$objet}', id_objet={$id_objet}", 'forum.' . _LOG_ERREUR);
return 0;
}
}
spip_log("insertion de forum {$force_statut} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
include_spip('inc/filtres');
include_spip('inc/modifier');
include_spip('inc/session');
$champs = objet_info('forum', 'champs_editables');
$c = collecter_requests($champs, array());
$c['statut'] = 'off';
$c['objet'] = $objet;
$c['id_objet'] = $id_objet;
$c['auteur'] = sinon(session_get('nom'), session_get('session_nom'));
$c['email_auteur'] = sinon(session_get('email'), session_get('session_email'));
$c = pipeline('pre_edition', array('args' => array('table' => 'spip_forum', 'id_objet' => $id_forum, 'action' => 'instituer'), 'data' => forum_insert_statut($c, $force_statut)));
$id_reponse = forum_insert_base($c, $id_forum, $objet, $id_objet, $c['statut'], _request('ajouter_mot'));
if (!$id_reponse) {
spip_log("Echec insertion forum sur {$objet} {$id_objet} (+{$id_forum})", 'forum.' . _LOG_ERREUR);
} else {
spip_log("forum insere' {$id_reponse} sur {$objet} {$id_objet} (+{$id_forum})", 'forum');
}
return $id_reponse;
}
示例7: cms_alert
/**
* Shows a notice (e.g., "Item deleted.") if one is set.
*/
function cms_alert()
{
if (!cms_is_alert()) {
return '';
}
$notice = session_get('sitellite_alert');
session_set('sitellite_alert', null);
return template_simple('alert.spt', array('msg' => $notice));
}
示例8: restoreFromSession
static function restoreFromSession()
{
if (($message = session_get('flashMessage')) && ($type = session_get('flashMessageType'))) {
$GLOBALS['flashMessage'] = $message;
// Already has a trailing <br/>
$GLOBALS['flashMessageType'] = $type;
session_unsetVariable('flashMessage');
session_unsetVariable('flashMessageType');
}
}
示例9: isLogin
private static function isLogin()
{
if (!($userid = session_get('USERID'))) {
if (Request::isAjax()) {
exit(json_encode(array('code' => -1, 'msg' => 'please login')));
} else {
exit(app::run(array('home', 'page', 'login')));
}
}
return $userid;
}
示例10: set
/**
The permission engine.
This function decides wether a specific function is allowed or not
depending the rights of the current user.
@param $dir Directory in which the action should happen. If this parameter is
NULL the engine relys on the global permissions of the user.
@param $file File on which the action should happen, if this parameter is NULL
the permission engine relys on the permission of the directory.
@param $action
One ore more action of the action set (see permissions_get) which sould
be exectuted.
More actions are seperated by a &.
Example:
"read&write&password" grants only if user has all three permissions
@return true if the action is granted, false otherwise
@remarks Until now the permission engine does not support directory or
file based actions, so only the global actions are treated. The paramers
$dir and $file are ignored. This is for later use. However, if possible,
provide the $dir and $file parameters so the code does not have to
be chaned if the permission engine will support this features in
the future.
*/
function permissions_grant($dir, $file, $action)
{
// determine if a user has logged in
$user = session_get("s_user");
// if no user is logged in, use the global permissions
if (!isset($user)) {
return permissions_global($dir, $file, $action);
}
// check if the user currently logged in has the given rights
return permissions_grant_user($user, $dir, $file, $action);
}
示例11: notifications_forumvalide_dist
/**
* Cette notification s'exécute quand on valide un message 'prop'osé.
*
* On va notifier ceux qui ne l'ont
* pas été à la notification forumposte (sachant que les deux peuvent se
* suivre si le forum est validé directement ('pos' ou 'abo')
*
* @pipeline_appel notifications_destinataires
* @see inc/forum_insert.php
*
* @param string $quoi
* @param int $id_forum
* @param array $options
*/
function notifications_forumvalide_dist($quoi, $id_forum, $options)
{
$t = sql_fetsel("*", "spip_forum", "id_forum=" . intval($id_forum));
if (!$t or @$t['statut'] == 'perso') {
return;
}
// plugin notification si present
$prevenir_auteurs = isset($GLOBALS['notifications']['prevenir_auteurs']) and $GLOBALS['notifications']['prevenir_auteurs'];
// sinon voie normale
if ($t['objet'] == 'article' and !$prevenir_auteurs) {
$s = sql_getfetsel('accepter_forum', 'spip_articles', "id_article=" . $t['id_objet']);
if (!$s) {
$s = substr($GLOBALS['meta']["forums_publics"], 0, 3);
}
$prevenir_auteurs = (strpos(@$GLOBALS['meta']['prevenir_auteurs'], ",{$s},") !== false or @$GLOBALS['meta']['prevenir_auteurs'] === 'oui');
// compat
}
include_spip('inc/texte');
include_spip('inc/filtres');
include_spip('inc/autoriser');
include_spip('inc/session');
// Qui va-t-on prevenir ?
$tous = array();
// Ne pas ecrire au posteur du message, ni au moderateur qui valide le forum,
$pasmoi = array_filter(array($t['email_auteur'], session_get('email')));
// 1. Les auteurs de l'objet lie au forum
// seulement ceux qui n'ont
// pas le droit de le moderer (les autres l'ont recu plus tot)
if ($prevenir_auteurs) {
$result = sql_select("auteurs.*", "spip_auteurs AS auteurs, spip_auteurs_liens AS lien", "lien.objet=" . sql_quote($t['objet']) . " AND lien.id_objet=" . intval($t['id_objet']) . " AND auteurs.id_auteur=lien.id_auteur");
while ($qui = sql_fetch($result)) {
if ($qui['email']) {
if (!autoriser('modererforum', $t['objet'], $t['id_objet'], $qui['id_auteur'])) {
$tous[] = $qui['email'];
} else {
$pasmoi[] = $qui['email'];
}
}
}
}
$options['forum'] = $t;
$destinataires = pipeline('notifications_destinataires', array('args' => array('quoi' => $quoi, 'id' => $id_forum, 'options' => $options), 'data' => $tous));
// Nettoyer le tableau
// en enlevant les exclus
notifications_nettoyer_emails($destinataires, $pasmoi);
//
// Envoyer les emails
//
$email_notification_forum = charger_fonction('email_notification_forum', 'inc');
foreach ($destinataires as $email) {
$texte = $email_notification_forum($t, $email);
notifications_envoyer_mails($email, $texte);
}
}
示例12: action_actionner_dist
/**
* Action effectuant 1 action dans la liste des actions à réaliser
* sur les plugins.
*
* Cette action sera relancée tant qu'il reste des actions à faire
*/
function action_actionner_dist()
{
// droits
include_spip('inc/autoriser');
if (!autoriser('configurer', '_plugins')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
include_spip('inc/svp_actionner');
include_spip('inc/headers');
$actionneur = new Actionneur();
$actionneur->get_actions();
if ($actionneur->one_action()) {
// si SVP a été enlevé des actifs, on redirige sur la fin...
// sinon cette page d'action/actionner devient introuvable.
// dans ce cas précis, les autres actions prévues venant après la desactivation de SVP
// ne pourront être traitees... SVP n'étant plus là !
if ($actionneur->tester_si_svp_desactive()) {
$url = _request('redirect');
} else {
$url = generer_action_auteur('actionner', '', _request('redirect'));
}
// en mode pas à pas, on affiche un bilan entre chaque action
// et on demande a l'utilistateur de cliquer pour realiser
// l'action suivante.
include_spip('inc/config');
if (lire_config('svp/mode_pas_a_pas') == 'oui') {
include_spip('inc/minipres');
$pres = $actionneur->presenter_actions();
$btn = "<a href='{$url}'>[ Action Suivante ]</a>";
$styles = "\n\t\t\t\t<style type='text/css'>\n\t\t\t\t#minipres #actionner .fail {color:#c30000;}\n\t\t\t\t#minipres #actionner ul {margin-left: 0.5em;}\n\t\t\t\t#minipres #actionner li {list-style-type:square; margin-left: 0.5em;}\n\t\t\t\t</style>";
echo minipres(_T('svp:installation_en_cours'), $pres . '<br /><br />' . $btn . $styles);
die;
}
redirige_par_entete(str_replace('&', '&', $url));
}
foreach ($actionneur->done as $done) {
if ($done['todo'] == 'on') {
if ($voir = session_get('svp_admin_plugin_voir') and $voir == 'inactif') {
session_set('svp_admin_plugin_voir', 'actif');
}
break;
}
}
include_spip('inc/svp_depoter_local');
svp_actualiser_paquets_locaux();
if (!_request('redirect')) {
$GLOBALS['redirect'] = generer_url_ecrire('admin_plugin');
} else {
$GLOBALS['redirect'] = str_replace('&', '&', _request('redirect'));
}
}
示例13: verifyCSRF
/**
* ### Verifies the given CSRF-Token against the session token
*
* @return bool
*/
public static function verifyCSRF()
{
if (getenv('CSRF_EVERYWHERE')) {
$given = Input::get('csrf-token');
$set = session_get('csrf_token');
if ($given === $set) {
return true;
}
} else {
return true;
}
return false;
}
示例14: action_remplir_panier
/**
* Surcharge plugin panier/action/remplir_panier.php
* ajout du numéro de départ d'abonnement
*/
function action_remplir_panier($arg = null)
{
if (is_null($arg)) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
// le numero en cours
$num_encours = sql_fetsel("reference", "spip_produits", "statut = 'publie' AND id_rubrique = '2' AND reference LIKE '%v%'", "", "reference DESC");
$num_encours = str_replace("v", "", $num_encours);
// On récupère les infos de l'argument
@(list($objet, $id_objet, $quantite, $numero) = explode('-', $arg));
if ($objet == 'produit') {
$numero = '-1';
}
if ($objet == 'abonnement') {
if (intval($numero) <= 0) {
$numero = intval($num_encours);
if (_DEBUG_VACARME) {
spip_log("action remplir panier {$objet} {$id_objet} {$numero} : numero inférieur ou égal à zéro", 'vacarme_debug');
}
}
}
$id_objet = intval($id_objet);
$quantite = intval($quantite) ? intval($quantite) : 1;
// Il faut cherche le panier du visiteur en cours
include_spip('inc/session');
$id_panier = session_get('id_panier');
// S'il n'y a pas de panier, on le crée
if (!$id_panier) {
include_spip('inc/paniers');
$id_panier = paniers_creer_panier();
}
// On ne fait que s'il y a bien un panier existant et un objet valable
if ($id_panier > 0 and $objet and $id_objet and $numero) {
// Il faut maintenant chercher si cet objet précis est *déjà* dans le panier
$quantite_deja = intval(sql_getfetsel('quantite', 'spip_paniers_liens', array('id_panier = ' . $id_panier, 'objet = ' . sql_quote($objet), 'id_objet = ' . $id_objet, 'numero =' . $numero)));
//spip_log('quantite deja ='.$quantite_deja,'ajoutpanier');
// Si on a déjà une quantité, on fait une mise à jour
if ($quantite_deja > 0) {
sql_updateq('spip_paniers_liens', array('quantite' => $quantite_deja + $quantite), 'id_panier = ' . $id_panier . ' and objet = ' . sql_quote($objet) . ' and id_objet = ' . $id_objet . ' and numero = ' . $numero);
} else {
sql_insertq('spip_paniers_liens', array('id_panier' => $id_panier, 'objet' => $objet, 'id_objet' => $id_objet, 'quantite' => $quantite, 'numero' => $numero));
}
// le numéro de départ d'un abonnement
/*if ($objet == 'abonnement') {
sql_updateq('spip_paniers_liens',array('numero' => $numero),'id_panier = '.$id_panier.' and id_objet ='.$id_objet);
}*/
// Mais dans tous les cas on met la date du panier à jour
sql_updateq('spip_paniers', array('date' => 'NOW()'), 'id_panier = ' . $id_panier);
}
}
示例15: session_restore_messages
function session_restore_messages()
{
if (!session_exists()) {
return false;
}
$messages = session_get('wfpl_messages');
if ($messages !== false) {
$messages = string_to_array($messages);
if (!(isset($GLOBALS['wfpl_messages']) && is_array($GLOBALS['wfpl_messages']))) {
$GLOBALS['wfpl_messages'] = array();
}
# messages from the previous run happened first
$GLOBALS['wfpl_messages'] = array_merge($messages, $GLOBALS['wfpl_messages']);
}
session_clear('wfpl_messages');
}