示例#1
0
 /**
  * Creates a Piece_ORM_Metadata object from a cache or a database.
  *
  * @param string $tableName
  * @param string $tableID
  * @return Piece_ORM_Metadata
  */
 function &_createMetadata($tableName, $tableID)
 {
     if (!file_exists($GLOBALS['PIECE_ORM_Metadata_CacheDirectory'])) {
         trigger_error("The cache directory [ {$GLOBALS['PIECE_ORM_Metadata_CacheDirectory']} ] is not found.", E_USER_WARNING);
         return Piece_ORM_Metadata_Factory::_createMetadataFromDatabase($tableName);
     }
     if (!is_readable($GLOBALS['PIECE_ORM_Metadata_CacheDirectory']) || !is_writable($GLOBALS['PIECE_ORM_Metadata_CacheDirectory'])) {
         trigger_error("The cache directory [ {$GLOBALS['PIECE_ORM_Metadata_CacheDirectory']} ] is not readable or writable.", E_USER_WARNING);
         return Piece_ORM_Metadata_Factory::_createMetadataFromDatabase($tableName);
     }
     return Piece_ORM_Metadata_Factory::_getMetadata($tableName, $tableID);
 }