Example #1
0
function exec_admin_repair_dist()
{
	$ok = false;
	if (!spip_connect())
		$message =  _T('titre_probleme_technique');
	else {
		$version_sql = sql_version();
		if (!$version_sql)
			$message = _T('avis_erreur_connexion_mysql');
		else {
			$s = $GLOBALS['connexions'][0]['type'];
		  
			if ($s == 'mysql'
			AND version_compare($version_sql,'3.23.14','<'))
			  $message = _T('avis_version_mysql', array('version_mysql' => " MySQL $version_sql"));
			else {
				$message = _T('texte_requetes_echouent');
				$ok = true;
			}
		}
		$action = _T('texte_tenter_reparation');
	}
	if ($ok) {
		$admin = charger_fonction('admin', 'inc');
		echo $admin('admin_repair', $action, $message, true);
	} else {
		include_spip('inc/minipres');
		echo minipres(_T('titre_reparation'), "<p>$message</p>");
	}
}
Example #2
0
function exec_install_dist()
{
	$etape = _request('etape');
	$deja = (_FILE_CONNECT AND analyse_fichier_connection(_FILE_CONNECT));

	// Si deja installe, on n'a plus le droit qu'a l'etape chmod
	// pour chgt post-install ou aux etapes supplementaires 
	// de declaration de base externes.
	// Mais alors il faut authentifier car ecrire/index.php l'a omis

	if ($deja AND in_array($etape, array('chmod', 'sup1', 'sup2'))) {

		$auth = charger_fonction('auth', 'inc');
		if (!$auth()) {
			verifier_visiteur();
			$deja = (!autoriser('configurer'));
		}
	}
	if ($deja) {
		// Rien a faire ici
	  	echo minipres();
	} else {
		include_spip('base/create');
		$fonc = charger_fonction("etape_$etape", 'install');
		$fonc();
	}
}
Example #3
0
function exec_editer_mots_args($id_objet, $objet)
{
	$base="";
	if (!$id_objet OR !$objet)
		$droit = false;
	elseif ($GLOBALS['connect_toutes_rubriques']) // pour eviter SQL
		$droit = true;
	elseif ($objet == 'article')
		$droit = autoriser('modifier','article',$id_objet);
	elseif ($objet == 'rubrique')
		$droit = autoriser('publierdans','rubrique',$id_objet);
	else {
		if ($objet == 'breve')
			$droit = sql_select("id_rubrique", "spip_breves", "id_breve=".sql_quote($id_objet));
		else
			$droit = sql_select("id_rubrique", "spip_syndic", "id_syndic=".sql_quote($id_objet));
		$droit = autoriser('publierdans','rubrique',$droit['id_rubrique']);
	}
	$bases = array('article'=>'articles','breve'=>'breves_voir','rubrique'=>'naviguer','syndic'=>'sites');
	if (isset($bases[$objet]))
		$base = $bases[$objet];

	if (!$droit) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

		$ch = _request('cherche_mot');
		$id_groupe = _request('select_groupe');
		$editer_mots = charger_fonction('editer_mots', 'inc');
		ajax_retour($editer_mots($objet, $id_objet, $ch, $id_groupe, 'ajax',false,$base)); 
	}
}
Example #4
0
function cfg_charger_classe($nom, $dossier = 'inc', $continue = false)
{
    if (class_exists($f = $nom)) {
        return $f;
    }
    if (class_exists($g = $f . '_dist')) {
        return $g;
    }
    if (substr($dossier, -1) != '/') {
        $dossier .= '/';
    }
    // Sinon charger le fichier de declaration si plausible
    if (!preg_match(',^\\w+$,', $f)) {
        die(htmlspecialchars($nom) . " pas autorise");
    }
    // passer en minuscules (cf les balises de formulaires)
    $inc = include_spip($d = $dossier . strtolower($nom));
    if (class_exists($f)) {
        return $f;
    }
    if (class_exists($g)) {
        return $g;
    }
    if ($continue) {
        return false;
    }
    // Echec : message d'erreur
    spip_log("class {$nom} ({$f} ou {$g}) indisponible" . ($inc ? "" : " (fichier {$d} absent)"));
    include_spip('inc/minipres');
    echo minipres(_T('forum_titre_erreur'), _T('fichier_introuvable', array('fichier' => '<b>' . htmlentities($d) . '</b>')));
    exit;
}
Example #5
0
function exec_config_lang_dist()
{ 

	if (!autoriser('configurer', 'lang')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$config = charger_fonction('config', 'inc');
	$config();

	pipeline('exec_init',array('args'=>array('exec'=>'config_lang'),'data'=>''));
	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");

	echo debut_gauche('', true);

	echo debut_droite('', true);

	echo "<br /><div style='text-align: center'>", 
	  gros_titre(_T('info_langues'), '', false),
	  '</div><br />',
	  barre_onglets("config_lang", "langues"),
	  '<br />';
 
	$langue = charger_fonction('langue', 'configuration');
	echo $langue();

	$transcodeur = charger_fonction('transcodeur', 'configuration');
	echo $transcodeur();

	echo fin_gauche(), fin_page();
	}
}
Example #6
0
/**
 * Page d'affichage des résultats de validation XML selon une DTD
 *
 * - l'argument var_url peut indiquer un fichier ou un repertoire
 * - l'argument ext peut valoir "php" ou "html"
 * -- Si "php", le script est execute et la page valide
 * -- Si "html", on suppose que c'est un squelette dont on devine les args
 *    en cherchant les occurrences de Pile[0].
 *
 * @example
 *     ```
 *     ecrire?exec=valider_xml&var_url=exec&ext=php pour tester l'espace prive
 *     ecrire?exec=valider_xml&var_url=../squelettes-dist&ext=html pour le public
 *     ```
 *
 * @uses valider_xml_ok()
 **/
