Exemple #1
0
 public function output(\Pagemill_Data $data, \Pagemill_Stream $stream)
 {
     if ($this->hasAttribute('template')) {
         $template = Typeframe_Skin::TemplatePath($data->parseVariables($this->getAttribute('template')));
         $this->setAttribute('file', $template);
     }
     if ($this->getAttribute('select')) {
         $select = $this->getAttribute('select');
         $temp = new Pagemill_Stream(true);
         parent::output($data, $temp);
         $xml = Pagemill_SimpleXmlElement::LoadString($temp->clean());
         $parts = $xml->select($select);
         foreach ($parts as $part) {
             $stream->puts($part->asXml());
         }
     } else {
         parent::output($data, $stream);
     }
 }
Exemple #2
0
 public static function FindTemplate($template)
 {
     return Typeframe_Skin::TemplatePath($template);
 }
Exemple #3
0
 public static function StylesheetsFor($template, $uri = null)
 {
     $stylesheets = array();
     $tmplXml = Pagemill_SimpleXmlElement::LoadFile(Typeframe_Skin::TemplatePath($template, $uri));
     if (strpos($tmplXml->asXml(), '<pm:html') !== false) {
         if (is_null($uri)) {
             $skin = self::Current();
         } else {
             $skin = self::At($uri);
         }
         $skinXml = Pagemill_SimpleXmlElement::LoadFile(TYPEF_DIR . '/skins/' . $skin . '/skin.html');
         self::_GetStylesheetsFromElement($skinXml, $stylesheets);
     }
     self::_GetStylesheetsFromElement($tmplXml, $stylesheets);
     return $stylesheets;
 }
Exemple #4
0
    Typeframe::Redirect('Invalid page.', $typef_app_dir, -1);
    return;
}
if ($page['application'] == 'Content') {
    // get template from settings; expand to its full value
    $settings = $page['settings'];
    $template = @$settings['template'];
    if (!$template) {
        $template = 'generic.html';
    }
    $template = "/content/{$template}";
    $full_template = TYPEF_SOURCE_DIR . "/templates{$template}";
} else {
    $response = Typeframe_Response::At(TYPEF_WEB_DIR . $page['uri']);
    $template = $response->getPageTemplate();
    $full_template = Typeframe_Skin::TemplatePath($template, $response->applicationUri());
}
// cannot edit content if template does not exist
if (!file_exists($full_template)) {
    Typeframe::Redirect("Unable to find page template ({$template}).", $typef_app_dir, -1);
    return;
}
$skin = Typeframe_Skin::At(TYPEF_WEB_DIR . $page['uri']);
$stylesheets = Typeframe_Skin::StylesheetsFor($template, TYPEF_WEB_DIR . $page['uri']);
$pm->setVariable('stylesheets', $stylesheets);
// load inserts and groups for template
$inserts = Insertable::ElementsFrom($full_template, TYPEF_WEB_DIR . $page['uri']);
$groups = Insertable::GroupsFrom($full_template, null, $skin);
// get revision id, if any
$revisionid = @$_REQUEST['revisionid'];
// process form