Example #1
0
 /**
  * 
  * CONTEXTUAL : depend on current template context (@see pushToContextStack)
  * 
  * @param mixed $subpartData = current subpart "data" wich has to be injected in the subpart
  * @access protected
  * @return void 
  */
 protected function applySubpartDataIntoSubpart(&$subpartData, $subpartOriginalKey)
 {
     /* Declare */
     $baseData =& $this->getContext('markers');
     $subpartInfos =& $this->getContext('subpart');
     $res = '';
     /* Begin */
     if (is_bool($subpartData)) {
         // BOOLEAN : Activate or not a subpart
         if ($subpartData) {
             $res = $this->applyInSubpart($baseData, $subpartInfos);
         } else {
             $res = '';
         }
     } elseif (is_array($subpartData)) {
         // ARRAY : wrapper or marker array/object
         if (count($subpartData) == 2 && isset($subpartData[0]) && isset($subpartData[1]) && is_string($subpartData[0]) && is_string($subpartData[1])) {
             // Wrapper Array
             $res = $subpartData[0] . $this->applyInSubpart($baseData, $subpartInfos) . $subpartData[1];
         } else {
             // Sub list Array
             foreach ($subpartData as $v) {
                 $res .= $this->applyInSubpart($v, $subpartInfos);
             }
         }
     } elseif (is_object($subpartData)) {
         $res = $this->applyInSubpart($subpartData, $subpartInfos);
     } elseif (is_null($subpartData)) {
         // is_null($res) -> Non callable subpart : call recursively
         $res = $this->applyInSubpart($baseData, $subpartInfos);
         if ($this->magicMarkers->isCallable($subpartOriginalKey)) {
             $res = $this->magicMarkers->call($subpartOriginalKey, $baseData, $res);
         } else {
             $res = self::SUBPART_BEGIN_PREFIX . $subpartOriginalKey . self::SUBPART_BEGIN_SUFFIX . $res . self::SUBPART_END_PREFIX . $subpartOriginalKey . self::SUBPART_END_SUFFIX;
         }
     }
     return $res;
 }
 /**
  * 
  * 
  * @param 
  * @access public
  * @return void 
  */
 function processDateSubpart(&$content)
 {
     magicmarkers::replaceKeySubpartBy($content, 'DATE', array(&$this, 'processDateSubpart_callback'));
 }