function exec_valider_xml_dist()
{
    if (!autoriser('sauvegarder')) {
        include_spip('inc/minipres');
        echo minipres();
    } else {
        $erreur = "";
        // verifier que les var de l'URL sont conformes avant d'appeler la fonction
        $url = trim(_request('var_url'));
        if (strncmp($url, '/', 1) == 0) {
            $erreur = 'Chemin absolu interdit pour var_url';
        }
        // on a pas le droit de remonter plus de 1 fois dans le path (pas 2 occurences de ../)
        if (($p = strpos($url, '../')) !== false and strpos($url, '../', $p + 3) !== false) {
            $erreur = 'Interdit de remonter en dehors de la racine';
        }
        $ext = trim(_request('ext'));
        $ext = ltrim($ext, '.');
        // precaution
        if (preg_match('/\\W/', $ext)) {
            $erreur = 'Extension invalide';
        }
        if ($erreur) {
            include_spip('inc/minipres');
            echo minipres($erreur);
        } else {
            valider_xml_ok($url, $ext, intval(_request('limit')), _request('recur'));
        }
    }
}
Example #7
0
/**
 * Telecharger un dump quand on est webmestre
 * 
 * @param string $arg
 */
function action_telecharger_dump_dist($arg = null)
{
    if (!$arg) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
    }
    $file = dump_repertoire() . basename($arg, '.sqlite') . '.sqlite';
    if (file_exists($file) and autoriser('webmestre')) {
        $f = basename($file);
        // ce content-type est necessaire pour eviter des corruptions de zip dans ie6
        header('Content-Type: application/octet-stream');
        header("Content-Disposition: attachment; filename=\"{$f}\";");
        header("Content-Transfer-Encoding: binary");
        // fix for IE catching or PHP bug issue
        header("Pragma: public");
        header("Expires: 0");
        // set expiration time
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        if ($cl = filesize($file)) {
            header("Content-Length: " . $cl);
        }
        readfile($file);
    } else {
        http_status(404);
        include_spip('inc/minipres');
        echo minipres(_T('erreur') . ' 404', _T('info_acces_interdit'));
    }
    // et on finit comme ca d'un coup
    exit;
}
Example #8
0
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&#232;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();
}
Example #9
0
function exec_admin_declarer_dist()
{
	if (!autoriser('detruire')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo $commencer_page(_T('titre_admin_tech'), "configuration", "base");

	echo "\n<br /><br />";
	echo gros_titre(_T('titre_admin_effacer'),'',false);
	echo barre_onglets("administration", "declarer");

	echo debut_gauche('',true);
	echo debut_boite_info(true);

	echo _T('info_gauche_admin_effacer');

	echo fin_boite_info(true);
	
	echo creer_colonne_droite('',true);
	echo pipeline('affiche_droite',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  
	
	echo debut_droite('',true);

	echo autres_bases();

	echo pipeline('affiche_milieu',array('args'=>array('exec'=>'admin_effacer'),'data'=>''));	  

	echo fin_gauche(), fin_page();
	}
}
Example #10
0
function exec_admin_tech_dist()
{
	if (!autoriser('sauvegarder')){
		include_spip('inc/minipres');
		echo minipres();
	} else exec_admin_tech_args(options_avancees_dump());
}
Example #11
0
function exec_articles_args($id_article)
{
	pipeline('exec_init',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));

	$row = sql_fetsel("*", "spip_articles", "id_article=$id_article");

	if (!$row
	OR !autoriser('voir', 'article', $id_article)) {
		include_spip('inc/minipres');
		echo minipres(_T('public:aucun_article'));
	} else {
		$row['titre'] = sinon($row["titre"],_T('info_sans_titre'));

		$res = debut_gauche('accueil',true)
		  .  articles_affiche($id_article, $row, _request('cherche_auteur'), _request('ids'), _request('cherche_mot'), _request('select_groupe'), _request('trad_err'), _request('debut'))
		  . "<br /><br /><div class='centered'>"
		. "</div>"
		. fin_gauche();

		$commencer_page = charger_fonction('commencer_page', 'inc');
		echo $commencer_page("&laquo; ". $row['titre'] ." &raquo;", "naviguer", "articles", $row['id_rubrique']);

		echo debut_grand_cadre(true),
			afficher_hierarchie($row['id_rubrique'],_T('titre_cadre_interieur_rubrique'),$id_article,'article',$row['id_secteur'],($row['statut'] == 'publie')),
			fin_grand_cadre(true),
			$res,
			fin_page();
	}
}
Example #12
0
/**
 * Exec de la page de destruction des tables de SPIP
**/
function exec_base_delete_all_dist()
{
    include_spip('inc/autoriser');
    if (!autoriser('detruire')) {
        include_spip('inc/minipres');
        echo minipres();
    } else {
        include_spip('base/dump');
        $res = base_lister_toutes_tables('', array(), array(), true);
        if (!$res) {
            include_spip('inc/minipres');
            spip_log("Erreur base de donnees");
            echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique') . "<p><tt>" . sql_errno() . " " . sql_error() . "</tt></p>");
        } else {
            $res = base_saisie_tables('delete', $res);
            include_spip('inc/headers');
            $res = "\n<ol style='text-align:left'><li>\n" . join("</li>\n<li>", $res) . '</li></ol>';
            $admin = charger_fonction('admin', 'inc');
            $res = $admin('delete_all', _T('titre_page_delete_all'), $res);
            if (!$res) {
                redirige_url_ecrire('install', '');
            } else {
                echo $res;
            }
        }
    }
}
Example #13
0
function action_iextras_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $arg = $securiser_action();
    // droits
    include_spip('inc/autoriser');
    if (!autoriser('configurer', 'iextra')) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    @(list($arg, $id_extra_ou_table, $champ) = explode('/', $arg));
    // actions possibles
    if (!in_array($arg, array('associer_champ', 'supprimer_champ'))) {
        include_spip('inc/minipres');
        echo minipres(_T('iextras:erreur_action', array("action" => $arg)));
        exit;
    }
    // cas de l'association d'un champ existant
    if ($arg == 'associer_champ' and $table = $id_extra_ou_table and $champ) {
        $extra_id = action_associer_champ_sql_comme_champ_extra($table, $champ);
    }
    // cas de la suppression d'un champ existant
    if ($arg == 'supprimer_champ' and $table = $id_extra_ou_table and $champ) {
        action_supprimer_champ_sql($table, $champ);
    }
}
/**
 * Action de mise à jour des descriptions d'un dépot
 *
 * @return array
 *     Liste identifiant du dépot, texte d'erreur éventuel
 **/
function action_editer_depot_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $arg = $securiser_action();
    // Verification des autorisations
    if (!autoriser('webmestre')) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    // Le depot n'est jamais cree par une edition mais via le formulaire ajouter_depot
    // On est toujours en presence d'une mise a jour pour cette action, l'id_depot
    // doit donc etre renseigne sinon c'est une erreur
    if ($id_depot = intval($arg)) {
        // On teste si l'auteur est connecte. Si non on renvoie sur le formulaire login
        $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
        if (!$id_auteur) {
            include_spip('inc/headers');
            redirige_url_ecrire();
        }
        // On met a jour le depot avec les saisies
        if (sql_updateq('spip_depots', array('titre' => _request('titre'), 'descriptif' => _request('descriptif'), 'type' => _request('type')), 'id_depot=' . sql_quote($id_depot))) {
        }
        // Enregistre l'envoi dans la BD
        // Dans le cas du depot rien n'est fait actuellement, on garde cette fonction
        // par souci de coherence avec les autres editions d'objet et pour usage futur
        $err = depots_set($id_depot);
        if (!$err) {
            spip_log("ACTION MODIFIER DEPOT (manuel) : id_depot = " . $id_depot, 'svp_actions.' . _LOG_INFO);
        }
    }
    return array($id_depot, $err);
}
/**
 * Point d'entrée d'édition d'un objet
 *
 * On ne peut entrer que par un appel en fournissant $id et $objet
 * ou avec un argument d'action sécurisée de type "objet/id"
 *
 * @param int $id
 * @param string $objet
 * @param array $set
 * @return array
 */
