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 plugin
 4:  *
 5:  * @package    Smarty
 6:  * @subpackage PluginsFunction
 7:  */
 8: 
 9: /**
10:  * Smarty {counter} function plugin
11:  * Type:     function<br>
12:  * Name:     counter<br>
13:  * Purpose:  print out a counter value
14:  *
15:  * @author Monte Ohrt <monte at ohrt dot com>
16:  * @link   http://www.smarty.net/manual/en/language.function.counter.php {counter}
17:  *         (Smarty online manual)
18:  *
19:  * @param array                    $params   parameters
20:  * @param Smarty_Internal_Template $template template object
21:  *
22:  * @return string|null
23:  */
24: function smarty_function_counter($params, $template)
25: {
26:     static $counters = array();
27: 
28:     $name = (isset($params['name'])) ? $params['name'] : 'default';
29:     if (!isset($counters[$name])) {
30:         $counters[$name] = array(
31:             'start'     => 1,
32:             'skip'      => 1,
33:             'direction' => 'up',
34:             'count'     => 1
35:         );
36:     }
37:     $counter =& $counters[$name];
38: 
39:     if (isset($params['start'])) {
40:         $counter['start'] = $counter['count'] = (int) $params['start'];
41:     }
42: 
43:     if (!empty($params['assign'])) {
44:         $counter['assign'] = $params['assign'];
45:     }
46: 
47:     if (isset($counter['assign'])) {
48:         $template->assign($counter['assign'], $counter['count']);
49:     }
50: 
51:     if (isset($params['print'])) {
52:         $print = (bool) $params['print'];
53:     } else {
54:         $print = empty($counter['assign']);
55:     }
56: 
57:     if ($print) {
58:         $retval = $counter['count'];
59:     } else {
60:         $retval = null;
61:     }
62: 
63:     if (isset($params['skip'])) {
64:         $counter['skip'] = $params['skip'];
65:     }
66: 
67:     if (isset($params['direction'])) {
68:         $counter['direction'] = $params['direction'];
69:     }
70: 
71:     if ($counter['direction'] == "down") {
72:         $counter['count'] -= $counter['skip'];
73:     } else {
74:         $counter['count'] += $counter['skip'];
75:     }
76: 
77:     return $retval;
78: }
79: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen