PluXml icon indicating copy to clipboard operation
PluXml copied to clipboard

echo et return sur la fonction plxShow->meta

Open Philippe-M opened this issue 4 years ago • 0 comments

Afin d'être plus libre dans la gestion des metadonnées d'une page, par exemple pour intégrer les balises og: ou twitter:, j'ai réalisé une modification de la fonction plxShow->meta avec l'ajout d'un paramètre result (j'ai pas été très inspiré).

	/**
	 * Méthode qui affiche le meta passé en paramètre
	 *
	 * @param	meta	nom du meta à afficher (description, keywords,author)
	 * @param result   echo or return value
	 * @scope	global
	 * @author	Stéphane F, Pedro "P3ter" CADETE, Philippe M
	 **/
	public function meta($meta='', $result='') {
		# Hook Plugins
		if(eval($this->plxMotor->plxPlugins->callHook('plxShowMeta'))) return;

		if(!in_array($meta, array('description','keywords','author')))
			return;

		$meta=strtolower($meta);

		if($this->plxMotor->mode == 'home') {
			if(!empty($this->plxMotor->aConf['meta_'.$meta])) {
				if(empty($result)) {
					echo "\t".'<meta name="'.$meta.'" content="'.plxUtils::strCheck($this->plxMotor->aConf['meta_'.$meta]).'" />'."\n";
				} elseif($result='get') {
					return $this->plxMotor->aConf['meta_'.$meta];
				}
			}
		}

		if($this->plxMotor->mode == 'article') {
			if($meta=='author') {
				if(empty($result)) {
					echo "\t".'<meta name="author" content="'.$this->artAuthor(false).'" />'."\n";
				} elseif($result='get') {
					return $this->artAuthor(false);
				}
			} else {
				$meta_content=trim($this->plxMotor->plxRecord_arts->f('meta_'.$meta));
				if(!empty($meta_content)) {
					if(empty($result)) {
						echo "\t".'<meta name="'.$meta.'" content="'.plxUtils::strCheck($meta_content).'" />'."\n";
					} elseif($result='get') {
						return plxUtils::strCheck($meta_content);
					}
				}
			}
		}

		if($this->plxMotor->mode == 'static') {
			if(!empty($this->plxMotor->aStats[ $this->plxMotor->cible ]['meta_'.$meta])) {
				if(empty($result)) {
					echo "\t".'<meta name="'.$meta.'" content="'.plxUtils::strCheck($this->plxMotor->aStats[ $this->plxMotor->cible ]['meta_'.$meta]).'" />'."\n";
				} elseif($result='get') {
					return plxUtils::strCheck($this->plxMotor->aStats[ $this->plxMotor->cible ]['meta_'.$meta]);
				}
			}
		}
		
		if($this->plxMotor->mode == 'categorie') {
			if(!empty($this->plxMotor->aCats[ $this->plxMotor->cible ]['meta_'.$meta])) {
				if(empty($result)) {
					echo "\t".'<meta name="'.$meta.'" content="'.plxUtils::strCheck($this->plxMotor->aCats[ $this->plxMotor->cible ]['meta_'.$meta]).'" />'."\n";
				} elseif($result='get') {
					return plxUtils::strCheck($this->plxMotor->aCats[ $this->plxMotor->cible ]['meta_'.$meta]);
				}
			}
		}
	}

Philippe-M avatar Aug 31 '20 09:08 Philippe-M