function action_editer_objet_dist($id = null, $objet = null, $set = null)
{
    // appel direct depuis une url avec arg = "objet/id"
    if (is_null($id) or is_null($objet)) {
        $securiser_action = charger_fonction('securiser_action', 'inc');
        $arg = $securiser_action();
        list($objet, $id) = array_pad(explode("/", $arg, 2), 2, null);
    }
    // appel incorrect ou depuis une url erronnée interdit
    if (is_null($id) or is_null($objet)) {
        include_spip('inc/minipres');
        echo minipres(_T('info_acces_interdit'));
        die;
    }
    // si id n'est pas un nombre, c'est une creation
    // mais on verifie qu'on a toutes les donnees qu'il faut.
    if (!($id = intval($id))) {
        // on ne sait pas si un parent existe mais on essaye
        $id_parent = _request('id_parent');
        $id = objet_inserer($objet, $id_parent);
    }
    if (!($id = intval($id)) > 0) {
        return array($id, _L('echec enregistrement en base'));
    }
    // Enregistre l'envoi dans la BD
    $err = objet_modifier($objet, $id, $set);
    return array($id, $err);
}
Example #16
0
function charger_fonction($nom, $dossier='exec', $continue=false) {

	if (strlen($dossier) AND substr($dossier,-1) != '/') $dossier .= '/';

	if (function_exists($f = str_replace('/','_',$dossier) . $nom))
		return $f;
	if (function_exists($g = $f . '_dist'))
		return $g;

	// Sinon charger le fichier de declaration si plausible

	if (!preg_match(',^\w+$,', $f))
		die(htmlspecialchars($nom)." pas autorise");

	// passer en minuscules (cf les balises de formulaires)
	// et inclure le fichier
	if (!$inc = include_spip($dossier.($d = strtolower($nom)))
		// si le fichier truc/machin/nom.php n'existe pas,
		// la fonction peut etre definie dans truc/machin.php qui regroupe plusieurs petites fonctions
		AND strlen(dirname($dossier)) AND dirname($dossier)!='.')
		include_spip(substr($dossier,0,-1));
	if (function_exists($f)) return $f;
	if (function_exists($g)) return $g;

	if ($continue) return false;

	// Echec : message d'erreur
	spip_log("fonction $nom ($f ou $g) indisponible" .
		($inc ? "" : " (fichier $d absent de $dossier)"));

	include_spip('inc/minipres');
	echo minipres(_T('forum_titre_erreur'),
		 _T('fichier_introuvable', array('fichier'=> '<b>'.htmlentities($d).'</b>')));
	exit;
}
Example #17
0
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);
}
Example #18
0
function exec_valider_xml_dist()
{
	if (!autoriser('sauvegarder')) {
		include_spip('inc/minipres');
		echo minipres();
	} else valider_xml_ok(_request('var_url'), _request('ext'), intval(_request('limit')), _request('recur'));
}
Example #19
0
function exec_statistiques_lang_dist()
{
        if (!autoriser('voirstats')) {
          include_spip('inc/minipres');
          echo minipres();
	} else statistiques_lang_ok();
}
function action_dereferencer_traduction_rubrique_dist() {
	$securiser_action = charger_fonction('securiser_action', 'inc');
	$arg = $securiser_action();

	list($type, $id_objet) = explode('/', $arg);
	if (!$type = objet_type($type) or !$id_objet = intval($id_objet)) {
		if (!_AJAX) {
			include_spip('inc/minipres');
			minipres('Arguments incompris');
		}
		else {
			spip_log('Arguments incompris dans action dereferencer_traduction_rubrique');
			return false;
		}
	}

	$objet = table_objet($type);
	$_id_objet = id_table_objet($objet);
	$table = table_objet_sql($objet);

	$id_trad_old = sql_getfetsel('id_trad', $table, "$_id_objet = " . sql_quote($id_objet));

	if ($id_trad_old) {
		include_spip('inc/modifier');
		modifier_contenu($objet, $id_objet, array('invalideur' => "id='$objet/$id_objet'"), array('id_trad' => 0));

		// si la deliaison fait qu'il ne reste plus que la source
		// dans le groupe de traduction on lui remet l'id_trad a 0
		if (1 == $nb_dans_groupe = sql_countsel($table, array('id_trad = ' . sql_quote($id_trad_old)))) {
			modifier_contenu($objet, $id_trad_old, array('invalideur' => "id='$objet/$id_trad_old'"), array('id_trad' => 0));
		}
	}
}
/**
 * Traite l'erreur d'un upload trop gros
 *
 * L'erreur est appelée depuis public.php et medias_detecter_fond_par_defaut
 * et affiche un minipres avec la taille limite de documents possibles
 *
 * @see minipres()
 **/
