00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 class eZContentClassName extends eZPersistentObject
00030 {
00031 function eZContentClassName( $row )
00032 {
00033 eZPersistentObject::eZPersistentObject( $row );
00034 }
00035
00036 function definition()
00037 {
00038 return array( 'fields' => array( 'contentclass_id' => array( 'name' => 'ContentClassID',
00039 'datatype' => 'integer',
00040 'default' => 0,
00041 'required' => true,
00042 'foreign_class' => 'eZContentClass',
00043 'foreign_attribute' => 'id',
00044 'multiplicity' => '1..*' ),
00045 'contentclass_version' => array( 'name' => 'ContentClassVersion',
00046 'datatype' => 'integer',
00047 'default' => 0,
00048 'required' => true ),
00049 'language_locale' => array( 'name' => 'LanguageLocale',
00050 'datatype' => 'string',
00051 'default' => '',
00052 'required' => true ),
00053 'language_id' => array( 'name' => 'LanguageID',
00054 'datatype' => 'integer',
00055 'default' => 0,
00056 'required' => true,
00057 'foreign_class' => 'eZContentLanguage',
00058 'foreign_attribute' => 'id',
00059 'multiplicity' => '1..*' ),
00060 'name' => array( 'name' => 'Name',
00061 'datatype' => 'string',
00062 'default' => '',
00063 'required' => false ) ),
00064 'keys' => array( 'contentclass_id',
00065 'contentclass_version',
00066 'language_locale' ),
00067 'function_attributes' => array(),
00068 'class_name' => 'eZContentClassName',
00069 'sort' => array( 'contentclass_id' => 'asc' ),
00070 'name' => 'ezcontentclass_name' );
00071 }
00072
00073 function fetchList( $classID, $classVersion, $languageLocaleList, $asObjects = true, $fields = null, $sorts = null, $limit = null )
00074 {
00075 $conds = array();
00076
00077 if ( is_array( $languageLocaleList ) && count( $languageLocaleList ) > 0 )
00078 $conds[ 'language_locale'] = array( $languageLocaleList );
00079
00080 $conds[ 'contentclass_id'] = $classID;
00081 $conds[ 'contentclass_version'] = $classVersion;
00082
00083 return eZPersistentObject::fetchObjectList( eZContentClassName::definition(),
00084 $fields,
00085 $conds,
00086 $sorts,
00087 $limit,
00088 $asObjects );
00089 }
00090
00091
00092
00093
00094
00095
00096
00097
00098 function sqlFilter( $languageTable = 'ezcontentclass' )
00099 {
00100 $def = eZContentClassName::definition();
00101 $languageListTable = $def['name'];
00102 $sqlFilter = array( 'nameField' => "$languageListTable.name",
00103 'from' => "$languageListTable",
00104 'where' => "$languageTable.id = $languageListTable.contentclass_id AND
00105 $languageTable.version = $languageListTable.contentclass_version AND " .
00106 eZContentLanguage::sqlFilter( $languageListTable, $languageTable ),
00107 'orderBy' => "$languageListTable.name" );
00108
00109 return $sqlFilter;
00110 }
00111
00112
00113
00114
00115 function sqlAppendFilter( $languageTable = 'ezcontentclass' )
00116 {
00117 $def = eZContentClassName::definition();
00118 $languageListTable = $def['name'];
00119 $sqlFilter = array( 'nameField' => ", $languageListTable.name",
00120 'from' => ", $languageListTable",
00121 'where' => "AND $languageTable.id = $languageListTable.contentclass_id AND
00122 $languageTable.version = $languageListTable.contentclass_version AND " .
00123 eZContentLanguage::sqlFilter( $languageListTable, $languageTable ),
00124 'orderBy' => "$languageListTable.name" );
00125
00126 return $sqlFilter;
00127 }
00128
00129
00130
00131
00132 function sqlEmptyFilter()
00133 {
00134 $sqlFilter = array( 'nameField' => '',
00135 'from' => '',
00136 'where' => '',
00137 'orderBy' => '' );
00138
00139 return $sqlFilter;
00140 }
00141
00142 function remove( $contentClassID, $contentClassVersion )
00143 {
00144 $db =& eZDb::instance();
00145 $db->begin();
00146
00147 $sql = "DELETE FROM ezcontentclass_name WHERE contentclass_id = $contentClassID AND contentclass_version = $contentClassVersion";
00148 $db->query( $sql );
00149
00150 $db->commit();
00151 }
00152
00153 }
00154
00155 ?>