yellow = $yellow;
$this->yellow->system->setDefault("metaDefaultImage", "favicon");
}
// Handle page extra data
public function onParsePageExtra($page, $name) {
$output = null;
if ($name=="header" && !$page->isError()) {
list($imageUrl, $imageAlt) = $this->getImageInformation($page);
$locale = $this->yellow->language->getText("languageLocale", $page->get("language"));
$output .= "getUrl().$this->yellow->toolbox->getLocationArguments())."\" />\n";
$output .= "\n";
$output .= "\n";
$output .= "getHtml("title")."\" />\n";
$output .= "getHtml("sitename")."\" />\n";
$output .= "getHtml("description")."\" />\n";
$output .= "\n";
$output .= "\n";
}
return $output;
}
// Handle page output data
public function onParsePageOutput($page, $text) {
$output = null;
if ($text && preg_match("/^(.*?)(.*)$/s", $text, $matches)) {
$output = $matches[1]."".$matches[3];
}
return $output;
}
// Return image information for page
public function getImageInformation($page) {
if ($page->isExisting("image")) {
$name = $page->get("image");
$alt = $page->isExisting("imageAlt") ? $page->get("imageAlt") : $page->get("title");
} elseif (preg_match("/\[image(\s.*?)\]/", $page->getContent(true), $matches)) {
list($name, $alt) = $this->yellow->toolbox->getTextArguments(trim($matches[1]));
if (empty($alt)) $alt = $page->get("title");
} else {
$name = $this->yellow->system->get("metaDefaultImage");
$alt = $page->isExisting("imageAlt") ? $page->get("imageAlt") : $page->get("title");
}
if (!preg_match("/^\w+:/", $name)) {
$location = $name!="favicon" ? $this->yellow->system->get("coreImageLocation").$name :
$this->yellow->system->get("coreThemeLocation").$this->yellow->lookup->normaliseName($page->get("theme")).".png";
$url = $this->yellow->lookup->normaliseUrl(
$this->yellow->system->get("coreServerScheme"),
$this->yellow->system->get("coreServerAddress"),
$this->yellow->system->get("coreServerBase"), $location);
} else {
$url = $this->yellow->lookup->normaliseUrl("", "", "", $name);
}
return array($url, $alt);
}
}