コード例 #1
0
ファイル: demande_mise_a_jour.php プロジェクト: JLuc/SPIP
/**
 * 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
0
ファイル: acte.php プロジェクト: nursit/bank
/**
 * @param array $config
 * @param int $id_transaction
 * @param string $transaction_hash
 * @param array $options
 * @return array|string
 */
function presta_paypalexpress_payer_acte_dist($config, $id_transaction, $transaction_hash, $options = array())
{
    include_spip('presta/paypalexpress/inc/paypalexpress');
    $contexte = array('id_transaction' => $id_transaction, 'transaction_hash' => $transaction_hash, 'url_confirm' => parametre_url(self(), 'confirm', 'oui'), 'sandbox' => paypalexpress_is_sandbox($config) ? ' ' : '', 'logo' => bank_trouver_logo('paypal', 'PAYPAL.gif'), 'config' => $config);
    $contexte = array_merge($options, $contexte);
    return recuperer_fond('presta/paypalexpress/payer/acte', $contexte);
}
function html_f3666965c018303599bb64189cbac96c($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0)
{
    if (isset($Pile[0]["doublons"]) and is_array($Pile[0]["doublons"])) {
        $doublons = nettoyer_env_doublons($Pile[0]["doublons"]);
    }
    $connect = '';
    $page = ' <div' . (($t1 = strval(interdire_scripts(entites_html(sinon(table_valeur(@$Pile[0], (string) 'divclass', null), 'spip-admin-bloc'), true)))) !== '' ? ' class="' . $t1 . '"' : '') . ' id=\'spip-admin\' dir="' . lang_dir(@$Pile[0]['lang'], 'ltr', 'rtl') . '">' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'analyser', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="analyser">' . _T('public|spip|ecrire:analyse_xml') . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'xhtml_error', null), true)))) !== '' ? ' (' . $t2 . ')' : '') . '</a>') : '') . '
	' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true) ? ' ' : ''))) !== '' ? $t1 . ('
		' . (($t2 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'id_objet', null), true)))) !== '' ? '<a href="' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) ('voir_' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true))), null), true)) . '" class="spip-admin-boutons"
		id="voir_' . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true)) . '">' . interdire_scripts(_T(objet_info(entites_html(table_valeur(@$Pile[0], (string) 'objet', null), true), 'texte_objet'))) . '
			(' . $t2 . ')</a>' : '') . '
	') : '') . '<!--extra-->' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'ecrire', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="ecrire">' . _T('public|spip|ecrire:espace_prive') . '</a>') : '') . '
	<a href="' . parametre_url(self(), 'var_mode', interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'calcul', null), true))) . '" class="spip-admin-boutons"
		id="var_mode">' . _T('public|spip|ecrire:admin_recalculer') . interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'use_cache', null), true)) . '</a>' . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'preview', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="preview">' . _T('public|spip|ecrire:previsualisation') . '</a>') : '') . (($t1 = strval(interdire_scripts(entites_html(table_valeur(@$Pile[0], (string) 'debug', null), true)))) !== '' ? '
	<a href="' . $t1 . ('" class="spip-admin-boutons"
		id="debug">' . _T('public|spip|ecrire:admin_debug') . '</a>') : '') . '
</div>
';
    return analyse_resultat_skel('html_f3666965c018303599bb64189cbac96c', $Cache, $page, 'squelettes-dist/formulaires/administration.html');
}
コード例 #4
0
ファイル: etape_4.php プロジェクト: nursit/SPIP
function install_etape_4_dist()
{
    // creer le repertoire cache, qui sert partout !
    if (!@file_exists(_DIR_CACHE)) {
        $rep = preg_replace(',' . _DIR_TMP . ',', '', _DIR_CACHE);
        $rep = sous_repertoire(_DIR_TMP, $rep, true, true);
    }
    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
    echo info_progression_etape(4, 'etape_', 'install/');
    echo "<div class='success'><b>" . _T('info_derniere_etape') . "</b><p>" . _T('info_utilisation_spip') . "</p></div>";
    echo "<p>" . _T('plugin_info_plugins_dist_1', array('plugins_dist' => "<tt>" . joli_repertoire(_DIR_PLUGINS_DIST) . "</tt>")) . "</p>";
    // installer les extensions
    include_spip('inc/plugin');
    $afficher = charger_fonction("afficher_liste", 'plugins');
    echo $afficher(self(), liste_plugin_files(_DIR_PLUGINS_DIST), array(), array(), _DIR_PLUGINS_DIST, 'afficher_nom_plugin');
    plugin_installes_meta();
    // mettre a jour si necessaire l'adresse du site
    // securite si on arrive plus a se loger
    include_spip('inc/config');
    appliquer_adresse_site('');
    // aller a la derniere etape qui clos l'install et redirige
    $suite = "\n<input type='hidden' name='etape' value='fin' />" . bouton_suivant(_T('login_espace_prive'));
    echo generer_form_ecrire('install', $suite);
    echo install_fin_html();
}
コード例 #5
0
function showDateLink($id, $name)
{
    global $search, $date, $left;
    $active = $date == $id ? ' class="active"' : '';
    echo '<li><a' . $active . ' href="' . self(array('date' => $id)) . '">' . $name . '</a></li>';
    echo "\n";
}
コード例 #6
0
ファイル: menu_lang_ecrire.php プロジェクト: rhertzog/lcs
function menu_lang_pour_tous($nom, $default) {
	include_spip('inc/lang');

	if ($GLOBALS['spip_lang'] <> $default) {
		$opt = lang_select($default);	# et remplace
		if ($GLOBALS['spip_lang'] <> $default) {
			$default = '';	# annule tout choix par defaut
			if ($opt) lang_select();
		}
	}

	$opt = liste_options_langues($nom, $default);
	if (!$opt)
		return '';

	# lien a partir de /
	$cible = parametre_url(self(), 'lang' , '', '&');
	$post = generer_url_action('converser', 'redirect='. rawurlencode($cible), '&');

	return array('formulaires/menu_lang',
		3600,
		array('nom' => $nom,
			'url' => $post,
			'langues' => $opt
		)
	);
}
コード例 #7
0
function install_etape_4_dist()
{
    // creer le repertoire cache, qui sert partout !
    if (!@file_exists(_DIR_CACHE)) {
        $rep = preg_replace(',' . _DIR_TMP . ',', '', _DIR_CACHE);
        $rep = sous_repertoire(_DIR_TMP, $rep, true, true);
    }
    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
    echo info_progression_etape(4, 'etape_', 'install/');
    echo "<div class='success'><b>" . _T('info_derniere_etape') . "</b><p>" . _T('info_utilisation_spip') . "</p></div>";
    echo "<p>" . _T('plugin_info_plugins_dist_1', array('plugins_dist' => "<tt>" . joli_repertoire(_DIR_PLUGINS_DIST) . "</tt>")) . "</p>";
    // installer les extensions
    include_spip('inc/plugin');
    $afficher = charger_fonction("afficher_liste", 'plugins');
    echo $afficher(self(), liste_plugin_files(_DIR_PLUGINS_DIST), array(), array(), _DIR_PLUGINS_DIST, 'afficher_nom_plugin');
    // si la base de SPIP est up, on peut installer les plugins, sinon on passe cette etape
    // car les plugins supposent que la base de SPIP est dans son etat normal (mise a jour)
    // au premier passage dans l'espace prive on aura une demande d'upgrade qui se poursuit sur la page plugin
    // et procede alors a l'installation
    if (!isset($GLOBALS['meta']['version_installee']) or $GLOBALS['spip_version_base'] == str_replace(',', '.', $GLOBALS['meta']['version_installee'])) {
        plugin_installes_meta();
    }
    // mettre a jour si necessaire l'adresse du site
    // securite si on arrive plus a se loger
    include_spip('inc/config');
    appliquer_adresse_site('');
    // aller a la derniere etape qui clos l'install et redirige
    $suite = "\n<input type='hidden' name='etape' value='fin' />" . bouton_suivant(_T('login_espace_prive'));
    echo generer_form_ecrire('install', $suite);
    echo install_fin_html();
}
コード例 #8
0
ファイル: url_logout.php プロジェクト: genma/spip_ynh
function balise_URL_LOGOUT_dyn($cible)
{
    if (!$GLOBALS['visiteur_session']['login'] and !$GLOBALS['visiteur_session']['statut']) {
        return '';
    }
    return generer_url_action('logout', "logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
}
コード例 #9
0
ファイル: login_public.php プロジェクト: genma/spip_ynh
function balise_LOGIN_PUBLIC_dyn($url, $login)
{
    include_spip('balise/formulaire_');
    if (!$url and !($url = _request('url'))) {
        $url = parametre_url(self(), '', '', '&');
    }
    return balise_FORMULAIRE__dyn('login', $url, $login, false);
}
コード例 #10
0
ファイル: login_public.php プロジェクト: rhertzog/lcs
function balise_LOGIN_PUBLIC_dyn($url, $login) {
	include_spip('balise/formulaire_');
	if (!$url 		# pas d'url passee en filtre ou dans le contexte
	AND !$url = _request('url') # ni d'url passee par l'utilisateur
	)
		$url = parametre_url(self(), '', '', '&');
	return balise_FORMULAIRE__dyn('login',$url,$login,false);
}
コード例 #11
0
ファイル: headers.php プロジェクト: rhertzog/lcs
function redirige_par_entete($url, $equiv='', $status = 302) {
	if (!in_array($status,array(301,302)))
		$status = 302;
	
	$url = trim(strtr($url, "\n\r", "  "));
	# en theorie on devrait faire ca tout le temps, mais quand la chaine
	# commence par ? c'est imperatif, sinon l'url finale n'est pas la bonne
	if ($url[0]=='?')
		$url = url_de_base().(_DIR_RESTREINT?'':_DIR_RESTREINT_ABS).$url;
	if ($url[0]=='#')
		$url = self('&').$url;

	if ($x = _request('transformer_xml'))
		$url = parametre_url($url, 'transformer_xml', $x, '&');

	if (defined('_AJAX') AND _AJAX)
		$url = parametre_url($url, 'var_ajax_redir', 1, '&');
		
	// ne pas laisser passer n'importe quoi dans l'url
	$url = str_replace(array('<','"'),array('&lt;','&quot;'),$url);
	// interdire les url inline avec des pseudo-protocoles :
	if (
		(preg_match(",data:,i",$url) AND preg_match("/base64\s*,/i",$url))
		OR preg_match(",(javascript|mailto):,i",$url)
		)
		$url ="./";

	// Il n'y a que sous Apache que setcookie puis redirection fonctionne

	if (!$equiv OR (strncmp("Apache", $_SERVER['SERVER_SOFTWARE'],6)==0) OR defined('_SERVER_APACHE')) {
		@header("Location: " . $url);
		$equiv="";
	} else {
		@header("Refresh: 0; url=" . $url);
		$equiv = "<meta http-equiv='Refresh' content='0; url=$url'>";
	}
	include_spip('inc/lang');
	if ($status!=302)
		http_status($status);
	echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">',"\n",
	  html_lang_attributes(),'
<head>',
	  $equiv,'
<title>HTTP '.$status.'</title>
</head>
<body>
<h1>HTTP '.$status.'</h1>
<a href="',
	  quote_amp($url),
	  '">',
	  _T('navigateur_pas_redirige'),
	  '</a></body></html>';

	spip_log("redirige $status: $url");

	exit;
}
コード例 #12
0
ファイル: rediriger.php プロジェクト: rhertzog/lcs
/**
 * Traite une demande de redirection
 * 
 * Si le fond du formulaire demande expressement une redirection
 * par <!-- rediriger=1 -->, on stocke le message dans une meta
 * et on redirige le client, de maniere a charger la page
 * avec la nouvelle config (ce qui permet par exemple a Autorite
 * de controler d'eventuels conflits generes par les nouvelles autorisations)
 * 
 * @param mixed $valeur # inutilisé
 * @param Object $cfg
 */
function cfg_post_traiter_param_rediriger($valeur, &$cfg){
	if ($cfg->messages) {
		include_spip('inc/meta');
		ecrire_meta('cfg_message_'.$GLOBALS['auteur_session']['id_auteur'], serialize($cfg->messages), 'non');
		if (defined('_COMPAT_CFG_192')) ecrire_metas();
		include_spip('inc/headers');
		redirige_par_entete(parametre_url(self(),null,null,'&'));
	}
}
コード例 #13
0
ファイル: cfg_install_libs.php プロジェクト: pcrest/eludis
function exec_cfg_install_libs_dist($class = null)
{
    include_spip('inc/filtres');
    include_spip("inc/presentation");
    global $cfg_libs;
    // droits : il faut avoir le droit de choisir les plugins,
    // mais aussi d'en ajouter
    include_spip('inc/autoriser');
    if (!autoriser('configurer', 'plugins')) {
        echo minipres();
        exit;
    }
    pipeline('exec_init', array('args' => array('exec' => 'cfg'), 'data' => ''));
    $commencer_page = charger_fonction('commencer_page', 'inc');
    echo $commencer_page(_T('cfg:installation_librairies'), 'cfg');
    echo "<br /><br /><br />\n";
    echo gros_titre(_T('cfg:installation_librairies'), '', false);
    // colonne gauche
    echo debut_gauche('', true);
    echo pipeline('affiche_gauche', array('args' => array('exec' => 'cfg'), 'data' => ''));
    echo creer_colonne_droite('', true);
    echo pipeline('affiche_droite', array('args' => array('exec' => 'cfg'), 'data' => ''));
    echo debut_droite("", true);
    // centre de la page
    echo debut_cadre_trait_couleur('', true, '', _T('cfg:installation_liste_libs'));
    // message pour creer le dossier lib/
    if (!is_dir(_DIR_LIB) && !is_writable(_DIR_LIB)) {
        echo "<p class='important'>" . _T('cfg:installer_dossier_lib', array('dir' => joli_repertoire(_DIR_LIB))) . "</p>\n";
    }
    // message pour installation 1.9.2
    if ($spip192 = defined('_COMPAT_CFG_192') && _COMPAT_CFG_192) {
        echo "<p>" . _T('cfg:installer_lib_192', array('dir' => joli_repertoire(_DIR_LIB))) . "</p>\n";
    }
    // mettre un lien pour telecharger les libs
    include_spip('inc/actions');
    foreach ($cfg_libs as $lib => $info) {
        // deja present ?  texte du bouton :  "mettre a jour", sinon "telecharger"
        $quoi = is_dir(_DIR_LIB . $info['dir']) ? 'update' : 'install';
        echo "<dl>\n";
        echo "<dt>" . $info['nom'] . "</dt>\n";
        echo "<dd>" . $info['description'] . "</dd>\n";
        // cas 1.9.2
        // proposer de copier manuellement le zip decompresse dans le dossier lib
        if ($spip192) {
            echo "<dd>" . ($quoi == 'update' ? "(" . _T('cfg:bouton_mettre_a_jour') . ") " : "") . "<a class='spip_out' href='{$info['install']}' />{$info['install']}</a></dd>\n";
            // cas > 1.9.2
            // chargeur plugin/lib de spip
        } else {
            echo "<dd>" . redirige_action_auteur('charger_plugin', 'lib', '', '', "<input type='hidden' name='url_zip_plugin' value='{$info['install']}' />" . "<input type='hidden' name='retour' value='" . self() . "' />" . "<input type='submit' class='fondo' name='ok' value='" . ($quoi == 'update' ? _T('cfg:bouton_mettre_a_jour') : _T('bouton_telecharger')) . "' />", "\nmethod='post'") . "</dd>\n";
        }
        echo "</dl>\n";
    }
    echo fin_cadre_trait_couleur(true);
    // pied
    echo fin_gauche() . fin_page();
}
コード例 #14
0
/**
 * Inserer les infos d'agenda sur les articles et rubriques
 *
 * @param array $flux
 * @return array
 */
function agenda_affiche_milieu($flux)
{
    $e = trouver_objet_exec($flux['args']['exec']);
    $out = "";
    if ($e['type'] == 'rubrique' and autoriser('configurer') and $e['edition'] == false and $id_rubrique = intval($flux['args']['id_rubrique']) and autoriser('modifier', 'rubrique', $id_rubrique)) {
        $activer = true;
        $res = "";
        $actif = sql_getfetsel('agenda', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
        $statut = "-32";
        $alt = "";
        $voir = "";
        if (!sql_countsel('spip_rubriques', 'agenda=1')) {
            $res .= "<span class='small'>" . _T('agenda:aucune_rubrique_mode_agenda') . "</span><br />";
        } else {
            include_spip('inc/rubriques');
            if (sql_countsel('spip_rubriques', sql_in('id_rubrique', calcul_hierarchie_in($id_rubrique)) . " AND agenda=1 AND id_rubrique<>" . intval($id_rubrique))) {
                $alt = _T('agenda:rubrique_dans_une_rubrique_mode_agenda');
                $activer = false;
                $statut = "-ok-32";
                $voir = _T('agenda:voir_evenements_rubrique');
            } elseif (!$actif) {
                $alt = _T('agenda:rubrique_sans_gestion_evenement') . '<br />';
                $statut = "-non-32";
            }
            if ($actif) {
                $alt = _T('agenda:rubrique_mode_agenda') . '<br />';
                $statut = "-ok-32";
                $voir = _T('agenda:voir_evenements_rubrique');
            }
        }
        if (!$actif) {
            if ($activer) {
                $res .= bouton_action(_T('agenda:rubrique_activer_agenda'), generer_action_auteur('activer_agenda_rubrique', $id_rubrique, self()), 'ajax');
            }
        } else {
            $res .= bouton_action(_T('agenda:rubrique_desactiver_agenda'), generer_action_auteur('activer_agenda_rubrique', "-{$id_rubrique}", self()), 'ajax');
        }
        if ($voir) {
            $res .= " | <a href='" . generer_url_ecrire('evenements', "id_rubrique={$id_rubrique}") . "'>{$voir}</a>";
        }
        if ($res) {
            $out .= boite_ouvrir(_T('agenda:agenda') . http_img_pack("agenda{$statut}.png", $alt, "class='statut'", $alt), 'simple agenda-statut') . $res . boite_fermer();
        }
    } elseif ($e['type'] == 'article' and $e['edition'] == false) {
        $id_article = $flux['args']['id_article'];
        $out .= recuperer_fond('prive/objets/contenu/article-evenements', $flux['args']);
    }
    if ($out) {
        if ($p = strpos($flux['data'], '<!--affiche_milieu-->')) {
            $flux['data'] = substr_replace($flux['data'], $out, $p, 0);
        } else {
            $flux['data'] .= $out;
        }
    }
    return $flux;
}
コード例 #15
0
ファイル: configurer_langage.php プロジェクト: genma/spip_ynh
function formulaires_configurer_langage_traiter_dist()
{
    include_spip('action/converser');
    action_converser_changer_langue(true);
    refuser_traiter_formulaire_ajax();
    // on ne peut pas changer la langue pour tout le hit ici,
    // car CVT repasse derriere et retablit la langue avant l'appel a traiter()
    // il faut rediriger !
    return array('message_ok' => _T('config_info_enregistree'), 'editable' => true, 'redirect' => self());
}
コード例 #16
0
function previsu_cle_temporaire($date = null)
{
    include_spip('inc/securiser_action');
    if (!$date) {
        $date = date('Y-m-d H');
    }
    $url = self();
    $cle = md5($url . $date . secret_du_site());
    return $cle;
}
コード例 #17
0
function formulaires_creer_squelette_traiter_dist($path_base){
	$res = array();

	$filename = _request('filename');
	if (ecrire_fichier($path_base.$filename, ""))
		$res = array('message_ok'=>_T('ok'),'redirect'=>parametre_url(self(),'f',$path_base.$filename));
	else
		$res['message_erreur'] = _T('skeleditor:erreur_ecriture_fichier');

	return $res;
}
コード例 #18
0
function pager_pagelinks($id)
{
    global $pager;
    output_clear();
    if ($pager[$id]['stop'] > $pager[$id]['items_per_page']) {
        echo '<a class="linkbutton" style="margin: 10px;" href="' . self(array('start' . pager_suffix($id) => $pager[$id]['start'] - $pager[$id]['items_per_page'])) . '">&laquo; Previous Page</a>';
    }
    if ($pager[$id]['stop'] < $pager[$id]['count']) {
        echo ' <a class="linkbutton" style="margin: 10px;" href="' . self(array('start' . pager_suffix($id) => $pager[$id]['stop'])) . '">Next Page &raquo;</a>';
    }
}
コード例 #19
0
ファイル: headers.php プロジェクト: genma/spip_ynh
function redirige_par_entete($url, $equiv = '', $status = 302)
{
    if (!in_array($status, array(301, 302))) {
        $status = 302;
    }
    $url = trim(strtr($url, "\n\r", "  "));
    # en theorie on devrait faire ca tout le temps, mais quand la chaine
    # commence par ? c'est imperatif, sinon l'url finale n'est pas la bonne
    if ($url[0] == '?') {
        $url = url_de_base() . $url;
    }
    if ($url[0] == '#') {
        $url = self('&') . $url;
    }
    # si profondeur non nulle et url relative, il faut la passer en absolue
    if ($GLOBALS['profondeur_url'] > (_DIR_RESTREINT ? 1 : 2) and !preg_match(",^(\\w+:)?//,", $url)) {
        include_spip("inc/filtres_mini");
        $url = url_absolue($url);
    }
    if ($x = _request('transformer_xml')) {
        $url = parametre_url($url, 'transformer_xml', $x, '&');
    }
    if (defined('_AJAX') and _AJAX) {
        $url = parametre_url($url, 'var_ajax_redir', 1, '&');
    }
    // ne pas laisser passer n'importe quoi dans l'url
    $url = str_replace(array('<', '"'), array('&lt;', '&quot;'), $url);
    // interdire les url inline avec des pseudo-protocoles :
    if (preg_match(",data:,i", $url) and preg_match("/base64\\s*,/i", $url) or preg_match(",(javascript|mailto):,i", $url)) {
        $url = "./";
    }
    // Il n'y a que sous Apache que setcookie puis redirection fonctionne
    include_spip('inc/cookie');
    if (!$equiv and !spip_cookie_envoye() or (strncmp("Apache", $_SERVER['SERVER_SOFTWARE'], 6) == 0 or defined('_SERVER_APACHE'))) {
        @header("Location: " . $url);
        $equiv = "";
    } else {
        @header("Refresh: 0; url=" . $url);
        $equiv = "<meta http-equiv='Refresh' content='0; url={$url}'>";
    }
    include_spip('inc/lang');
    if ($status != 302) {
        http_status($status);
    }
    echo '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">', "\n", html_lang_attributes(), '
<head>', $equiv, '
<title>HTTP ' . $status . '</title>
</head>
<body>
<h1>HTTP ' . $status . '</h1>
<a href="', quote_amp($url), '">', _T('navigateur_pas_redirige'), '</a></body></html>';
    spip_log("redirige {$status}: {$url}");
    exit;
}
コード例 #20
0
ファイル: reviser.php プロジェクト: genma/spip_ynh
function formulaires_reviser_traiter_dist($objet, $id_objet, $id_version, $id_diff)
{
    $res = array('message_ok' => '', 'editable' => true);
    $id_version = _request('id_version');
    $id_diff = _request('id_diff');
    if (_AJAX) {
        $res['message_ok'] .= "<script type='text/javascript'>if (window.jQuery) jQuery('#wysiwyg.revision').ajaxReload({args:{id_version:{$id_version},id_diff:{$id_diff}},history:true});</script>";
    } else {
        $res['redirect'] = parametre_url(parametre_url(self(), 'id_version', $id_version), 'id_diff', $id_diff, '&');
    }
    return $res;
}
コード例 #21
0
ファイル: annuaire_tri.php プロジェクト: rougerose/fraap
function formulaires_annuaire_tri_traiter($articles = null, $url = null) {
  refuser_traiter_formulaire_ajax();
  $mots = _request('mots');
  // supprimer les valeurs vides du tableau mots
  $mots = array_filter($mots, function($a){
    return is_string($a) && trim($a) !== "";
  });
  if (!$url) {
    $url = self();
  }
  // Nettoyer l'URL des mots[] qu'elle contiendrait deja
  $url = parametre_url($url,'mots','');
  $url = parametre_url($url, 'mots', $mots);
	return array('redirect' => $url);
}
コード例 #22
0
ファイル: request.php プロジェクト: rougerose/bank
function presta_paybox_call_request_dist($id_transaction, $transaction_hash, $abo = false, $cartes = array('CB', 'VISA', 'EUROCARD_MASTERCARD', 'E_CARD'))
{
    if (!($row = sql_fetsel("*", "spip_transactions", "id_transaction=" . intval($id_transaction) . " AND transaction_hash=" . sql_quote($transaction_hash)))) {
        return "";
    }
    if (!$row['id_auteur'] and $GLOBALS['visiteur_session']['id_auteur']) {
        sql_updateq("spip_transactions", array("id_auteur" => intval($row['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'])), "id_transaction=" . intval($id_transaction));
    }
    // recuperer l'email
    $mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($row['id_auteur']));
    // passage en centimes d'euros
    $montant = intval(100 * $row['montant']);
    if (strlen($montant) < 3) {
        $montant = str_pad($montant, 3, '0', STR_PAD_LEFT);
    }
    //		Affectation des parametres obligatoires
    $parm = paybox_pbx_ids();
    $parm['PBX_OUTPUT'] = "C";
    // recuperer uniquement les hidden
    $parm['PBX_LANGUE'] = "FRA";
    $parm['PBX_DEVISE'] = "978";
    $parm['PBX_TOTAL'] = $montant;
    $parm['PBX_PORTEUR'] = defined('_PBX_PORTEUR') ? _PBX_PORTEUR : $mail;
    $parm['PBX_CMD'] = intval($id_transaction);
    $parm['PBX_RETOUR'] = 'montant:M;id_transaction:R;auth:A;trans:S;abo:B;erreur:E;valid:D;sign:K';
    $parm['PBX_EFFECTUE'] = generer_url_action('bank_response', "bankp=paybox", true, true);
    $parm['PBX_REFUSE'] = generer_url_action('bank_cancel', "bankp=paybox", true, true);
    $parm['PBX_ANNULE'] = generer_url_action('bank_cancel', "bankp=paybox", true, true);
    if ($abo and $id_abonnement = sql_getfetsel("id_abonnement", "spip_abonnements_transactions", "id_transaction=" . intval($id_transaction)) and $montant_echeance = sql_getfetsel('prix_echeance', 'spip_abonnements', 'id_abonnement=' . intval($id_abonnement))) {
        $montant_echeance = str_pad(intval(100 * $montant_echeance), 10, "0", STR_PAD_LEFT);
        // infos de l'abonnement :
        // montant identique recurrent, frequence mensuelle, a date anniversaire, sans delai
        $parm['PBX_CMD'] .= "IBS_2MONT{$montant_echeance}" . "IBS_NBPAIE00" . "IBS_FREQ01" . "IBS_QUAND00";
    }
    //var_dump($parm);
    $cartes_possibles = array('CB' => 'presta/paybox/logo/CB.gif', 'VISA' => 'presta/paybox/logo/VISA.gif', 'EUROCARD_MASTERCARD' => 'presta/paybox/logo/MASTERCARD.gif', 'E_CARD' => 'presta/paybox/logo/E-CB.gif', 'AMEX' => 'presta/paybox/logo/AMEX.gif', 'AURORE' => 'presta/paybox/logo/AURORE.gif');
    include_spip('inc/filtres_mini');
    $contexte = array('hidden' => array(), 'action' => _PAYBOX_URL, 'backurl' => url_absolue(self()), 'id_transaction' => $id_transaction);
    foreach ($cartes as $carte) {
        if ($cartes_possibles[$carte]) {
            $parm['PBX_TYPEPAIEMENT'] = 'CARTE';
            $parm['PBX_TYPECARTE'] = $carte;
            $contexte['hidden'][$carte] = paybox_exec_request($parm);
            $contexte['logo'][$carte] = $cartes_possibles[$carte];
        }
    }
    return $contexte;
}
コード例 #23
0
function formulaires_upload_squelette_traiter_dist($path_base){
	$files = skeleditor_check_upload($path_base);
	$ok = true;
	foreach($files as $file){
		if (!move_uploaded_file($file['tmp_name'], $path_base.$file['name']))
			$ok = false;
	}
	if ($ok){
		$res['message_ok'] = 'ok';
		$res['redirect'] = parametre_url(parametre_url(self(),'upload',''),'f',$path_base.$file['name']);
	}
	else
		$res['message_erreur'] = 'erreur';

	return $res;
}
コード例 #24
0
ファイル: calendrier_mini.php プロジェクト: rhertzog/lcs
function balise_CALENDRIER_MINI_dyn($id_rubrique=0, $id_article = 0, $id_mot = 0,$date, $var_date = 'date', $url = '') {
	if(!$url)
		$url = self();
	// nettoyer l'url qui est passee par htmlentities pour raison de securités
	$url = str_replace("&amp;","&",$url);

	return array('formulaires/calendrier_mini', 0, 
		array(
			'date' => $date,
			'id_rubrique' => $id_rubrique,
			'id_article' => $id_article,
			'id_mot' => $id_mot,
			'var_date' => $var_date,
			'self' => $url,
		));
}
コード例 #25
0
/**
 * Syntaxe raccourcie du plugin
 * #CALENDRIER_MINI
 * #CALENDRIER_MINI{#SELF}
 * #CALENDRIER_MINI{#SELF,#URL_PAGE{calendrier_mini.json}}
 *
 * Syntaxe ancienne (ou plugin agenda)
 * #CALENDRIER_MINI{#ENV{date}}
 * #CALENDRIER_MINI{#ENV{date},date}
 * #CALENDRIER_MINI{#ENV{date},date,#SELF}
 * #CALENDRIER_MINI{#ENV{date},date,#SELF,#URL_PAGE{calendrier_mini.json}}
 *
 * Quand l'url json est explicitee dans les arguments, la collecte automatisee de id_rubrique, id_article et id_mot est desactivee
 * car dans ce cas il suffit simplement de les expliciter sur l'url json pour les prendre en compte
 *
 * @param string $date
 *   date automatique collectee par VAR_DATE
 * @param int $id_rubrique
 * @param int $id_article
 * @param int $id_mot
 * @param null $self_or_date_or_nothing
 * @param null $urljson_or_var_date_or_nothing
 * @param null $self_or_nothing
 * @param null $urljson_or_nothing
 * @return array
 */
function balise_CALENDRIER_MINI_dyn($date, $id_rubrique = 0, $id_article = 0, $id_mot = 0, $self_or_date_or_nothing = null, $urljson_or_var_date_or_nothing = null, $self_or_nothing = null, $urljson_or_nothing = null)
{
    $var_date = VAR_DATE;
    $url = null;
    $url_json = null;
    if (!is_null($self_or_date_or_nothing)) {
        // est-ce une date ou une url ?
        if (!function_exists('recup_date')) {
            include_spip('inc/filtres');
        }
        if (!strlen($self_or_date_or_nothing) or preg_match(",^[\\d\\s:-]+\$,", $self_or_date_or_nothing) and list($annee, $mois, $jour, $heures, $minutes, $secondes) = recup_date($self_or_date_or_nothing) and $annee) {
            // si c'est une date on est dans l'ancienne syntaxe
            $date = $self_or_date_or_nothing;
            $var_date = $urljson_or_var_date_or_nothing;
            $url = $self_or_nothing;
            $url_json = $urljson_or_nothing;
        } else {
            // sinon on est sur la nouvelle syntaxe
            $url = $self_or_date_or_nothing;
            $url_json = $urljson_or_var_date_or_nothing;
        }
    }
    $args = array('date' => $date ? $date : date('Y-m'), 'var_date' => $var_date, 'self' => $url ? $url : self());
    // si pas de url_json explicite, la renseigner et peupler automatiquement les
    if (is_null($url_json)) {
        $url_json = generer_url_public("calendrier_mini.json");
        if (!is_null($id_rubrique)) {
            $args['id_rubrique'] = $id_rubrique;
        }
        if (!is_null($id_article)) {
            $args['id_article'] = $id_article;
        }
        if (!is_null($id_mot)) {
            $args['id_mot'] = $id_mot;
        }
    }
    if (defined('_VAR_MODE') and _VAR_MODE == "recalcul") {
        $url_json = parametre_url($url_json, 'var_mode', 'recalcul');
    }
    $args['urljson'] = $url_json;
    /* tenir compte de la langue, c'est pas de la tarte */
    return array('formulaires/calendrier_mini', 3600, $args);
}
コード例 #26
0
function balise_LANGUE_PREFEREE_LIEN_EFFACE_COOKIE_dyn($texte = '')
{
	if ($texte == '') {
		$texte = _T('languepreferee:efface_cookie');
	}

	include_spip('inc/meta');
	$lien = '';
	if (isset($_COOKIE['spip_langue_preferee']) && $_COOKIE['spip_langue_preferee'] != '') {
		if (isset($_GET['var_langue_preferee_efface_cookie'])) {
			include_spip('inc/cookie');
			spip_setcookie('spip_langue_preferee', '', time() - 3600*24*10, chemin_cookie());
		} else {
			$url = preg_replace("/([?&])var_langue_preferee_efface_cookie=[^&]+(&)?/", "$1", self());
			$url .= (strpos($url, '?') > 0 ? '&amp;' : '?').'var_langue_preferee_efface_cookie=oui';
			$lien = '<a href="'.$url.'">'.$texte.'</a>';
		}
	}
	return $lien;
}
コード例 #27
0
function spip_bonux_affichage_final($flux)
{
    if (defined('_VAR_PREVIEW') and _VAR_PREVIEW) {
        $p = stripos($flux, "</body>");
        $url_relecture = parametre_url(self(), 'var_mode', 'preview', '&');
        $js = "";
        if (!defined('_VAR_PREVIEW_EXCEPTION')) {
            $url_relecture = parametre_url($url_relecture, 'var_relecture', previsu_cle_temporaire(), '&');
            $label = "Relecture temporaire";
        } else {
            $label = _T('previsualisation');
            $js = "jQuery('.spip-previsu').html('Relecture temporaire');";
        }
        $js .= "jQuery('#spip-admin').append('<a class=\"spip-admin-boutons review_link\" href=\"{$url_relecture}\">{$label}</a>');";
        $js = "jQuery(function(){ {$js} });";
        $js = "<script>{$js}</script>";
        $flux = substr_replace($flux, $js, $p, 0);
    }
    return $flux;
}
コード例 #28
0
ファイル: snippets_pipeline.php プロジェクト: rhertzog/lcs
function snippets_affiche_droite($flux){
	include_spip('inc/snippets');
	$args = $flux['args'];
	$out = "";
	$retour = _DIR_RESTREINT_ABS . self();
	if ($args['exec']=='articles_tous') {
		$out.=boite_snippets(_L('Article'),'article-24.gif','articles','articles',"id_rubrique=0",$retour);
		$out.=boite_snippets(_L('Rubrique'),'rubrique-24.gif','rubriques','rubriques',"",$retour);
	}
	if ($args['exec']=='articles') {
		$out.=boite_snippets(_L('Article'),'article-24.gif','articles',$args['id_article'],"",$retour);
	}
	if ($args['exec']=='naviguer') {
		$out.=boite_snippets(_L('Article'),'article-24.gif','articles','articles',"id_rubrique=".$args['id_rubrique'],$retour);
		$out.=boite_snippets(_L('Rubrique'),'rubrique-24.gif','rubriques',$args['id_rubrique'],"id_rubrique=".$args['id_rubrique'],$retour);
		
	}
	$flux['data'].=$out;
	return $flux;
}
コード例 #29
0
ファイル: etape_4.php プロジェクト: rhertzog/lcs
function install_etape_4_dist()
{

	// creer le repertoire cache, qui sert partout !
	if(!@file_exists(_DIR_CACHE)) {
		$rep = preg_replace(','._DIR_TMP.',', '', _DIR_CACHE);
		$rep = sous_repertoire(_DIR_TMP, $rep, true,true);
	}


	echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
	echo info_progression_etape(4,'etape_','install/');

	echo "<p>"
			._L('Les extensions ci-dessous sont charg&#233;es et activ&#233;es dans le r&#233;pertoire @extensions@.', array('extensions' => joli_repertoire(_DIR_EXTENSIONS)))
			."</p>";

	// installer les extensions
	include_spip('inc/plugin');
	$afficher = charger_fonction("afficher_liste",'plugins');
	echo $afficher(self(), liste_plugin_files(_DIR_EXTENSIONS),array(), _DIR_EXTENSIONS,'afficher_nom_plugin');

	installe_plugins();

	echo info_etape(_T('info_derniere_etape'),
			_T('info_utilisation_spip')
	);

	// mettre a jour si necessaire l'adresse du site
	// securite si on arrive plus a se loger
	include_spip('inc/config');
	$_POST['adresse_site'] = '';
	appliquer_modifs_config();

	// aller a la derniere etape qui clos l'install et redirige
	$suite =  "\n<input type='hidden' name='etape' value='fin' />"
	  . bouton_suivant(_T('login_espace_prive'));

	echo generer_form_ecrire('install', $suite);	echo install_fin_html();
}
function html_65c161fa3974dab7ff9b5b08fa07491e($Cache, $Pile, $doublons = array(), $Numrows = array(), $SP = 0)
{
    if (isset($Pile[0]["doublons"]) and is_array($Pile[0]["doublons"])) {
        $doublons = nettoyer_env_doublons($Pile[0]["doublons"]);
    }
    $connect = '';
    $page = ($t1 = strval(invalideur_session($Cache, (function_exists("autoriser") || include_spip("inc/autoriser")) && autoriser('configurer', '_admin_vider') ? " " : "" ? ' ' : ''))) !== '' ? $t1 . ('

' . boite_ouvrir(interdire_scripts(wrap(concat(filtre_balise_img_dist(chemin_image('image-24.png'), '', 'cadre-icone'), _T('info_images_auto')), '<h3>')), 'simple', 'titrem') . '<div id="placehoder_taille_cache_images"><p>&nbsp;<br />&nbsp;<br />&nbsp;<br /></p></div>
	<script type="text/javascript">
		jQuery(function(){jQuery(\'#placehoder_taille_cache_images\').animateLoading().load(\'' . invalideur_session($Cache, replace(generer_action_auteur('calculer_taille_cache', 'images'), '&amp;', '&')) . '\');});
	</script>
	<noscript>
		<iframe src="' . invalideur_session($Cache, generer_action_auteur('calculer_taille_cache', 'images')) . '" style="width: 100%;height: 3em;overflow: hidden;"></iframe>
	</noscript>

' . boite_pied() . '
	' . bouton_action(_T('public|spip|ecrire:bouton_vider_cache'), invalideur_session($Cache, generer_action_auteur('purger', 'vignettes', invalideur_session($Cache, self()))), 'ajax') . '
' . boite_fermer() . '
') : '';
    return analyse_resultat_skel('html_65c161fa3974dab7ff9b5b08fa07491e', $Cache, $page, '../prive/squelettes/inclure/admin_vider_images.html');
}