Your IP : 216.73.217.68


Current Path : /home/atelierpru/www/OLD/plugins/auto/seo/v2.1.7/
Upload File :
Current File : /home/atelierpru/www/OLD/plugins/auto/seo/v2.1.7/seo_pipelines_ecrire.php

<?php
/**
 * BouncingOrange SPIP SEO plugin
 *
 * @category   SEO
 * @package    SPIP\SEO\Pipelines
 * @author     Pierre ROUSSET (p.rousset@gmail.com)
 * @copyright  Copyright (c) 2009 BouncingOrange (http://www.bouncingorange.com)
 * @license    http://opensource.org/licenses/gpl-2.0.php  General Public License (GPL 2.0)
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

function seo_metas_editable($objet) {
	include_spip('inc/config');
	if (lire_config('seo/meta_tags/activate', 'off') == 'yes'
		&& lire_config('seo/meta_tags/activate_editing', 'off') == 'yes') {
		$table_sql = table_objet_sql($objet);
		if (in_array($table_sql, lire_config('seo/meta_tags/editable_tables', array('spip_articles', 'spip_rubriques')))) {
			return true;
		}
	}
	return false;
}
/**
 * Insertion dans le pipeline afficher_contenu_objet (SPIP)
 *
 * Afficher les meta-tags en bas du contenu de l'objet
 *
 * @param array $flux
 * 		Le contexte du pipeline
 * @return array $flux
 * 		Le contexte du pipeline modifé
 */
function seo_afficher_contenu_objet($flux) {
	$flux['data'] .= recuperer_fond('prive/objets/seo-metas', array('objet' => $flux['args']['type'], 'id_objet' => $flux['args']['id_objet']));
	return $flux;
}

/**
 * Insertion dans le pipeline formulaire_charger
 *
 * Charger les valeurs des meta-tags pour la saisie dans l'objet
 *
 * @param array $flux
 * 		Le contexte du pipeline
 * @return array $flux
 * 		Le contexte du pipeline modifié
 */
function seo_formulaire_charger($flux) {
	if (strncmp($flux['args']['form'], 'editer_', 7) == 0
		and $objet = substr($flux['args']['form'], 7)
		and seo_metas_editable($objet)) {
		$valeurs = array(
			'meta_title'=>'',
			'meta_description'=>'',
			'meta_keywords'=>'',
			'meta_copyright'=>'',
			'meta_author'=>'',
			'meta_robots'=>'',
		);
		if ($id_objet = intval($flux['args']['args'][0])) {
			$metas = sql_select('*', 'spip_seo', 'id_objet ='.intval($id_objet).' AND objet ='.sql_quote($objet));
			while ($meta = sql_fetch($metas)) {
				$valeurs['meta_'.$meta['meta_name']] = $meta['meta_content'];
			}
		}
		$flux['data'] = array_merge($flux['data'], $valeurs);
	}
	return $flux;
}

/**
 * Enregistrer les valeurs des meta-tags apres la saisie dans l'objet
 * @param array $flux
 * @return array
 */
function seo_formulaire_traiter($flux) {
	if (strncmp($flux['args']['form'], 'editer_', 7) == 0
		and $objet = substr($flux['args']['form'], 7)
		and _request('seo_metas')
		and $id_table_objet=id_table_objet($objet)
		and isset($flux['data'][$id_table_objet])
		and $id_objet=$flux['data'][$id_table_objet]) {
		$editer_seo = charger_fonction('editer_seo', 'action');
		$err = $editer_seo($objet, $id_objet, 'meta_');

		if ($err) {
			if (!isset($flux['data']['message_erreur'])) {
				$flux['data']['message_erreur'] = '';
			}
			$flux['data']['message_erreur'] .= ' ' ._L('Vous n\'avez pas le droit de modifier les meta-tags : '.$err);
			if (isset($flux['data']['redirect'])) {
				unset($flux['data']['redirect']);
			}
		}
	}
	return $flux;
}


/**
 * Insertion dans le pipeline formulaire_fond (SPIP)
 *
 * Ajouter la saisie des meta-tags dans le form de saisie de l'objet
 *
 * @param array $flux
 * 		Le contexte du pipeline
 * @return array $flux
 * 		Le contexte du pipeline modifié
 */
function seo_formulaire_fond($flux) {

	if (isset($flux['args']['args']['type'])
		and $objet = $flux['args']['args']['type']
		and $flux['args']['form']=="editer_$objet"
		and seo_metas_editable($objet)) {
		$ins = recuperer_fond('formulaires/inc-editer-seo', $flux['args']['contexte']);
		if ($p=strpos($flux['data'], $i = '<!--extra-->')
			or $p=strrpos($flux['data'], $i = '</ul>')) {
			$p = $p + strlen($i);
			$flux['data'] = substr_replace($flux['data'], $ins, $p, 0);
		}
	}
	return $flux;
}