| 
<?php
/**
 * Class handling template source fetching.
 *
 * @package QueryTemplates
 * @author Tobiasz Cudnik <tobiasz.cudnik/gmail.com>
 * @license http://www.opensource.org/licenses/mit-license.php MIT License
 * @link http://code.google.com/p/querytemplates/
 */
 class QueryTemplatesSourceQuery
 extends QueryTemplatesPhpQuery
 implements IQueryTemplatesTemplateChain,
 IQueryTemplatesTemplateSources,
 IQueryTemplatesTemplateParse {
 /**
 * Enter description here...
 *
 * @var QueryTemplatesTemplate
 */
 public $parent;
 public function __construct($parent, $src) {
 if ( $parent instanceof self ) {
 // new instance call from phpQuery
 // link all important vars to new object
 $this->parent =& $parent->parent;
 $docId = $src;
 } else {
 $this->parent = $parent;
 $docId = phpQuery::newDocument($src)->getDocumentId();
 }
 parent::__construct($docId);
 }
 /**
 * Enter description here...
 *
 * @param unknown_type $name
 * @return QueryTemplatesSourceQuery
 */
 public function collect($name) {
 $this->parent->collected[$name] = $this->markupOuter();
 return $this;
 }
 /**
 * Enter description here...
 *
 * @return QueryTemplatesTemplate
 */
 public function sourceEnd() {
 $this->unloadDocument();
 return $this->parent;
 }
 /**
 * Start template parsing stage.
 *
 * @return string|QueryTemplatesParse
 * @see QueryTemplates::parse()
 */
 public function parse() {
 $this->fetchEnd();
 return $this->parent->parse();
 }
 /**
 * @see QueryTemplatesTemplate::templateCache()
 * @return QueryTemplatesSourceQuery
 */
 public function templateCache($state = null) {
 $this->parent->templateCache($state);
 return $this;
 }
 /**
 * @see QueryTemplatesTemplate::templateName()
 * @return QueryTemplatesSourceQuery
 */
 public function templateName($newName = null) {
 $this->parent->templateName($state);
 return $this;
 }
 /**
 * Fetch file or URL.
 *
 * @param string $path
 * @param string $name
 * @return QueryTemplatesTemplate
 * @see QueryTemplates::fetch()
 */
 public function sourceCollect($path, $name = null) {
 $this->sourceEnd();
 $args = func_get_args();
 return call_user_method_array('sourceCollect', $this->parent, $args);
 }
 /**
 * @param string $path
 * @return QueryTemplatesTemplate
 * @see QueryTemplatesTemplate::sourceQuery()
 */
 public function sourceCollectPHP($path, $name = null) {
 $this->sourceEnd();
 $args = func_get_args();
 return call_user_method_array('sourceCollectPHP', $this->parent, $args);
 }
 /**
 * Fetch file or URL and return phpQuery object with collect() method to
 * fetch speficic part(s) of template.
 *
 * @param string $path
 * @return QueryTemplatesSourceQuery
 * @see QueryTemplatesTemplate::sourceQuery()
 */
 public function sourceQuery($path) {
 $this->sourceEnd();
 $args = func_get_args();
 return call_user_method_array('sourceQuery', $this->parent, $args);
 }
 /**
 * @param string $path
 * @return QueryTemplatesSourceQuery
 * @see QueryTemplatesTemplate::sourceQuery()
 */
 public function sourceQueryPHP($path, $name = null) {
 $this->sourceEnd();
 $args = func_get_args();
 return call_user_method_array('sourceQueryPHP', $this->parent, $args);
 }
 }
 |