[ Index ]
 

Code source de eZ Publish 3.9.0

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/kernel/package/ -> ezpackagefunctioncollection.php (source)

   1  <?php
   2  //
   3  // Definition of eZPackageFunctionCollection class
   4  //
   5  // Created on: <11-Aug-2003 18:30:26 amos>
   6  //
   7  // SOFTWARE NAME: eZ publish
   8  // SOFTWARE RELEASE: 3.9.0
   9  // BUILD VERSION: 17785
  10  // COPYRIGHT NOTICE: Copyright (C) 1999-2006 eZ systems AS
  11  // SOFTWARE LICENSE: GNU General Public License v2.0
  12  // NOTICE: >
  13  //   This program is free software; you can redistribute it and/or
  14  //   modify it under the terms of version 2.0  of the GNU General
  15  //   Public License as published by the Free Software Foundation.
  16  //
  17  //   This program is distributed in the hope that it will be useful,
  18  //   but WITHOUT ANY WARRANTY; without even the implied warranty of
  19  //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20  //   GNU General Public License for more details.
  21  //
  22  //   You should have received a copy of version 2.0 of the GNU General
  23  //   Public License along with this program; if not, write to the Free
  24  //   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  25  //   MA 02110-1301, USA.
  26  //
  27  //
  28  
  29  /*! \file ezpackagefunctioncollection.php
  30  */
  31  
  32  /*!
  33    \class eZPackageFunctionCollection ezpackagefunctioncollection.php
  34    \brief The class eZPackageFunctionCollection does
  35  
  36  */
  37  
  38  include_once ( 'kernel/error/errors.php' );
  39  
  40  class eZPackageFunctionCollection
  41  {
  42      /*!
  43       Constructor
  44      */
  45      function eZPackageFunctionCollection()
  46      {
  47      }
  48  
  49      function fetchList( $filterArray = false, $offset, $limit, $repositoryID )
  50      {
  51          $filterParams = array();
  52          $filterList = false;
  53          if ( isset( $filterArray ) and
  54               is_array( $filterArray ) and
  55               count( $filterArray ) > 0 )
  56          {
  57              $filterList = $filterArray;
  58              if ( count( $filterArray ) > 1 and
  59                   !is_array( $filterArray[0] ) )
  60              {
  61                  $filterList = array( $filterArray );
  62              }
  63          }
  64          if ( $filterList !== false )
  65          {
  66              foreach ( $filterList as $filter )
  67              {
  68                  if ( is_array( $filter ) and count( $filter ) > 0 )
  69                  {
  70                      $filterName = $filter[0];
  71                      switch ( $filterName )
  72                      {
  73                          case 'type':
  74                          {
  75                              $typeValue = $filter[1];
  76                              $typeParam = array( 'type' => $typeValue );
  77                              $filterParams = array_merge( $filterParams, $typeParam );
  78                          } break;
  79                          case 'priority':
  80                          {
  81                              $priorityValue = $filter[1];
  82                              $priorityParam = array( 'priority' => $priorityValue );
  83                              $filterParams = array_merge( $filterParams, $priorityParam );
  84                          } break;
  85                          case 'vendor':
  86                          {
  87                              $vendorValue = $filter[1];
  88                              $vendorParam = array( 'vendor' => $vendorValue );
  89                              $filterParams = array_merge( $filterParams, $vendorParam );
  90                          } break;
  91                          case 'extension':
  92                          {
  93                              $extensionValue = $filter[1];
  94                              $extensionParam = array( 'extension' => $extensionValue );
  95                              $filterParams = array_merge( $filterParams, $extensionParam );
  96                          } break;
  97                          default:
  98                          {
  99                              eZDebug::writeWarning( 'Unknown package filter name: ' . $filterName );
 100                              continue;
 101                          };
 102                      }
 103                  }
 104              }
 105          }
 106          $params = array( 'offset' => $offset,
 107                           'limit' => $limit );
 108          if ( $repositoryID )
 109              $params['repository_id'] = $repositoryID;
 110  
 111          include_once ( 'kernel/classes/ezpackage.php' );
 112          $packageList = eZPackage::fetchPackages( $params,
 113                                                   $filterParams );
 114          if ( $packageList === null )
 115              return array( 'error' => array( 'error_type' => 'kernel',
 116                                              'error_code' => EZ_ERROR_KERNEL_NOT_FOUND ) );
 117          return array( 'result' => $packageList );
 118      }
 119  
 120      function fetchPackage( $packageName, $repositoryID )
 121      {
 122          include_once ( 'kernel/classes/ezpackage.php' );
 123          $package = eZPackage::fetch( $packageName, false, $repositoryID );
 124          if ( $package === false )
 125          {
 126              $retValue = array( 'error' => array( 'error_type' => 'kernel',
 127                                                   'error_code' => EZ_ERROR_KERNEL_NOT_FOUND ) );
 128          }
 129          else
 130          {
 131              $retValue = array( 'result' => $package );
 132          }
 133          return $retValue;
 134      }
 135  
 136      function fetchDependentPackageList( $packageName, $filterArray = false, $repositoryID )
 137      {
 138          $filterParams = array();
 139          $filterList = false;
 140          if ( isset( $filterArray ) and
 141               is_array( $filterArray ) and
 142               count( $filterArray ) > 0 )
 143          {
 144              $filterList = $filterArray;
 145              if ( count( $filterArray ) > 1 and
 146                   !is_array( $filterArray[0] ) )
 147              {
 148                  $filterList = array( $filterArray );
 149              }
 150          }
 151          if ( $filterList !== false )
 152          {
 153              foreach ( $filterList as $filter )
 154              {
 155                  if ( is_array( $filter ) and count( $filter ) > 0 )
 156                  {
 157                      $filterName = $filter[0];
 158                      switch ( $filterName )
 159                      {
 160                          case 'type':
 161                          {
 162                              $typeValue = $filter[1];
 163                              $typeParam = array( 'type' => $typeValue );
 164                              $filterParams = array_merge( $filterParams, $typeParam );
 165                          } break;
 166                          case 'name':
 167                          {
 168                              $nameValue = $filter[1];
 169                              $nameParam = array( 'name' => $nameValue );
 170                              $filterParams = array_merge( $filterParams, $nameParam );
 171                          } break;
 172                          case 'priority':
 173                          {
 174                              $priorityValue = $filter[1];
 175                              $priorityParam = array( 'priority' => $priorityValue );
 176                              $filterParams = array_merge( $filterParams, $priorityParam );
 177                          } break;
 178                          case 'vendor':
 179                          {
 180                              $vendorValue = $filter[1];
 181                              $vendorParam = array( 'vendor' => $vendorValue );
 182                              $filterParams = array_merge( $filterParams, $vendorParam );
 183                          } break;
 184                          case 'extension':
 185                          {
 186                              $extensionValue = $filter[1];
 187                              $extensionParam = array( 'extension' => $extensionValue );
 188                              $filterParams = array_merge( $filterParams, $extensionParam );
 189                          } break;
 190                          default:
 191                          {
 192                              eZDebug::writeWarning( 'Unknown package filter name: ' . $filterName );
 193                              continue;
 194                          };
 195                      }
 196                  }
 197              }
 198          }
 199          include_once ( 'kernel/classes/ezpackage.php' );
 200          $package = eZPackage::fetch( $packageName, false, $repositoryID );
 201          $packageList = $package->fetchDependentPackages( $filterParams );
 202          if ( $packageList === false )
 203          {
 204              $retValue = array( 'error' => array( 'error_type' => 'kernel',
 205                                                   'error_code' => EZ_ERROR_KERNEL_NOT_FOUND ) );
 206          }
 207          else
 208          {
 209              $retValue = array( 'result' => $packageList );
 210          }
 211          return $retValue;
 212      }
 213  
 214      function fetchMaintainerRoleList( $packageType, $checkRoles )
 215      {
 216          include_once ( 'kernel/classes/ezpackage.php' );
 217          $list = eZPackage::fetchMaintainerRoleList( $packageType, $checkRoles );
 218          if ( $list === false )
 219              return array( 'error' => array( 'error_type' => 'kernel',
 220                                              'error_code' => EZ_ERROR_KERNEL_NOT_FOUND ) );
 221          return array( 'result' => $list );
 222      }
 223  
 224      function fetchRepositoryList()
 225      {
 226          include_once ( 'kernel/classes/ezpackage.php' );
 227          $list = eZPackage::packageRepositories();
 228          if ( $list === false )
 229              return array( 'error' => array( 'error_type' => 'kernel',
 230                                              'error_code' => EZ_ERROR_KERNEL_NOT_FOUND ) );
 231          return array( 'result' => $list );
 232      }
 233  
 234      function canCreate()
 235      {
 236          return array( 'result' => eZPackage::canUsePolicyFunction( 'create' ) );
 237      }
 238  
 239      function canEdit()
 240      {
 241          return array( 'result' => eZPackage::canUsePolicyFunction( 'edit' ) );
 242      }
 243  
 244      function canImport()
 245      {
 246          return array( 'result' => eZPackage::canUsePolicyFunction( 'import' ) );
 247      }
 248  
 249      function canInstall()
 250      {
 251          return array( 'result' => eZPackage::canUsePolicyFunction( 'install' ) );
 252      }
 253  
 254      function canExport()
 255      {
 256          return array( 'result' => eZPackage::canUsePolicyFunction( 'export' ) );
 257      }
 258  
 259      function canRead()
 260      {
 261          return array( 'result' => eZPackage::canUsePolicyFunction( 'read' ) );
 262      }
 263  
 264      function canList()
 265      {
 266          return array( 'result' => eZPackage::canUsePolicyFunction( 'list' ) );
 267      }
 268  
 269      function canRemove()
 270      {
 271          return array( 'result' => eZPackage::canUsePolicyFunction( 'remove' ) );
 272      }
 273  }
 274  
 275  ?>


Généré le : Sat Feb 24 10:30:04 2007 par Balluche grâce à PHPXref 0.7