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 Break
 4:  * Compiles the {break} tag
 5:  *
 6:  * @package    Smarty
 7:  * @subpackage Compiler
 8:  * @author     Uwe Tews
 9:  */
10: 
11: /**
12:  * Smarty Internal Plugin Compile Break Class
13:  *
14:  * @package    Smarty
15:  * @subpackage Compiler
16:  */
17: class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase
18: {
19:     /**
20:      * Attribute definition: Overwrites base class.
21:      *
22:      * @var array
23:      * @see Smarty_Internal_CompileBase
24:      */
25:     public $optional_attributes = array('levels');
26:     /**
27:      * Attribute definition: Overwrites base class.
28:      *
29:      * @var array
30:      * @see Smarty_Internal_CompileBase
31:      */
32:     public $shorttag_order = array('levels');
33: 
34:     /**
35:      * Compiles code for the {break} tag
36:      *
37:      * @param  array  $args      array with attributes from parser
38:      * @param  object $compiler  compiler object
39:      * @param  array  $parameter array with compilation parameter
40:      *
41:      * @return string compiled code
42:      */
43:     public function compile($args, $compiler, $parameter)
44:     {
45:         static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
46:         // check and get attributes
47:         $_attr = $this->getAttributes($compiler, $args);
48: 
49:         if ($_attr['nocache'] === true) {
50:             $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
51:         }
52: 
53:         if (isset($_attr['levels'])) {
54:             if (!is_numeric($_attr['levels'])) {
55:                 $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);
56:             }
57:             $_levels = $_attr['levels'];
58:         } else {
59:             $_levels = 1;
60:         }
61:         $level_count = $_levels;
62:         $stack_count = count($compiler->_tag_stack) - 1;
63:         while ($level_count > 0 && $stack_count >= 0) {
64:             if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {
65:                 $level_count --;
66:             }
67:             $stack_count --;
68:         }
69:         if ($level_count != 0) {
70:             $compiler->trigger_template_error("cannot break {$_levels} level(s)", $compiler->lex->taglineno);
71:         }
72: 
73:         return "<?php break {$_levels};?>";
74:     }
75: }
76: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen