Overview

Packages

  • CONTENIDO
  • Core
    • Authentication
    • Backend
    • Cache
    • CEC
    • Chain
    • ContentType
    • Database
    • Debug
    • Exception
    • Frontend
      • Search
      • URI
      • Util
    • GenericDB
      • Model
    • GUI
      • HTML
    • I18N
    • LayoutHandler
    • Log
    • Security
    • Session
    • Util
    • Validation
    • Versioning
    • XML
  • Module
    • ContentRssCreator
    • ContentSitemapHtml
    • ContentSitemapXml
    • ContentUserForum
    • NavigationTop
    • ScriptCookieDirective
  • mpAutoloaderClassMap
  • None
  • Plugin
    • ContentAllocation
    • CronjobOverview
    • FormAssistant
    • FrontendLogic
    • FrontendUsers
    • Linkchecker
    • ModRewrite
    • Newsletter
    • Repository
      • FrontendNavigation
      • KeywordDensity
    • SearchSolr
    • SmartyWrapper
    • UrlShortener
    • UserForum
    • Workflow
  • PluginManager
  • Setup
    • Form
    • GUI
    • Helper
      • Environment
      • Filesystem
      • MySQL
      • PHP
    • UpgradeJob
  • Smarty
    • Cacher
    • Compiler
    • Config
    • Debug
    • PluginsBlock
    • PluginsFilter
    • PluginsFunction
    • PluginsInternal
    • PluginsModifier
    • PluginsModifierCompiler
    • PluginsShared
    • Security
    • Template
    • TemplateResources
  • Swift
    • ByteStream
    • CharacterStream
    • Encoder
    • Events
    • KeyCache
    • Mailer
    • Mime
    • Plugins
    • Transport

Classes

  • Swift_FailoverTransport
  • Swift_LoadBalancedTransport
  • Swift_MailTransport
  • Swift_Plugins_Loggers_ArrayLogger
  • Swift_Plugins_Loggers_EchoLogger
  • Swift_SendmailTransport
  • Swift_SmtpTransport
  • Swift_Transport_AbstractSmtpTransport
  • Swift_Transport_Esmtp_Auth_CramMd5Authenticator
  • Swift_Transport_Esmtp_Auth_LoginAuthenticator
  • Swift_Transport_Esmtp_Auth_PlainAuthenticator
  • Swift_Transport_Esmtp_AuthHandler
  • Swift_Transport_EsmtpTransport
  • Swift_Transport_FailoverTransport
  • Swift_Transport_LoadBalancedTransport
  • Swift_Transport_MailTransport
  • Swift_Transport_SendmailTransport
  • Swift_Transport_SimpleMailInvoker
  • Swift_Transport_StreamBuffer

Interfaces

  • Swift_Plugins_Logger
  • Swift_Plugins_Pop_Pop3Exception
  • Swift_Transport
  • Swift_Transport_Esmtp_Authenticator
  • Swift_Transport_EsmtpHandler
  • Swift_Transport_IoBuffer
  • Swift_Transport_MailInvoker
  • Swift_Transport_SmtpAgent
  • Swift_TransportException
  • Overview
  • Package
  • Function
  • Todo
  • Download
  1: <?php
  2: /**
  3:  * Smarty Internal Plugin Compile If
  4:  * Compiles the {if} {else} {elseif} {/if} tags
  5:  *
  6:  * @package    Smarty
  7:  * @subpackage Compiler
  8:  * @author     Uwe Tews
  9:  */
 10: 
 11: /**
 12:  * Smarty Internal Plugin Compile If Class
 13:  *
 14:  * @package    Smarty
 15:  * @subpackage Compiler
 16:  */
 17: class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase
 18: {
 19:     /**
 20:      * Compiles code for the {if} tag
 21:      *
 22:      * @param array  $args      array with attributes from parser
 23:      * @param object $compiler  compiler object
 24:      * @param array  $parameter array with compilation parameter
 25:      *
 26:      * @return string compiled code
 27:      */
 28:     public function compile($args, $compiler, $parameter)
 29:     {
 30:         // check and get attributes
 31:         $_attr = $this->getAttributes($compiler, $args);
 32:         $this->openTag($compiler, 'if', array(1, $compiler->nocache));
 33:         // must whole block be nocache ?
 34:         $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
 35: 
 36:         if (!array_key_exists("if condition", $parameter)) {
 37:             $compiler->trigger_template_error("missing if condition", $compiler->lex->taglineno);
 38:         }
 39: 
 40:         if (is_array($parameter['if condition'])) {
 41:             if ($compiler->nocache) {
 42:                 $_nocache = ',true';
 43:                 // create nocache var to make it know for further compiling
 44:                 if (is_array($parameter['if condition']['var'])) {
 45:                     $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true);
 46:                 } else {
 47:                     $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true);
 48:                 }
 49:             } else {
 50:                 $_nocache = '';
 51:             }
 52:             if (is_array($parameter['if condition']['var'])) {
 53:                 $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
 54:                 $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
 55:             } else {
 56:                 $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
 57:                 $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
 58:             }
 59: 
 60:             return $_output;
 61:         } else {
 62:             return "<?php if ({$parameter['if condition']}) {?>";
 63:         }
 64:     }
 65: }
 66: 
 67: /**
 68:  * Smarty Internal Plugin Compile Else Class
 69:  *
 70:  * @package    Smarty
 71:  * @subpackage Compiler
 72:  */
 73: class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase
 74: {
 75:     /**
 76:      * Compiles code for the {else} tag
 77:      *
 78:      * @param array  $args      array with attributes from parser
 79:      * @param object $compiler  compiler object
 80:      * @param array  $parameter array with compilation parameter
 81:      *
 82:      * @return string compiled code
 83:      */
 84:     public function compile($args, $compiler, $parameter)
 85:     {
 86:         list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
 87:         $this->openTag($compiler, 'else', array($nesting, $compiler->tag_nocache));
 88: 
 89:         return "<?php } else { ?>";
 90:     }
 91: }
 92: 
 93: /**
 94:  * Smarty Internal Plugin Compile ElseIf Class
 95:  *
 96:  * @package    Smarty
 97:  * @subpackage Compiler
 98:  */
 99: class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase
100: {
101:     /**
102:      * Compiles code for the {elseif} tag
103:      *
104:      * @param array  $args      array with attributes from parser
105:      * @param object $compiler  compiler object
106:      * @param array  $parameter array with compilation parameter
107:      *
108:      * @return string compiled code
109:      */
110:     public function compile($args, $compiler, $parameter)
111:     {
112:         // check and get attributes
113:         $_attr = $this->getAttributes($compiler, $args);
114: 
115:         list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
116: 
117:         if (!array_key_exists("if condition", $parameter)) {
118:             $compiler->trigger_template_error("missing elseif condition", $compiler->lex->taglineno);
119:         }
120: 
121:         if (is_array($parameter['if condition'])) {
122:             $condition_by_assign = true;
123:             if ($compiler->nocache) {
124:                 $_nocache = ',true';
125:                 // create nocache var to make it know for further compiling
126:                 if (is_array($parameter['if condition']['var'])) {
127:                     $compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true);
128:                 } else {
129:                     $compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true);
130:                 }
131:             } else {
132:                 $_nocache = '';
133:             }
134:         } else {
135:             $condition_by_assign = false;
136:         }
137: 
138:         if (empty($compiler->prefix_code)) {
139:             if ($condition_by_assign) {
140:                 $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
141:                 if (is_array($parameter['if condition']['var'])) {
142:                     $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
143:                     $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
144:                 } else {
145:                     $_output = "<?php  } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
146:                     $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
147:                 }
148: 
149:                 return $_output;
150:             } else {
151:                 $this->openTag($compiler, 'elseif', array($nesting, $compiler->tag_nocache));
152: 
153:                 return "<?php } elseif ({$parameter['if condition']}) {?>";
154:             }
155:         } else {
156:             $tmp = '';
157:             foreach ($compiler->prefix_code as $code) {
158:                 $tmp .= $code;
159:             }
160:             $compiler->prefix_code = array();
161:             $this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
162:             if ($condition_by_assign) {
163:                 if (is_array($parameter['if condition']['var'])) {
164:                     $_output = "<?php } else {?>{$tmp}<?php  if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
165:                     $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
166:                 } else {
167:                     $_output = "<?php } else {?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
168:                     $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
169:                 }
170: 
171:                 return $_output;
172:             } else {
173:                 return "<?php } else {?>{$tmp}<?php if ({$parameter['if condition']}) {?>";
174:             }
175:         }
176:     }
177: }
178: 
179: /**
180:  * Smarty Internal Plugin Compile Ifclose Class
181:  *
182:  * @package    Smarty
183:  * @subpackage Compiler
184:  */
185: class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase
186: {
187:     /**
188:      * Compiles code for the {/if} tag
189:      *
190:      * @param array  $args      array with attributes from parser
191:      * @param object $compiler  compiler object
192:      * @param array  $parameter array with compilation parameter
193:      *
194:      * @return string compiled code
195:      */
196:     public function compile($args, $compiler, $parameter)
197:     {
198:         // must endblock be nocache?
199:         if ($compiler->nocache) {
200:             $compiler->tag_nocache = true;
201:         }
202:         list($nesting, $compiler->nocache) = $this->closeTag($compiler, array('if', 'else', 'elseif'));
203:         $tmp = '';
204:         for ($i = 0; $i < $nesting; $i ++) {
205:             $tmp .= '}';
206:         }
207: 
208:         return "<?php {$tmp}?>";
209:     }
210: }
211: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen