Amiro.CMS API Reference
Amiro.Ru / Manual
Loading search...

Source for file rules.php

Documentation is available at rules.php

  • <?php
  • /**
  •  * Describing user interface rules to change user defined module options.
  •  *
  •  * @copyright  Amiro.CMS. All rights reserved.
  •  * @category   Module
  •  * @package    Config_AmiClean_AmiSample
  •  * @version    $Id: rules.php 61273 2013-08-07 10:47:54Z Leontiev Anton $
  •  * @since      5.14.4
  •  * @filesource
  •  */
  • // {{}}
  • if($oDeclarator->isRegistered('##modId##')){
  •     $oMod $oDeclarator->getModule('##modId##');
  •  
  •     /**
  •      * Splitter:
  •      *
  •      * $aOptions parameter is always AMI_Module::RLC_NONE.
  •      * $defaultValue parameter is TRUE or FALSE.
  •      */
  •     $oMod->addRule(
  •         'spl_custom_options',
  •         AMI_Module::RLT_SPLITTER
  •     );
  •  
  •     /**
  •      * Boolean option:
  •      *
  •      * - $aOptions parameter is always AMI_Module::RLC_NONE.
  •      * - $defaultValue parameter is TRUE or FALSE.
  •      */
  •     $oMod->addRule(
  •         'option_bool',
  •         AMI_Module::RLT_BOOL,
  •         AMI_Module::RLC_NONE,
  •         FALSE
  •     );
  •  
  •     /**
  •      * Unsigned integer:
  •      *
  •      * - $aOptions parameter is array containing optional borders
  •      * for possible value or AMI_Module::RLC_NONE.
  •      * - $defaultValue parameter is unsigned integer.
  •      */
  •     $oMod->addRule(
  •         'option_uint',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 0'max' => 10),
  •         0
  •     );
  •  
  •     /**
  •      * Signed integer:
  •      *
  •      * - $aOptions parameter is array containing optional borders
  •      * for possible value or AMI_Module::RLC_NONE.
  •      * - $defaultValue parameter is signed integer.
  •      */
  •     $oMod->addRule(
  •         'option_sint',
  •         AMI_Module::RLT_SINT,
  •         array('min' => -10'max' => 10),
  •         -5
  •     );
  •  
  •     /**
  •      * Float number:
  •      *
  •      * - $aOptions parameter is array containing optional borders
  •      * for possible value (i. e. array('min' => -10, 'max' => 10)) or AMI_Module::RLC_NONE.
  •      * - $defaultValue parameter is float number.
  •      */
  •     $oMod->addRule(
  •         'option_float',
  •         AMI_Module::RLT_FLOAT,
  •         AMI_Module::RLC_NONE,
  •         0.01
  •     );
  •  
  •     /**
  •      * String:
  •      *
  •      * - $aOptions parameter is array containing optional borders
  •      * for possible value or AMI_Module::RLC_NONE.
  •      * - $default Value parameter is float number.
  •      */
  •     $oMod->addRule(
  •         'option_char',
  •         AMI_Module::RLT_STRING,
  •         array('length_min' => 3'length_max'=> 255),
  •         'some string'
  •     );
  •  
  •     /**
  •      * Text:
  •      *
  •      * - $aOptions parameter is AMI_Module::RLC_NONE always.
  •      * - $defaultValue parameter is string.
  •      */
  •     $oMod->addRule(
  •         'option_text',
  •         AMI_Module::RLT_TEXT,
  •         AMI_Module::RLC_NONE,
  •         "text containing\nline\nbreaks"
  •     );
  •  
  •     /**
  •      * Email address:
  •      *
  •      * - $aOptions parameter is AMI_Module::RLC_NONE always.
  •      * - $defaultValue parameter is string containing comma separated email addresses.
  •      */
  •     $oMod->addRule(
  •         'option_email',
  •         AMI_Module::RLT_EMAIL,
  •         AMI_Module::RLC_NONE,
  •         'mail.1@domain.com,mail.2@domain.com'
  •     );
  •  
  •     /**
  •      * Array displayed like selectbox:
  •      *
  •      * - $aOptions parameter is array.
  •      * - $defaultValue parameter is int|string containing default value.
  •      *
  •      * @see _local/modules/distrib/configs/ami_clean/ami_sample/rules/--modId--_rules_values.lng
  •      */
  •     $oMod->addRule(
  •         'option_enum',
  •         AMI_Module::RLT_ENUM,
  •         array('first''second''third'),
  •         'second'
  •     );
  •  
  •     /**
  •      * Array:
  •      *
  •      * - $aOptions parameter is array.
  •      * - $defaultValue parameter is array containing default array value.
  •      *
  •      * @see _local/modules/distrib/configs/ami_clean/ami_sample/rules/--modId--_rules_values.lng
  •      */
  •     $oMod->addRule(
  •         'option_enum_multi1',
  •         AMI_Module::RLT_ENUM_MULTI,
  •         array('first''second''third'),
  •         array('first''third')
  •     );
  •  
  •     /**
  •      * Array (can be empty):
  •      *
  •      * - $aOptions parameter is array, one of elememts is RLC_EMPTY.
  •      * - $defaultValue parameter is array containing default array value.
  •      *
  •      * @see _local/modules/distrib/configs/ami_clean/ami_sample/rules/--modId--_rules_values.lng
  •      */
  •     $oMod->addRule(
  •         'option_enum_multi2',
  •         AMI_Module::RLT_ENUM_MULTI,
  •         array('first''second''third'AMI_Module::RLC_EMPTY),
  •         array()
  •     );
  •  
  •     /**
  •      * Date/time interval:
  •      *
  •      * - $aOptions parameter is AMI_Module::RLC_NONE always.
  •      * - $defaultValue parameter is string containing period
  •      * in PHP strtotime() function format.
  •      */
  •     $oMod->addRule(
  •         'option_date_period',
  •         AMI_Module::RLT_DATE_INTERVAL,
  •         AMI_Module::RLC_NONE,
  •         '-1 month'
  •     );
  •  
  •     /**
  •      * Date/time interval:
  •      *
  •      * - $aOptions parameter is AMI_Module::RLC_NONE always.
  •      * - $defaultValue parameter is string containing period
  •      * in PHP strtotime() function format.
  •      */
  •     $oMod->addRule(
  •         'option_date_period_positive',
  •         AMI_Module::RLT_DATE_INTERVAL_POS,
  •         AMI_Module::RLC_NONE,
  •         '1 hour'
  •     );
  •  
  •     /**
  •      * Date/time interval:
  •      *
  •      * - $aOptions parameter is AMI_Module::RLC_NONE always.
  •      * - $defaultValue parameter is string containing period
  •      * in PHP strtotime() function format.
  •      */
  •     $oMod->addRule(
  •         'option_date_period_negative',
  •         AMI_Module::RLT_DATE_INTERVAL_NEG,
  •         AMI_Module::RLC_NONE,
  •         '-1 minute'
  •     );
  •  
  •     /**
  •      * Image extension splitter.
  •      */
  •     $oMod->addRule(
  •         'spl_ext_images',
  •         AMI_Module::RLT_SPLITTER
  •     );
  •  
  •     /**#@+
  •      * Image extension rules.
  •      *
  •      * @since 5.14.6
  •      * @see   options.php
  •      */
  •  
  •     $oMod->addRule(
  •         'ext_img_fields',
  •         AMI_Module::RLT_ENUM_MULTI,
  •         array('ext_img''ext_img_popup''ext_img_small'AMI_Module::RLC_EMPTY),
  •         array('ext_img''ext_img_popup''ext_img_small'),
  •         array("spec_small_##modId##")
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_list_col'AMI_Module::RLT_ENUM,
  •         array('none''ext_img''ext_img_popup''ext_img_small')'ext_img_small'
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_fields',
  •         AMI_Module::RLT_ENUM_MULTI,
  •         array('ext_img''ext_img_popup''ext_img_small'AMI_Module::RLC_EMPTY),
  •         array('ext_img''ext_img_popup''ext_img_small'),
  •         array("spec_small_##modId##")
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_creatable',
  •         AMI_Module::RLT_ENUM_MULTI,
  •         array('ext_img''ext_img_popup''ext_img_small'AMI_Module::RLC_EMPTY),
  •         array('ext_img''ext_img_popup''ext_img_small')
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_source',
  •         AMI_Module::RLT_ENUM,
  •         array('ext_img''ext_img_popup''ext_img_small'),
  •         'ext_img_popup'
  •     );
  •  
  •  
  •     $oMod->addRule(
  •         'ext_img_maxwidth',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         300
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_maxheight',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         300
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_small_maxwidth',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         80
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_small_maxheight',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         80
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_popup_maxwidth',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         800
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_popup_maxheight',
  •         AMI_Module::RLT_UINT,
  •         array('min' => 1),
  •         600
  •     );
  •  
  •     $oMod->addRule(
  •         'ext_img_create_bigger',
  •         AMI_Module::RLT_BOOL,
  •         AMI_Module::RLC_NONE,
  •         TRUE
  •     );
  •  
  •     /**#@-*/
  •  
  •     /**
  •      * Splitter:
  •      *
  •      * $aOptions parameter is always AMI_Module::RLC_NONE.
  •      * $defaultValue parameter is TRUE or FALSE.
  •      */
  •     $oMod->addRule('spl_specblock'AMI_Module::RLT_SPLITTER);
  •  
  •     // Specblocks
  •     $oMod->addRule(
  •         'spec_small_option',
  •         AMI_Module::RLT_TEXT,
  •         array(),
  •         'First specblock option',
  •         array("spec_small_##modId##")
  •     );
  •  
  •     /**
  •      * Splitter:
  •      *
  •      * $aOptions parameter is always AMI_Module::RLC_NONE.
  •      * $defaultValue parameter is TRUE or FALSE.
  •      */
  •     $oMod->addRule('spl_specblock_custom'AMI_Module::RLT_SPLITTER);
  •  
  •     $oMod->addRule(
  •         'spec_small_option_custom',
  •         AMI_Module::RLT_TEXT,
  •         array(),
  •         'Second specblock option',
  •         array("spec_small_##modId##_custom")
  •     );
  •  
  •     // Finalize rules description
  •     $oMod->finalize();
  • }