Language.class.php
gehe zur Dokumentation dieser Datei00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00031 class Language
00032 {
00033 var $languageid = 0;
00034 var $error = '';
00035 var $projectid;
00036
00037 var $name = '';
00038 var $isoCode = '';
00039 var $isDefault = false;
00040
00041
00042
00043 function Language( $languageid='' )
00044 {
00045 global $SESS;
00046
00047 if ( is_numeric($languageid) )
00048 $this->languageid = $languageid;
00049
00050
00051 }
00052
00053
00054
00058 function available( $id )
00059 {
00060 $db = db_connection();
00061
00062 $sql = new Sql('SELECT 1 FROM {t_language} '.
00063 ' WHERE id={id}');
00064 $sql->setInt('id' ,$id );
00065
00066 return intval($db->getOne($sql->query)) == 1;
00067 }
00068
00069
00070
00071
00072 function getAll()
00073 {
00074 global $SESS;
00075 $db = db_connection();
00076
00077 $sql = new Sql( "SELECT id,name FROM {t_language} ".
00078 " WHERE projectid = {projectid} ".
00079 " ORDER BY name" );
00080
00081 if ( !empty($this->projectid) )
00082 $sql->setInt('projectid',$this->projectid );
00083 else
00084 {
00085 $project = Session::getProject();
00086 $sql->setInt('projectid',$project->projectid);
00087 }
00088
00089 return $db->getAssoc( $sql->query );
00090 }
00091
00092
00093
00094 function load()
00095 {
00096 $db = Session::getDatabase();
00097
00098 $sql = new Sql( 'SELECT * FROM {t_language}'.
00099 ' WHERE id={languageid}' );
00100 $sql->setInt( 'languageid',$this->languageid );
00101
00102 $row = $db->getRow( $sql->query );
00103
00104 $this->name = $row['name' ];
00105 $this->isoCode = $row['isocode' ];
00106 $this->projectid = intval( $row['projectid'] );
00107
00108 $this->isDefault = ( $row['is_default'] == '1' );
00109 }
00110
00111
00112
00113 function save()
00114 {
00115 $db = db_connection();
00116
00117
00118 $sql = new Sql( 'UPDATE {t_language} '.
00119 'SET name = {name}, '.
00120 ' isocode = {isocode} '.
00121 'WHERE id={languageid}' );
00122 $sql->setString( 'name' ,$this->name );
00123 $sql->setString( 'isocode' ,$this->isoCode );
00124
00125 $sql->setInt( 'languageid',$this->languageid );
00126
00127
00128 $db->query( $sql->query );
00129 }
00130
00131
00136 function getProperties()
00137 {
00138 return Array( 'name' =>$this->name,
00139 'isocode'=>$this->isoCode );
00140 }
00141
00142
00146 function add( $isocode='' )
00147 {
00148 global $SESS;
00149 global $iso;
00150 $db = db_connection();
00151
00152 if ( $isocode != '' )
00153 {
00154
00155 $isocode = str_replace('_','',$isocode);
00156
00157 $this->isocode = $isocode;
00158 $codes = GlobalFunctions::getIsoCodes();
00159 $this->name = $codes[ $isocode ];
00160 }
00161
00162 $sql = new Sql('SELECT MAX(id) FROM {t_language}');
00163 $this->languageid = intval($db->getOne($sql->query))+1;
00164
00165
00166 $sql = new Sql( 'INSERT INTO {t_language} '.
00167 '(id,projectid,name,isocode,is_default) VALUES( {languageid},{projectid},{name},{isocode},0 )');
00168 $sql->setInt ('languageid',$this->languageid );
00169 $sql->setInt ('projectid' ,$this->projectid );
00170 $sql->setString('name' ,$this->name );
00171 $sql->setString('isocode' ,$this->isoCode );
00172
00173
00174 $db->query( $sql->query );
00175 }
00176
00177
00178
00179 function setDefault()
00180 {
00181 global $SESS;
00182 $db = db_connection();
00183
00184
00185 $sql = new Sql( 'UPDATE {t_language} '.
00186 ' SET is_default = 0 '.
00187 ' WHERE projectid={projectid}' );
00188 $sql->setInt('projectid',$this->projectid );
00189 $db->query( $sql->query );
00190
00191
00192 $sql = new Sql( 'UPDATE {t_language} '.
00193 ' SET is_default = 1 '.
00194 ' WHERE id={languageid}' );
00195 $sql->setInt('languageid',$this->languageid );
00196 $db->query( $sql->query );
00197 }
00198
00199
00200 function getDefaultId()
00201 {
00202 global $SESS;
00203 $db = db_connection();
00204
00205 $sql = new Sql( 'SELECT id FROM {t_language} '.
00206 ' WHERE projectid={projectid}'.
00207 ' ORDER BY is_default DESC' );
00208
00209 if ( isset($this->projectid) )
00210 $sql->setInt('projectid',$this->projectid );
00211 else
00212 {
00213 $project = Session::getProject();
00214 $sql->setInt('projectid',$project->projectid);
00215 }
00216
00217 return $db->getOne( $sql->query );
00218 }
00219
00220
00221
00222 function delete()
00223 {
00224 $db = db_connection();
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235 $sql = new Sql( 'DELETE FROM {t_value} WHERE languageid={languageid}' );
00236 $sql->setInt( 'languageid',$this->languageid );
00237 $db->query( $sql->query );
00238
00239
00240 $sql = new Sql( 'DELETE FROM {t_name} WHERE languageid={languageid}' );
00241 $sql->setInt( 'languageid',$this->languageid );
00242 $db->query( $sql->query );
00243
00244
00245 $sql = new Sql( 'DELETE FROM {t_language} WHERE id={languageid}' );
00246 $sql->setInt( 'languageid',$this->languageid );
00247 $db->query( $sql->query );
00248
00249
00250 $sql = new Sql( 'SELECT id FROM {t_language} WHERE projectid={projectid}' );
00251 $sql->setInt( 'projectid',$this->projectid );
00252 $new_default_languageid = $db->getOne( $sql->query );
00253
00254 $sql = new Sql( 'UPDATE {t_language} SET is_default=1 WHERE id={languageid}' );
00255 $sql->setInt( 'languageid',$new_default_languageid );
00256 $db->query( $sql->query );
00257
00258 }
00259 }
00260
00261 ?>