本文整理汇总了PHP中redirige_par_entete函数的典型用法代码示例。如果您正苦于以下问题:PHP redirige_par_entete函数的具体用法?PHP redirige_par_entete怎么用?PHP redirige_par_entete使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了redirige_par_entete函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: exec_demande_mise_a_jour_dist
/**
* Demander à mettre à jour la base de données
*/
function exec_demande_mise_a_jour_dist()
{
// on fait la verif du path avant tout,
// et l'installation des qu'on est dans la colonne principale
// si jamais la liste des plugins actifs change, il faut faire un refresh du hit
// pour etre sur que les bons fichiers seront charges lors de l'install
include_spip('inc/plugin');
if (actualise_plugins_actifs()) {
include_spip('inc/headers');
redirige_par_entete(self());
}
include_spip('inc/presentation');
include_spip('inc/filtres_boites');
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page('', '', '', '', true, false, false);
echo debut_grand_cadre(true);
echo boite_ouvrir(_T('info_message_technique'), 'notice');
echo "<p>" . _T('info_procedure_maj_version') . "</p>", "<p>" . _T('info_administrateur_site_01') . "</p>";
echo bouton_action(_T('bouton_mettre_a_jour_base'), generer_url_ecrire("upgrade", "reinstall=non"));
echo boite_fermer();
// masquer les erreurs sql sur cette page car proviennent de la base pas a jour !
echo '<style type="text/css">#debug-nav {display: none;}</style>';
echo fin_grand_cadre(true);
echo fin_page();
}
示例2: action_editer_mot_dist
function action_editer_mot_dist($arg=null)
{
if (is_null($arg)){
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
$id_mot = intval($arg);
$id_groupe = intval(_request('id_groupe'));
if (!$id_mot AND $id_groupe) {
$id_mot = sql_insertq("spip_mots", array('id_groupe' => $id_groupe));
}
// modifier le contenu via l'API
include_spip('inc/modifier');
$c = array();
foreach (array(
'titre', 'descriptif', 'texte', 'id_groupe'
) as $champ)
$c[$champ] = _request($champ);
revision_mot($id_mot, $c);
if ($redirect = _request('redirect')) {
include_spip('inc/headers');
redirige_par_entete(parametre_url(urldecode($redirect),
'id_mot', $id_mot, '&'));
} else
return array($id_mot,'');
}
示例3: action_configurer_dist
function action_configurer_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
# ceinture & bretelles, a priori le test dans exec_configurer
# suffit a empecher d'obtenir un hash qui passe le test ci-dessus
if(!autoriser('configurer', _request('configuration'))) {
include_spip('inc/minipres');
echo minipres(_T('info_acces_interdit'));
exit;
}
$r = rawurldecode(_request('redirect'));
$r = parametre_url($r, 'configuration', $arg,"&");
appliquer_modifs_config();
// Cette globale est fixee par appliquer_modifs_config();
// c'est un message a afficher dans l'exec de retour (relayeur si comme ici on est en ajax)
if ($arg == 'relayeur')
$r = parametre_url($r, 'retour_proxy', $GLOBALS['retour_proxy'],"&");
else if ($arg == 'langue') {
include_spip('inc/rubriques');
calculer_langues_rubriques();
}
if (_request('envoi_now')) cron(0, array('mail' => -1));
redirige_par_entete($r);
}
示例4: action_logout_dist
/**
* Se deloger
* Pour eviter les CSRF on passe par une etape de confirmation si pas de jeton,
* avec un autosubmit js pour ne pas compliquer l'experience utilisateur
*
* http://doc.spip.org/@action_logout_dist
*
*/
function action_logout_dist()
{
$logout =_request('logout');
$url = _request('url');
// seul le loge peut se deloger
// (mais id_auteur peut valoir 0 apres une restauration avortee)
if (isset($GLOBALS['visiteur_session']['id_auteur'])
AND is_numeric($GLOBALS['visiteur_session']['id_auteur'])
// des sessions anonymes avec id_auteur=0 existent,
// mais elles n'ont pas de statut : verifier ca aussi
AND isset($GLOBALS['visiteur_session']['statut'])) {
// relancer si pas de jeton
if (!action_logout_secu($logout, $url, _request('jeton'))) {
return; // page submit retournee
} elseif (isset($_COOKIE['spip_session'])) {
// le logout explicite vaut destruction de toutes les sessions
$session = charger_fonction('session', 'inc');
$session($GLOBALS['visiteur_session']['id_auteur']);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time()-3600);
}
include_spip('inc/auth');
auth_trace($GLOBALS['visiteur_session'],'0000-00-00 00:00:00');
}
// Action terminee (ou non faite si pas les droits) on redirige.
// Cas particulier, logout dans l'espace public
$url = securiser_redirect_action($url);
if ($logout == 'public' AND !$url)
$url = url_de_base();
include_spip('inc/headers');
redirige_par_entete($url
// contrer le cache navigateur (Safari3)
? parametre_url($url, 'var_hasard', uniqid(rand()), '&')
: generer_url_public('login'));
}
示例5: action_autoriser_dist
function action_autoriser_dist()
{
$arg = intval(_request('arg'));
if (!autoriser('voir', 'document', $arg) or !($row = sql_fetsel("fichier", "spip_documents", "id_document=" . intval($arg))) or !($file = $row['fichier']) or !file_exists($file)) {
spip_log("Acces refuse (restreint) au document " . $arg . ': ' . $file);
redirige_par_entete('./?page=404');
} else {
if (!function_exists('mime_content_type')) {
// http://doc.spip.org/@mime_content_type
function mime_content_type($f)
{
preg_match("/\\.(\\w+)/", $f, $r);
return $r[1];
}
}
$ct = mime_content_type($file);
$cl = filesize($file);
$filename = basename($file);
header("Content-Type: " . $ct);
header("Content-Disposition: attachment; filename=\"" . $filename . "\";");
if ($dcc) {
header("Content-Description: " . $dcc);
}
if ($cl) {
header("Content-Length: " . $cl);
}
header("Content-Transfer-Encoding: binary");
readfile($file);
}
}
示例6: exec_export_all_init
function exec_export_all_init($rub, $gz, $tables, $serveur='', $save=''){
$meta = base_dump_meta_name($rub);
utiliser_langue_visiteur();
if (!isset($GLOBALS['meta'][$meta])){
// c'est un demarrage en arrivee directe depuis exec=admin_tech
// on initialise (mais si c'est le validateur, ne rien faire)
if ($GLOBALS['exec'] == 'valider_xml') return;
$archive = exec_export_all_args($rub, $gz);
$tables = export_all_start($meta, $archive, $rub, $tables);
$v = array($gz, $archive, $rub, $tables, 1, 0, $serveur, $save);
ecrire_meta($meta, serialize($v), 'non');
// rub=$rub sert AUSSI a distinguer cette redirection
// d'avec l'appel initial sinon FireFox croit malin
// d'optimiser la redirection
$url = generer_url_ecrire('export_all',"rub=$rub", true);
} else {
// appels suivants
$export = charger_fonction('export', 'inc');
$arg = $export($meta);
// Si retour de $export c'est fini; dernier appel pour ramasser
// et produire l'en tete du fichier a partir de l'espace public
$url = generer_action_auteur("export_all",$arg,'',true, true, true);
}
include_spip('inc/headers');
redirige_par_entete($url);
}
示例7: action_converser_dist
function action_converser_dist()
{
if ($lang = _request('var_lang'))
action_converser_post($lang);
elseif ($lang = _request('var_lang_ecrire')) {
if ( _request('arg') AND spip_connect()) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$securiser_action();
sql_updateq("spip_auteurs", array("lang" => $lang), "id_auteur = " . $GLOBALS['visiteur_session']['id_auteur']);
$GLOBALS['visiteur_session']['lang'] = $lang;
$session = charger_fonction('session', 'inc');
if ($spip_session = $session($GLOBALS['visiteur_session'])) {
spip_setcookie(
'spip_session',
$spip_session,
time() + 3600 * 24 * 14
);
}
}
action_converser_post($lang, 'spip_lang_ecrire');
}
$redirect = rawurldecode(_request('redirect'));
if (!$redirect) $redirect = _DIR_RESTREINT_ABS;
$redirect = parametre_url($redirect,'lang',$lang,'&');
redirige_par_entete($redirect, true);
}
示例8: action_referencer_traduction_dist
function action_referencer_traduction_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
if (preg_match(",^(\d+)$,", $arg, $r)
AND $trad = intval(_request('lier_trad'))) {
include_spip('action/editer_article');
if ($err = article_referent($r[1], array('lier_trad' => $trad)))
redirige_par_entete(urldecode(_request('redirect')) . $err);
} elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) {
// supprimer le lien de traduction
sql_updateq("spip_articles", array("id_trad" => 0), "id_article=" . $r[1]);
// Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero.
$cpt = sql_countsel("spip_articles", "id_trad=" . $r[2]);
if ($cpt == 1)
sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]);
} elseif (preg_match(",^(\d+)\D(\d+)\D(\d+)$,", $arg, $r)) {
// modifier le groupe de traduction de $r[1] (SQL le trouvera)
sql_update('spip_articles', array("id_trad" => $r[3]), "id_trad=" . $r[2]);
} elseif (preg_match(",^(\d+)\D(\d+)$,", $arg, $r)) {
instituer_langue_article($r[1],$r[2]);
} else {
spip_log("action_referencer_traduction_dist $arg pas compris");
}
}
示例9: action_desinstaller_plugin_dist
function action_desinstaller_plugin_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
list($dir_plugins, $plugin) = explode("::", $arg);
$dir_type = "_DIR_PLUGINS";
if (defined('_DIR_PLUGINS_SUPPL') and $dir_plugins == _DIR_PLUGINS_SUPPL) {
$dir_type = "_DIR_PLUGINS_SUPPL";
}
$installer_plugins = charger_fonction('installer', 'plugins');
$infos = $installer_plugins($plugin, 'uninstall', $dir_type);
if ($infos and !$infos['install_test'][0]) {
include_spip('inc/plugin');
ecrire_plugin_actifs(array($plugin), false, 'enleve');
$erreur = '';
} else {
$erreur = 'erreur_plugin_desinstalation_echouee';
}
if ($redirect = _request('redirect')) {
include_spip('inc/headers');
if ($erreur) {
$redirect = parametre_url($redirect, 'erreur', $erreur);
}
$redirect = str_replace('&', '&', $redirect);
redirige_par_entete($redirect);
}
}
示例10: action_desinstaller_plugin_dist
function action_desinstaller_plugin_dist() {
$securiser_action = charger_fonction('securiser_action', 'inc');
$plug_file = $securiser_action();
$get_infos = charger_fonction('get_infos','plugins');
$infos = $get_infos($plug_file);
$erreur = "";
if (isset($infos['install'])){
// desinstaller
$etat = desinstalle_un_plugin($plug_file,$infos);
// desactiver si il a bien ete desinstalle
if (!$etat)
ecrire_plugin_actifs(array($plug_file),false,'enleve');
else
$erreur = 'erreur_plugin_desinstalation_echouee';
}
else {
// en principe on ne passe pas la car pas de bouton sur les plugins non
// desinstallables
echo ('Ce plugin ne peut pas etre desinstalle et vous ne devriez pas arriver la !');
}
if ($redirect = _request('redirect')){
include_spip('inc/headers');
if ($erreur)
$redirect = parametre_url($redirect, 'erreur',$erreur);
$redirect = str_replace('&','&',$redirect);
redirige_par_entete($redirect);
}
}
示例11: action_snippet_exporte
function action_snippet_exporte(){
global $auteur_session;
$arg = _request('arg');
$args = explode(":",$arg);
$hash = _request('hash');
$id_auteur = $auteur_session['id_auteur'];
$redirect = _request('redirect');
if ($redirect==NULL) $redirect="";
include_spip("inc/securiser_action");
if (verifier_action_auteur("snippet_exporte-$arg",$hash,$id_auteur)==TRUE) {
$table = $args[0];
$id = $args[1];
$f = snippets_fond_exporter($table, false);
if ($f) {
include_spip('public/assembler');
$out = recuperer_fond($f,array('id'=>intval($id)));
//$out = preg_replace(",\n\n[\s]*(?=\n),","",$out);
$filename=str_replace(":","_",$arg);
if (preg_match(",<titre>(.*)</titre>,Uims",$out,$regs))
$filename = preg_replace(',[^-_\w]+,', '_', trim(translitteration(textebrut(typo($regs[1])))));
$extension = "xml";
Header("Content-Type: text/xml; charset=".$GLOBALS['meta']['charset']);
Header("Content-Disposition: attachment; filename=$filename.$extension");
Header("Content-Length: ".strlen($out));
echo $out;
exit();
}
}
redirige_par_entete(str_replace("&","&",urldecode($redirect)));
}
示例12: action_logout_dist
function action_logout_dist()
{
global $visiteur_session, $ignore_auth_http;
$logout = _request('logout');
$url = securiser_redirect_action(_request('url'));
// cas particulier, logout dans l'espace public
if ($logout == 'public' and !$url) {
$url = url_de_base();
}
// seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
if (is_numeric($visiteur_session['id_auteur'])) {
include_spip('inc/auth');
auth_trace($visiteur_session, '0000-00-00 00:00:00');
// le logout explicite vaut destruction de toutes les sessions
if (isset($_COOKIE['spip_session'])) {
$session = charger_fonction('session', 'inc');
$session($visiteur_session['id_auteur']);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time() - 3600);
}
// si authentification http, et que la personne est loge,
// pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
if (isset($_SERVER['PHP_AUTH_USER']) and !$ignore_auth_http and $GLOBALS['auth_can_disconnect']) {
ask_php_auth(_T('login_deconnexion_ok'), _T('login_verifiez_navigateur'), _T('login_retour_public'), "redirect=" . _DIR_RESTREINT_ABS, _T('login_test_navigateur'), true);
}
}
// Rediriger en contrant le cache navigateur (Safari3)
include_spip('inc/headers');
redirige_par_entete($url ? parametre_url($url, 'var_hasard', uniqid(rand()), '&') : generer_url_public('login'));
}
示例13: action_editer_rubrique_dist
function action_editer_rubrique_dist($arg=null) {
if (is_null($arg)){
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
if (!$id_rubrique = intval($arg)) {
if ($arg != 'oui') {
include_spip('inc/headers');
redirige_url_ecrire();
}
$id_rubrique = insert_rubrique(_request('id_parent'));
}
revisions_rubriques($id_rubrique);
if (_request('redirect')) {
$redirect = parametre_url(
urldecode(_request('redirect')),
'id_rubrique', $id_rubrique, '&');
include_spip('inc/headers');
redirige_par_entete($redirect);
}
else
return array($id_rubrique,'');
}
示例14: action_pdf2swf_convert
function action_pdf2swf_convert() {
global $visiteur_session;
$id_auteur = $visiteur_session['id_auteur'];
$arg = _request('arg');
$args = explode(":",$arg);
// le 1er element de _request('arg') est id_article=XXX
$Targs = explode("=", $args[0]);
$id_article = $Targs[1];
$hash = _request('hash');
$redirect = _request('redirect');
if ($redirect==NULL) $redirect="";
include_spip("inc/securiser_action");
// if (!autoriser('creerarticledans', 'rubrique', $id_rubrique)) die(_T('avis_non_acces_page'));
// ss-rep temporaire specifique de l'auteur en cours: tmp/pdf2swf/id_auteur/ => le creer si il n'existe pas
$base_dezip = _DIR_TMP."pdf2swf/"; // avec / final
if (!is_dir($base_dezip)) if (!sous_repertoire(_DIR_TMP,'pdf2swf')) die (_T('pdfswf:err_repertoire_tmp'));
$rep_dezip = $base_dezip.$id_auteur.'/';
if (!is_dir($rep_dezip)) if (!sous_repertoire($base_dezip,$id_auteur)) die (_T('pdfswf:err_repertoire_tmp'));
// traitement d'un fichier pdf envoye par $_POST
$fichier_zip = addslashes($_FILES['fichier_pdf']['name']);
if ($_FILES['fichier_pdf']['name'] == ''
OR $_FILES['fichier_pdf']['error'] != 0
OR !move_uploaded_file($_FILES['fichier_pdf']['tmp_name'], $rep_dezip.$fichier_zip)
) die(_T('pdfswf:err_telechargement_fichier'));
// conversion du fichier pdf en swf
// $command='pdf2swf -t '.$rep_dezip.$fichier_zip.' '.$rep_dezip.$fichier_zip.'.swf';
$command='pdf2swf -t -B '. _DIR_PLUGIN_PDF2SWF.'fdplayer.swf '.$rep_dezip.$fichier_zip.' '.$rep_dezip.$fichier_zip.'.swf';
exec($command);
//attacher le fichier pdf original a l'article
if (!isset($ajouter_documents))
$ajouter_documents = charger_fonction('ajouter_documents','inc');
// la y'a un bogue super-bizarre avec la fonction spip_abstract_insert() qui est donnee comme absente lors de l'appel de ajouter_document()
if (!function_exists('spip_abstract_insert')) include_spip('base/abstract_sql');
$id_doc_swf = $ajouter_documents($rep_dezip.$fichier_zip.'.swf', $fichier_zip.'.swf', "article", $id_article, 'document', 0, $toto='');
// si necessaire attacher le fichier odt original a l'article et lui mettre un titre signifiant
if (_request('attacher_pdf') == '1') {
$id_doc_odt = $ajouter_documents($rep_dezip.$fichier_zip, $fichier_zip, "article", $id_article, 'document', 0, $toto='');
}
if (!function_exists('effacer_repertoire_temporaire')) include_spip('inc/getdocument');
// vider le contenu du rep de dezippage
effacer_repertoire_temporaire($rep_dezip);
// aller sur la page de l'article qui vient d'etre cree
redirige_par_entete(parametre_url(str_replace("&","&",urldecode($redirect)),'id_article',$id_article,'&'));
}
示例15: action_poster_forum_prive_post
function action_poster_forum_prive_post($r)
{
list(,$id, $id_parent, $statut, $script, $objet) = $r;
if (_request('valider_forum') AND ($statut!='')) {
include_spip('inc/texte');
include_spip('inc/forum');
$titre_message = corriger_caracteres(_request('titre_message'));
$texte = corriger_caracteres(_request('texte'));
$id_forum = sql_insertq('spip_forum', array(
$objet => $id,
'titre' => $titre_message,
'texte' => $texte,
'date_heure' => date('Y-m-d H:i:s'),
'nom_site' => _request('nom_site'),
'url_site' => _request('url_site'),
'statut' => $statut,
'id_auteur' =>$GLOBALS['visiteur_session']['id_auteur'],
'auteur' => $GLOBALS['visiteur_session']['nom'],
'email_auteur' => $GLOBALS['visiteur_session']['email'],
'id_parent' => $id_parent));
calculer_threads();
if ($objet == 'id_message') {
sql_updateq("spip_auteurs_messages", array("vu" => 'non'), "id_message=$id");
}
// Notification
if ($notifications = charger_fonction('notifications', 'inc')) {
$notifications('forumprive', $id_forum);
}
$retour = urldecode(_request('redirect'));
$retour = parametre_url($retour, 'modif_forum', 'fin', '&');
$retour = parametre_url($retour, 'texte', $objet, '&');
# $retour = parametre_url($retour, 'script', $script, '&');
redirige_par_entete($retour ."#id".$id_forum);
} else {
// previsualisation : on ne fait que passer ....
// et si les clients HTTP respectaient le RFC HTTP selon lequel
// une redirection d'un POST doit etre en POST et pas en GET
// on n'aurait pas a faire l'horreur ci-dessous.
set_request('action', '');
set_request('exec', 'poster_forum_prive');
set_request('id', $id);
set_request('id_parent', $id_parent);
set_request('statut', $statut);
set_request('script', $script);
include(_DIR_RESTREINT.'index.php');
exit;
}
}