/** * Sauvegarder par morceaux * * @param string $arg */ function action_sauvegarder_dist($arg = null) { if (!$arg) { $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); } $status_file = $arg; $redirect = parametre_url(generer_action_auteur('sauvegarder', $status_file), "step", intval(_request('step') + 1), '&'); // lancer export qui va se relancer jusqu'a sa fin $sauvegarder = charger_fonction('sauvegarder', 'inc'); utiliser_langue_visiteur(); // quand on sort de $export avec true c'est qu'on a fini if ($sauvegarder($status_file, $redirect)) { dump_end($status_file, 'sauvegarder'); include_spip('inc/headers'); echo redirige_formulaire(generer_url_ecrire("sauvegarder", 'status=' . $status_file, '', true, true)); } // forcer l'envoi du buffer par tous les moyens ! echo str_repeat("<br />\r\n", 256); while (@ob_get_level()) { @ob_flush(); @flush(); @ob_end_flush(); } }
function inc_iconifier_dist($id_objet, $id, $script, $visible=false, $flag_modif=true) { if ($GLOBALS['spip_display'] == 4) return ""; $texteon = $GLOBALS['logo_libelles'][($id OR $id_objet != 'id_rubrique') ? $id_objet : 'id_racine']; $chercher_logo = charger_fonction('chercher_logo', 'inc'); // Add the redirect url when uploading via iframe $iframe_script = generer_url_ecrire('iconifier',"type=$id_objet&$id_objet=$id&script=$script",true); $iframe = "<input type='hidden' name='iframe_redirect' value='".rawurlencode($iframe_script)."' />\n"; $logo = $chercher_logo($id, $id_objet, 'on'); $logo_s = $chercher_logo($id, $id_objet, 'off'); if (!$logo) { if ($flag_modif AND $GLOBALS['meta']['activer_logos'] != 'non') { $masque = indiquer_logo($texteon, $id_objet, 'on', $id, $script, $iframe); $masque = "<div class='cadre_padding'>$masque</div>"; $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $res = debut_block_depliable($visible,"on-$id_objet-$id") . $masque . fin_block(); } } else { list($img, $clic) = decrire_logo($id_objet,'on',$id, 170, 170, $logo, $texteon, $script, $flag_modif AND !$logo_s); $bouton = bouton_block_depliable($texteon, $visible, "on-$id_objet-$id"); $survol = ''; $texteoff = _T('logo_survol'); if (!$logo = $logo_s) { if ($flag_modif AND $GLOBALS['meta']['activer_logos_survol'] == 'oui') { $masque = "<br />".indiquer_logo($texteoff, $id_objet, 'off', $id, $script, $iframe); $survol .= "<br />".block_parfois_visible("off-$id_objet-$id", $texteoff, $masque, null, $visible); } $masque = debut_block_depliable($visible,"on-$id_objet-$id") . "<div class='cadre_padding'>" . $clic . $survol . "</div>" . fin_block(); } else { list($imgoff, $clicoff) = decrire_logo($id_objet, 'off', $id, 170, 170, $logo, $texteoff, $script, $flag_modif); $masque = debut_block_depliable($visible, "off-$id_objet-$id") . $clicoff . fin_block(); $survol .= "<br />".bouton_block_depliable($texteoff, $visible, "off-$id_objet-$id") . "<div class='cadre_padding'>".$imgoff.$masque."</div>"; $masque = debut_block_depliable($visible,"on-$id_objet-$id") . $clic . fin_block() . $survol; } $res = "$img$masque"; } if ($res) { $res = debut_cadre('r', 'image-24.gif', '', $bouton, '', '', false) . $res . fin_cadre_relief(true); if(_request("exec")!="iconifier") { $js = http_script('', 'async_upload.js') . http_script('$("form.form_upload_icon").async_upload(async_upload_icon)'); } else $js = ""; return ajax_action_greffe("iconifier", $id, $res).$js; } else return ''; }
/** * Retourne une liste HTML des rubriques et rubriques enfants * * @param bool $complet * - false pour n'avoir que le bouton racine «plan du site» * - true pour avoir l'ensemble des rubriques en plus * * @return string * Code HTML présentant la liste des rubriques **/ function menu_rubriques($complet = true) { $ret = "<li class='toutsite'><a href='" . generer_url_ecrire('plan') . "'>" . _T('info_tout_site') . "</a></li>"; if (!$complet) { return "<ul class='cols_1'>{$ret}\n</ul>\n"; } if (!isset($GLOBALS['db_art_cache'])) { gen_liste_rubriques(); } $arr_low = extraire_article(0, $GLOBALS['db_art_cache']); $total_lignes = $i = sizeof($arr_low); if ($i > 0) { $nb_col = min(8, ceil($total_lignes / 30)); if ($nb_col <= 1) { $nb_col = ceil($total_lignes / 10); } foreach ($arr_low as $id_rubrique => $titre_rubrique) { if (autoriser('voir', 'rubrique', $id_rubrique)) { $ret .= bandeau_rubrique($id_rubrique, $titre_rubrique, $i); $i++; } } $ret = "<ul class='cols_{$nb_col}'>" . $ret . "\n</ul>\n"; } else { $ret = "<ul class='cols_1'>{$ret}\n</ul>\n"; } return $ret; }
function exec_calendrier_args($time, $type, $echelle, $partie_cal) { if ($time < 0) $time = time(); if (!$type) $type = 'mois'; elseif ($type == 'semaine') $GLOBALS['afficher_bandeau_calendrier_semaine'] = true; $ancre = 'calendrier-1'; $r = generer_url_ecrire('calendrier', "type=$type") . "#$ancre"; $r = http_calendrier_init($time, $type, $echelle, $partie_cal, $r); if (_AJAX) { ajax_retour($r); } else { $date = date("Y-m-d", $time); if ($type == 'jour') { $titre = nom_jour($date)." ". affdate_jourcourt($date); } else { $titre = _T('titre_page_calendrier', array('nom_mois' => nom_mois($date), 'annee' => annee($date))); } $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page($titre, "accueil", "calendrier"); // ne produit rien par defaut, mais est utilisee par le plugin agenda echo barre_onglets("calendrier", "calendrier"); echo debut_grand_cadre(true); echo "\n<div> </div>\n<div id='", $ancre, "'>",$r,'</div>'; echo fin_grand_cadre(true); echo fin_page(); } }
function player_affiche_config_form ($exec_page){ global $spip_lang_right, $spip_lang_left; if ($player = _request('player')) { ecrire_meta('player', $player); if(version_compare($GLOBALS['spip_version_code'],'1.9300','<')) { include_spip("inc/meta"); ecrire_metas(); } } $player_ = $GLOBALS['meta']['player']; $out = "" . debut_cadre_trait_couleur(_DIR_PLUGIN_PLAYER_IMAGES."player-son-24.png", true, "", "Player Audio") . "<form action='".generer_url_ecrire($exec_page)."' method='post' class='verdana2'><div>" . bouton_radio("player", "neoplayer", "Neolao player", $player_ == "neoplayer") . "<br />" . bouton_radio("player", "dewplayer", "Dew player", $player_ == "dewplayer") . "<br />" . bouton_radio("player", "pixplayer", "One pixel out player", $player_ == "pixplayer") . "<br />" . bouton_radio("player", "eraplayer", "Erational player", $player_ == "eraplayer") . "<div style='text-align:$spip_lang_right'><input type='submit' name='Valider' value='"._T('bouton_valider')."' class='fondo' /></div>" . "</div></form>" . fin_cadre_trait_couleur(true) ; return ($out); }
function exec_acces_restreint(){ if (!autoriser('administrer','zone',0)) { include_spip('inc/minipres'); echo minipres(); exit; } $commencer_page = charger_fonction('commencer_page','inc'); echo $commencer_page(_T('accesrestreint:page_zones_acces')); echo gros_titre(_T('accesrestreint:titre_zones_acces'),'',false); echo debut_gauche("acces_restreint",true); echo debut_boite_info(true); echo propre(_T('accesrestreint:info_page')); echo fin_boite_info(true); if (autoriser('webmestre')) { $res = icone_horizontale(_L('Configuration des accès .htaccess'), generer_url_ecrire("acces_restreint_config"), "../"._DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", "cadenas-24.gif",false); echo bloc_des_raccourcis($res); } echo debut_droite("acces_restreint",true); echo recuperer_fond('prive/acces_restreint',$_GET); if (autoriser('modifier','zone')) echo "<div>".icone_inline(_T('accesrestreint:creer_zone'), generer_url_ecrire("zones_edit","new=oui"), _DIR_PLUGIN_ACCESRESTREINT."/img_pack/zones-acces-24.gif", "creer.gif",'right')."</div>"; echo fin_gauche(),fin_page(); }
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); }
/** * 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(); }
/** * Sauvegarder par morceaux * * @param string $arg */ function action_restaurer_dist($arg = null) { if (!$arg) { $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); } $status_file = $arg; define('_DUMP_STATUS_FILE', $status_file); $status_file = _DIR_TMP . basename($status_file) . ".txt"; if (!lire_fichier($status_file, $status) or !($status = unserialize($status))) { include_spip('inc/headers'); echo redirige_formulaire(generer_url_ecrire("restaurer", 'status=' . _DUMP_STATUS_FILE, '', true, true)); } else { utiliser_langue_visiteur(); $archive = "<br />" . joli_repertoire($status['archive']); $action = _T('dump:info_restauration_sauvegarde', array('archive' => $archive)); $admin = charger_fonction('admin', 'inc'); echo $admin('restaurer', $action, "", true); } // forcer l'envoi du buffer par tous les moyens ! echo str_repeat("<br />\r\n", 256); while (@ob_get_level()) { @ob_flush(); @flush(); @ob_end_flush(); } }
/** * Installation du plugin * * A chaque appel de exec/admin_plugin, si le plugin est active, * spip detecte spiplistes_install() et l'appelle 3 fois : * 1/ $action = 'test' * 2/ $action = 'install' * 3/ $action = 'test' * @global string $GLOBALS['meta']['spiplistes_version'] * @return boolean */ function spiplistes_install ($action) { include_spip('inc/spipliste_api_globales'); spiplistes_debug_log('spiplistes_install()'); switch($action) { case 'test': // si renvoie true, c'est que la base est a jour, inutile de re-installer // la valise plugin "effacer tout" apparait. // si renvoie false, SPIP revient avec $action = 'install' (une seule fois) $spiplistes_version = $GLOBALS['meta']['spiplistes_version']; $result = ( $spiplistes_version && ($spiplistes_version >= spiplistes_real_version_get(_SPIPLISTES_PREFIX)) && sql_showtable("spip_listes",true) ); //spiplistes_debug_log("TEST: ".($result ? "OK" : "NO")); return($result); break; case 'install': if(!$GLOBALS['meta']['spiplistes_version']) { $result = spiplistes_base_creer(); $str_log = "create"; } else { // logiquement, ne devrait pas passer par la (upgrade assure par mes_options) include_spip('base/spiplistes_upgrade'); $result = spiplistes_upgrade(); $str_log = "upgrade"; } $result = ( $result && spiplistes_initialise_spip_metas_spiplistes() && spiplistes_activer_inscription_visiteurs() ); $str_log = "INSTALL: $str_log " . spiplistes_str_ok_error($result); if(!$result) { // nota: SPIP ne filtre pas le resultat. Si retour en erreur, // la case a cocher du plugin sera quand meme cochee $str_log .= ": PLEASE REINSTALL PLUGIN"; } else { echo(_T('spiplistes:_aide_install' , array('url_config' => generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE)) )); } spiplistes_log($str_log); return($result); break; case 'uninstall': // est appelle lorsque "Effacer tout" dans exec=admin_plugin $result = spiplistes_vider_tables(); spiplistes_log("UNINSTALL: " . spiplistes_str_ok_error($result)); return($result); break; default: break; } return (FALSE); }
function exec_articles_page_dist() { global $connect_statut, $connect_id_auteur; pipeline('exec_init',array('args'=>array('exec'=>'articles_page'),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_articles_page'), "naviguer", "articles"); echo debut_gauche('', true); // // Afficher le bouton de creation d'article // echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_page'),'data'=>'')); if (sql_countsel('spip_rubriques')) { echo bloc_des_raccourcis(icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui"), "article-24.gif", "creer.gif", false)); } else { if (autoriser('creerrubriquedans', 'rubrique')) { echo _T('texte_creer_rubrique'); echo bloc_des_raccourcis(icone_horizontale (_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav"), "rubrique-24.gif", "creer.gif",false)); } } echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles_page'),'data'=>'')); echo debut_droite('', true); // // Vos articles en cours de redaction // echo afficher_objets('article',_T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", 'ORDER BY' => "articles.date DESC")); // // Vos articles soumis au vote // echo afficher_objets('article',_T('info_attente_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop'", "ORDER BY" => "articles.date")); // // Vos articles publies // echo afficher_objets('article',_T('info_publies'), array("FROM" =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='publie'", 'ORDER BY' => "articles.date DESC")); // // Vos articles refuses // echo afficher_objets('article',_T('info_refuses'), array('FROM' =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='refuse'", 'ORDER BY' => "articles.date DESC")); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'articles_page'),'data'=>'')); echo fin_gauche(), fin_page(); }
function couteau_suisse_ajouter_onglets($flux){ include_spip('inc/autoriser'); $arg = $flux['args']=='configuration' || $flux['args']=='plugins'; // si on est admin... if($arg && autoriser('configurer', 'cs')) $flux['data']['couteau_suisse']= new Bouton(find_in_path('img/couteau-24.gif'), _T('couteau:titre'), generer_url_ecrire('admin_couteau_suisse')); return $flux; }
function balise_LOGIN_PRIVE_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 = generer_url_ecrire('accueil','',true); return balise_FORMULAIRE__dyn('login',$url,$login,true); }
function balise_LOGIN_PRIVE_dyn($url, $login) { include_spip('balise/formulaire_'); if (!$url and !($url = _request('url'))) { $url = generer_url_ecrire('accueil', '', true); } return balise_FORMULAIRE__dyn('login', $url, $login, true); }
/** * cette fonction doit etre appelee avec un $id_transaction securise * jamais avec un $id_transaction qui provient directement de l'url sans verification * * @param <type> $mode * @param <type> $acte_ou_abo * @param <type> $succes * @param <type> $id_transaction */ function redirige_apres_retour_transaction($mode, $acte_ou_abo, $succes, $id_transaction = 0) { $redirect = ""; // cas de paiement par un admin (cheque...) // renvoyer dans le prive $id_auteur = sql_getfetsel("id_auteur", "spip_transactions", "id_transaction=" . intval($id_transaction)); if (isset($GLOBALS['visiteur_session']['id_auteur']) and $GLOBALS['visiteur_session']['id_auteur'] != $id_auteur and include_spip("inc/autoriser") and autoriser("regler", "transaction", $id_transaction)) { $redirect = generer_url_ecrire("transactions", "id_transaction=" . $id_transaction, true); } if (!$redirect) { // par defaut on revient sur une des pages reglees en define() // _BANK_ACTE_NORMAL_RETURN_URL // _BANK_ACTE_CANCEL_RETURN_URL // _BANK_ABO_NORMAL_RETURN_URL // _BANK_ABO_CANCEL_RETURN_URL $acte_ou_abo = $acte_ou_abo == 'acte' ? 'ACTE' : 'ABO'; $c = "_BANK_" . $acte_ou_abo . "_NORMAL_RETURN_URL"; if ($succes) { if (defined($c)) { $redirect = constant($c); } else { $redirect = generer_url_public('bank_retour_ok'); } } else { if (defined($c)) { $redirect = constant($c); } else { $redirect = generer_url_public('bank_retour_echec'); } } if (strlen($redirect)) { $redirect = parametre_url($redirect, 'type', $acte_ou_abo, '&'); if ($id_transaction = intval($id_transaction)) { // attraper les infos sur la transaction $row = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction)); } if ($row and $row['transaction_hash']) { $redirect = parametre_url($redirect, 'id_transaction', $id_transaction, '&'); $redirect = parametre_url($redirect, 'transaction_hash', $row['transaction_hash'], '&'); } } } // permettre de definir autrement l'url de redirection $redirect = pipeline('bank_redirige_apres_retour_transaction', array('args' => array('mode' => $mode, 'type' => $acte_ou_abo, 'succes' => $succes, 'id_transaction' => $id_transaction, 'row' => $row), 'data' => $redirect)); #var_dump($redirect);die(); if (strlen($redirect)) { include_spip('inc/headers'); redirige_par_entete($redirect); exit; } //on ne devrait jamais arriver la ! if ($succes) { echo "Transaction {$mode} {$acte_ou_abo} {$id_transaction} terminee OK"; } else { echo "Transaction {$mode} {$acte_ou_abo} {$id_transaction} annulee"; } die; }
function formulaires_recherche_ecrire_charger_dist($action = '', $class = '') { if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) { $lang = $GLOBALS['spip_lang']; } else { $lang = ''; } return array('action' => $action ? $action : generer_url_ecrire('recherche'), 'recherche' => _request('recherche'), 'lang' => $lang, 'class' => $class, '_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4)); }
function exec_documents_liste_dist() { // // Recupere les donnees // $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_documents_liste'), "naviguer", "documents"); echo debut_gauche('', true); ////////////////////////////////////////////////////// // Boite "voir en ligne" // echo debut_boite_info(true); echo propre(_T('texte_recapitiule_liste_documents')); echo fin_boite_info(true); echo debut_droite('', true); // recupere les titres des types $res = sql_select('extension, titre', "spip_types_documents"); while ($row = sql_fetch($res)) $types[$row['extension']] = $row; $result = sql_select("docs.id_document AS id_doc, docs.extension AS extension, docs.fichier AS fichier, docs.date AS date, docs.titre AS titre, docs.descriptif AS descriptif, R.id_rubrique AS id_rub, R.titre AS titre_rub", "spip_documents AS docs, spip_documents_liens AS lien, spip_rubriques AS R", "docs.id_document = lien.id_document AND R.id_rubrique = lien.id_objet AND lien.objet='rubrique' AND docs.mode = 'document'", "", "docs.date DESC"); while ($row=sql_fetch($result)){ $titre=$row['titre']; $descriptif=$row['descriptif']; $date=$row['date']; $id_document=$row['id_doc']; $id_rubrique=$row['id_rub']; $titre_rub = typo($row['titre_rub']); $fichier = $row['fichier']; if (!$titre) $titre = _T('info_document').' '.$id_document; debut_cadre_relief("doc-24.gif"); echo "<b>$titre</b> (" . $types[$row['extension']]['titre'] . ', ' . affdate($date) . ")"; if ($descriptif) echo propre($descriptif); else echo "<p><tt>$fichier</tt>" . '</p>'; echo "<p>"._T('info_dans_rubrique')." <a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>$titre_rub</a></p>"; echo fin_cadre_relief(true); } echo fin_gauche(), fin_page(); }
/** * Ajoute dans le bloc d'info d'un objet un bouton permettant d'aller voir * l'historique de ses révisions * * @param array $flux Données du pipeline * @return array $flux Données du pipeline */ function revisions_boite_infos($flux) { $type = $flux['args']['type']; if ($id = intval($flux['args']['id']) and $tables = unserialize($GLOBALS['meta']['objets_versions']) and in_array(table_objet_sql($type), $tables) and autoriser('voirrevisions', $type, $id) and sql_countsel('spip_versions', 'id_objet=' . intval($id) . ' AND objet = ' . sql_quote($type)) > 1) { include_spip('inc/presentation'); $flux['data'] .= icone_horizontale(_T('revisions:info_historique_lien'), generer_url_ecrire('revision', "id_objet={$id}&objet={$type}"), "revision-24.png"); } return $flux; }
/** * Ajout de l'onglet 'Ajouter les plugins' * * L'URL dépend de l'existence ou pas d'un dépot de plugins. * En absence, on amène sur la page permettant de créer un premier dépot. * * @pipeline ajouter_onglets * @param array $flux Données du pipeline * @return array Données du pipeline */ function svp_ajouter_onglets($flux) { if ($flux['args'] == 'plugins' and autoriser('ajouter', '_plugins')) { $compteurs = svp_compter('depot'); $page = $compteurs['depot'] == 0 ? 'depots' : 'charger_plugin'; $flux['data']['charger_plugin'] = new Bouton(find_in_theme('images/plugin-add-24.png'), 'plugin_titre_automatique_ajouter', generer_url_ecrire($page)); } return $flux; }
function formulaires_clevermail_post_edit_traiter_dist($pst_id = -1) { $champs = array('pst_subject' => _request('pst_subject'), 'pst_html' => _request('pst_html'), 'pst_text' => _request('pst_text')); $lst_id = sql_getfetsel("lst_id", "spip_cm_posts", "pst_id=" . intval(_request('pst_id'))); $lst_name = sql_getfetsel("lst_name", "spip_cm_lists", "lst_id=" . intval($lst_id)); sql_updateq('spip_cm_posts', $champs, "pst_id = " . intval(_request('pst_id'))); spip_log('Modification du message « ' . _request('pst_subject') . ' » (id = ' . _request('pst_id') . ') de la liste « ' . $lst_name . ' » (id = ' . $lst_id . ')', 'clevermail'); return array('message_ok' => 'ok', 'redirect' => generer_url_ecrire('clevermail_posts', 'lst_id=' . $lst_id)); }
function urls_generer_url_ecrire_forum_dist($id, $args = '', $ancre = '', $public = null, $connect = '') { $a = "id_forum=" . intval($id); if (is_null($public) and !$connect) { $public = objet_test_si_publie('forum', $id, $connect); } $h = ($public or $connect) ? generer_url_entite_absolue($id, 'forum', $args, $ancre, $connect) : generer_url_ecrire('controler_forum', "debut_forum=@{$id}" . ($args ? "&{$args}" : '')) . ($ancre ? "#{$ancre}" : ''); return $h; }
function base_restaurer_dist($titre = '', $reprise = false) { $status_file = _DUMP_STATUS_FILE; $status_file = _DIR_TMP . basename($status_file) . ".txt"; if (!lire_fichier($status_file, $status) or !($status = unserialize($status))) { } else { $redirect = parametre_url(generer_action_auteur('restaurer', _DUMP_STATUS_FILE), "step", intval(_request('step') + 1), '&'); $timeout = ini_get('max_execution_time'); // valeur conservatrice si on a pas reussi a lire le max_execution_time if (!$timeout) { $timeout = 30; } // parions sur une valeur tellement courante ... $max_time = time() + $timeout / 2; include_spip('inc/minipres'); @ini_set("zlib.output_compression", "0"); // pour permettre l'affichage au fur et a mesure $titre = _T('dump:restauration_en_cours') . " (" . count($status['tables']) . ") "; $balise_img = chercher_filtre('balise_img'); $titre .= $balise_img(chemin_image('searching.gif')); echo install_debut_html($titre); // script de rechargement auto sur timeout echo http_script("window.setTimeout('location.href=\"" . $redirect . "\";'," . $timeout * 1000 . ")"); echo "<div style='text-align: left'>\n"; dump_serveur($status['connect']); spip_connect('dump'); // au premier coup on ne fait rien sauf afficher l'ecran de sauvegarde if (_request('step')) { $options = array('callback_progression' => 'dump_afficher_progres', 'max_time' => $max_time, 'no_erase_dest' => lister_tables_noerase(), 'where' => $status['where'] ? $status['where'] : array(), 'desc_tables_dest' => array()); if ($desc = sql_getfetsel('valeur', 'spip_meta', "nom='dump_structure_temp'", '', '', '', '', 'dump') and $desc = unserialize($desc)) { $options['desc_tables_dest'] = $desc; } #var_dump(sql_allfetsel('nom,valeur','spip_meta',"",'','','','','dump')); #die(); $res = base_copier_tables($status_file, $status['tables'], 'dump', '', $options); } else { // mais on en profite pour reparer les version base pour etre sur de ne pas les perdre sql_updateq("spip_meta", array('impt' => 'oui'), "nom='version_installee'", '', 'dump'); sql_updateq("spip_meta", array('impt' => 'oui'), "nom LIKE '%_base_version'", '', 'dump'); } echo "</div>\n"; if (!$res) { echo dump_relance($redirect); } echo install_fin_html(); ob_end_flush(); flush(); if (!$res) { exit; } // quand on sort de $export avec true c'est qu'on a fini dump_end(_DUMP_STATUS_FILE, 'restaurer'); include_spip('inc/headers'); echo redirige_formulaire(generer_url_ecrire("restaurer", 'status=' . _DUMP_STATUS_FILE, '', true, true)); } }
/** * 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; }
function barre_onglets($rubrique, $ongletCourant, $class = "barre_onglet") { include_spip('inc/presentation'); $res = ''; foreach (definir_barre_onglets($rubrique) as $exec => $onglet) { $url = $onglet->url ? $onglet->url : generer_url_ecrire($exec); $res .= onglet(_T($onglet->libelle), $url, $exec, $ongletCourant, $onglet->icone); } return !$res ? '' : debut_onglet($class) . $res . fin_onglet(); }
/** * Rajoute à gauche de la page d'admin des plugins un lien vers * la page de CFG * * @param Array $flux * @return Array */ function cfg_affiche_gauche($flux){ if ($flux['args']['exec']=='admin_plugin'){ $flux['data'] = debut_cadre_enfonce('',true) . icone_horizontale('CFG – '._T('configuration'), generer_url_ecrire('cfg'), _DIR_PLUGIN_CFG.'cfg-22.png', '', false) . fin_cadre_enfonce(true) . $flux['data']; } return $flux; }
function barre_onglets_stat_referers() { $onglets = array(); $onglets['jour']= new Bouton(null, 'date_aujourdhui', generer_url_ecrire("statistiques_referers","")); $onglets['veille']= new Bouton(null, 'date_hier', generer_url_ecrire("statistiques_referers","jour=veille")); return $onglets; }
function exec_mots_type_dist() { $id_groupe= intval(_request('id_groupe')); if (!$id_groupe) { $type = $titre = filtrer_entites(_T('titre_nouveau_groupe')); $row = array(); } else { $row = sql_fetsel("id_groupe,titre", "spip_groupes_mots", "id_groupe=$id_groupe"); if ($row) { $id_groupe = $row['id_groupe']; $type = $row['titre']; $titre = typo($type); } } if (($id_groupe AND !$row) OR !autoriser($id_groupe?'modifier' : 'creer', 'groupemots', $id_groupe)) { include_spip('inc/minipres'); echo minipres(); } else { pipeline('exec_init',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page("« $titre »", "naviguer", "mots"); echo debut_gauche('', true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'mots_type','id_groupe'=>$id_groupe),'data'=>'')); echo debut_droite('', true); $contexte = array( 'icone_retour'=>icone_inline(_T('icone_retour'), generer_url_ecrire("mots_tous") . "#mots_tous-$id_groupe", "groupe-mot-24.gif", "rien.gif",$GLOBALS['spip_lang_left']), 'titre'=>$type, 'redirect'=>generer_url_ecrire("mots_tous",""), 'new'=>_request('new') == "oui"?"oui":$id_groupe, 'config_fonc'=>'groupes_mots_edit_config', ); echo recuperer_fond("prive/editer/groupe_mot", $contexte); echo pipeline('affiche_milieu', array('args' => array( 'exec' => 'mots_type', 'id_groupe' => $id_groupe ), 'data'=>'') ), fin_gauche(), fin_page(); } }
function action_galettonuts_cron_manuel_dist() { $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action('galettonuts-0.1'); $voir_statut = _request('statut'); if ($voir_statut) { $voir_statut = '&statut=' . $voir_statut; } include_spip('inc/galettonuts_fonctions'); $code = (int) galettonuts_synchroniser(); redirige_par_entete(generer_url_ecrire(_request('redirect'), 'galettonuts_synchro_ok=oui&code_retour=' . $code . $voir_statut, true)); }
function spiplistes_ajouter_onglets ($flux) { global $connect_statut , $connect_toutes_rubriques ; // seul les webmestres ont acces au bouton de configuration if( $connect_statut && $connect_toutes_rubriques ) { switch($flux['args']) { case 'configuration': $flux['data'][_SPIPLISTES_PREFIX] = new Bouton( _DIR_PLUGIN_SPIPLISTES_IMG_PACK."courriers_listes-24.png" , _T("spiplistes:listes_de_diffusion_") , generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE) ) ; break; } } // tous les administrateurs restreints peuvent gerer les listes de diffusion // Leur donner accees a tous les boutons dans "Editer" if( $connect_statut == '0minirezo' ) { switch($flux['args']) { case 'spiplistes': $flux['data']['courriers_casier'] = new Bouton( _DIR_PLUGIN_SPIPLISTES_IMG_PACK."stock_hyperlink-mail-and-news-24.gif" , _T('spiplistes:casier_a_courriers') , generer_url_ecrire(_SPIPLISTES_EXEC_COURRIERS_LISTE) ) ; $flux['data']['listes_toutes'] = new Bouton( _DIR_PLUGIN_SPIPLISTES_IMG_PACK."reply-to-all-24.gif" , _T('spiplistes:listes_de_diffusion_') , generer_url_ecrire(_SPIPLISTES_EXEC_LISTES_LISTE) ) ; $flux['data']['abonnes_tous'] = new Bouton( _DIR_PLUGIN_SPIPLISTES_IMG_PACK."addressbook-24.gif" , _T('spiplistes:suivi') , generer_url_ecrire(_SPIPLISTES_EXEC_ABONNES_LISTE) ) ; break; } } return ($flux); }
/** * 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')); } }