kernel/private/classes/ezcontentobjectstategroup.php
public static function limitations()
    {
        static $limitations;

        if ( $limitations === null )
        {
            $db = eZDB::instance();
            $dbName = md5( $db->DB );

            $cacheDir = eZSys::cacheDirectory();
            $phpCache = new eZPHPCreator( $cacheDir,
                                          'statelimitations_' . $dbName . '.php',
                                          '',
                                          array( 'clustering' => 'statelimitations' ) );

            $handler = eZExpiryHandler::instance();
            $storedTimeStamp = $handler->hasTimestamp( 'state-limitations' ) ? $handler->timestamp( 'state-limitations' ) : false;
            $expiryTime = $storedTimeStamp !== false ? $storedTimeStamp : 0;

            if ( $phpCache->canRestore( $expiryTime ) )
            {
                $var = $phpCache->restore( array( 'state_limitations' => 'state_limitations' ) );
                $limitations = $var['state_limitations'];
            }
            else
            {
                $limitations = array();

                $groups = self::fetchByConditions( array( "identifier NOT LIKE 'ez%'" ), false, false );

                foreach ( $groups as $group )
                {
                    $name = 'StateGroup_' . $group->attribute( 'identifier' );
                    $limitations[$name] = array(
                        'name'   => $name,
                        'values' => array(),
                        'class' => __CLASS__,
                        'function' => 'limitationValues',
                        'parameter' => array( $group->attribute( 'id' ) )
                    );
                }

                $phpCache->addVariable( 'state_limitations', $limitations );
                $phpCache->store();
            }

            if ( $storedTimeStamp === false )
            {
                $handler->setTimestamp( 'state-limitations', time() );
            }
        }

        return $limitations;
    }
public static function limitations()
    {
        static $limitations;

        if ( $limitations === null )
        {
            $db = eZDB::instance();
            $dbName = md5( $db->DB );

            $cacheDir = eZSys::cacheDirectory();
            $phpCache = new eZPHPCreator( $cacheDir,
                                          'statelimitations_' . $dbName . '.php',
                                          '',
                                          array( 'clustering' => 'statelimitations' ) );

            $handler = eZExpiryHandler::instance();
            $storedTimeStamp = $handler->hasTimestamp( 'state-limitations' ) ? $handler->timestamp( 'state-limitations' ) : false;
            $expiryTime = $storedTimeStamp !== false ? $storedTimeStamp : 0;

            if ( $phpCache->canRestore( $expiryTime ) )
            {
                $var = $phpCache->restore( array( 'state_limitations' => 'state_limitations' ) );
                $limitations = $var['state_limitations'];
            }
            else
            {
                $limitations = array();

                $groups = self::fetchByConditions( array( "identifier NOT LIKE 'ez%'" ), false, false );

                foreach ( $groups as $group )
                {
                    $name = 'StateGroup_' . $group->attribute( 'identifier' );
                    $limitations[$name] = array(
                        'name'   => $name,
                        'values' => array(),
                        'class' => __CLASS__,
                        'function' => 'limitationValues',
                        'parameter' => array( $group->attribute( 'id' ) )
                    );
                }

                $phpCache->addVariable( 'state_limitations', $limitations );
                $phpCache->store();
            }

            if ( $storedTimeStamp === false )
            {
                $handler->setTimestamp( 'state-limitations', time() );
            }
        }

        return $limitations;
    }
public static function limitations ( ) { static $ limitations ; if ( $ limitations === null ) { $ db = eZDB :: instance ( ) ; $ dbName = md5 ( $ db -> DB ) ; $ cacheDir = eZSys :: cacheDirectory ( ) ; $ phpCache = new eZPHPCreator ( $ cacheDir , 'statelimitations_' . $ dbName . '.php' , '' , array ( 'clustering' => 'statelimitations' ) ) ; $ handler = eZExpiryHandler :: instance ( ) ; $ storedTimeStamp = $ handler -> hasTimestamp ( 'state-limitations' ) ? $ handler -> timestamp ( 'state-limitations' ) : false ; $ expiryTime = $ storedTimeStamp !== false ? $ storedTimeStamp : 0 ; if ( $ phpCache -> canRestore ( $ expiryTime ) ) { $ var = $ phpCache -> restore ( array ( 'state_limitations' => 'state_limitations' ) ) ; $ limitations = $ var [ 'state_limitations' ] ; } else { $ limitations = array ( ) ; $ groups = self :: fetchByConditions ( array ( "identifier NOT LIKE 'ez%'" ) , false , false ) ; foreach ( $ groups as $ group ) { $ name = 'StateGroup_' . $ group -> attribute ( 'identifier' ) ; $ limitations [ $ name ] = array ( 'name' => $ name , 'values' => array ( ) , 'class' => __CLASS__ , 'function' => 'limitationValues' , 'parameter' => array ( $ group -> attribute ( 'id' ) ) ) ; } $ phpCache -> addVariable ( 'state_limitations' , $ limitations ) ; $ phpCache -> store ( ) ; } if ( $ storedTimeStamp === false ) { $ handler -> setTimestamp ( 'state-limitations' , time ( ) ) ; } } return $ limitations ; }
Returns an array of limitations useable by the policy system

@return array
Returns an array of limitations useable by the policy system