function erreur_upload_trop_gros()
{
    include_spip('inc/filtres');
    $msg = "<p>" . taille_en_octets($_SERVER["CONTENT_LENGTH"]) . '<br />' . _T('medias:upload_limit', array('max' => ini_get('upload_max_filesize'))) . "</p>";
    echo minipres(_T('pass_erreur'), "<div class='upload_answer upload_error'>" . $msg . "</div>");
    exit;
}
Example #22
0
/**
 * Action de mise à jour en base de données de la liste des plugins
 * d'un ou de tous les dépots
 */
function action_actualiser_depot_dist()
{
    // Securisation: aucun argument attendu
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $arg = $securiser_action();
    // Verification des autorisations
    if (!autoriser('webmestre')) {
        include_spip('inc/minipres');
        echo minipres();
        exit;
    }
    // Actualisation des plugins du depot ou de tous les plugins suivant l'argument de l'action
    // Le depot lui-meme n'est mis a jour que partiellement via le fichier XML une fois que
    // la premiere insertion a ete effectuee. En effet, seules les infos non editables dans le prive
    // peuvent etre actualisees lors de cette action
    include_spip('inc/svp_depoter_distant');
    if ($arg === 'tout') {
        if ($ids_depots = sql_allfetsel('id_depot', 'spip_depots')) {
            $ids_depots = array_map('reset', $ids_depots);
            foreach ($ids_depots as $_id_depot) {
                svp_actualiser_depot($_id_depot);
            }
            // On consigne l'action
            spip_log("ACTION ACTUALISER TOUS LES DEPOTS (manuel)", 'svp_actions.' . _LOG_INFO);
        }
    } else {
        if ($id_depot = intval($arg)) {
            svp_actualiser_depot($id_depot);
            // On consigne l'action
            spip_log("ACTION ACTUALISER DEPOT (manuel) : id_depot = " . $id_depot, 'svp_actions.' . _LOG_INFO);
        }
    }
}
Example #23
0
	function action_cs_spam(){
		include_spip('inc/minipres');
		echo minipres(
			_T('couteau:lutte_spam'),
			'<pre>'.$_POST[$_GET['var']].'</pre><div>'._T('couteau:explique_spam').'</div>'
		);
		exit;
	}
Example #24
0
function exec_statistiques_referers_dist()
{
	$jour = _request('jour');
	$limit  = _request('limit');
// nombre de referers a afficher
	$limit = intval($limit);	//secu
	if (!autoriser('voirstats','article')) {
		include_spip('inc/minipres');
		echo minipres();
	} else {

	if ($limit == 0) $limit = 100;
	if ($jour<>'veille') $jour='jour';

	$referenceurs = charger_fonction('referenceurs', 'inc');
	$res = $referenceurs (0, "SUM(visites_$jour)", 'spip_referers', "visites_$jour>0", "referer", $limit);

	$n =  count($res);
	$args = "jour=$jour&limit=" . strval($limit+200);
	$plus = generer_url_ecrire('statistiques_referers', $args);

	if ($plus) {
		$plus = "<div style='text-align:right;'><b><a href='$plus'>+++</a></b></div>";
	}

	$titre = _T('titre_liens_entrants')
		. " ($n " 
		. ($n <= 1 ?  _T('info_site') :  _T('info_sites'))
		. ")";

	$commencer_page = charger_fonction('commencer_page', 'inc');

	echo $commencer_page(_T('titre_page_statistiques_referers'), "statistiques_visites", "referers");

	echo "<br /><br /><br />";
	echo gros_titre($titre,'', false);
	echo debut_gauche('', true);
	echo debut_boite_info(true);
	echo "<p style='font-size:small; text-align:left;' class='verdana1'>";
	echo _T('info_gauche_statistiques_referers');
	echo "</p>";
	echo fin_boite_info(true);
	echo debut_droite('', true);
	echo barre_onglets("stat_referers", $jour);

	if ($res) {
		echo "<br /><div style='font-size:small;' class='verdana1'>";
		echo "<ul class='referers'><li>";
		echo join("</li><li>\n", $res);
		echo "</li></ul>";
		echo $plus;
		echo "</div><br />";
	}

	echo fin_gauche(), fin_page();
	}
}
Example #25
0
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();
}
Example #26
0
function exec_forum_admin_dist() {

  if (!autoriser('forum_admin')) {
	include_spip('inc/minipres');
	echo minipres();
  } else {
	include_spip('exec/forum');
	forum_affiche(intval(_request('debut')), true);
  }
}
function exec_configurer_previsualiseur_dist()
{
	if(!autoriser('configurer', _request('configuration'))) {
		include_spip('inc/minipres');
		echo minipres(_T('info_acces_interdit'));
		exit;
	}
	$previsualiseur = charger_fonction('previsualiseur', 'configuration');
	include_spip('inc/actions');
	ajax_retour($previsualiseur());
}
function exec_configurer_notifications_forum_dist()
{
	if(!autoriser('configurer', _request('configuration'))) {
		include_spip('inc/minipres');
		echo minipres(_T('info_acces_interdit'));
		exit;
	}
	$f = charger_fonction('notifications_forum', 'configuration');
	include_spip('inc/actions');
	ajax_retour($f());
}
Example #29
0
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("&laquo; $titre &raquo;", "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();
	}
}
Example #30
0
function exec_legender_args($id_document, $type, $id, $ancre='', $script='')
{
	if (!$id_document OR !autoriser('joindredocument',$type, $id)) {
		include_spip('inc/minipres');
		echo minipres();
	} else {
		include_spip('inc/actions');
		$legender = charger_fonction('legender', 'inc');
		ajax_retour($legender($id_document, array(), $script, $type, $id, $ancre));
	}
}