2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar [#]version[#]
5 || # Copyright ©2002-[#]year[#] Blue Static
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
22 $GLOBALS['isso:callback']->load('api', null
);
24 require_once('./includes/functions_datastore.php');
30 * @copyright Copyright ©2002 - [#]year[#], Blue Static
35 class LanguageAPI
extends API
43 'languageid' => array(TYPE_UINT
, REQ_AUTO
, 'verify_nozero'),
44 'title' => array(TYPE_STR
, REQ_YES
, 'verify_noempty'),
45 'charset' => array(TYPE_STR
, REQ_YES
),
46 'debug' => array(TYPE_BOOL
, REQ_NO
),
47 'direction' => array(TYPE_STR
, REQ_NO
, ':self'),
48 'userselect' => array(TYPE_BOOL
, REQ_NO
),
49 'langcode' => array(TYPE_STR
, REQ_YES
)
57 var $table = 'language';
64 var $prefix = TABLE_PREFIX
;
66 // ###################################################################
72 function post_insert()
77 // ###################################################################
83 function post_update()
88 // ###################################################################
94 $count = $this->registry
->db
->query_first("SELECT COUNT(*) AS count FROM " . TABLE_PREFIX
. "language");
95 if ($count['count'] < 2)
97 $this->error(_('At least one language needs to be present. Deleting this language would violate that.'));
100 if ($this->registry
->options
['defaultlanguage'] == $this->values
['languageid'])
102 $this->error(_('You cannot delete the default language. Please select another language to be the default language and then delete this one.'));
106 // ###################################################################
112 function post_delete()
117 // ###################################################################
123 function verify_direction()
125 if (!in_array($this->values
['direction'], array('ltr', 'rtl')))
127 return _('The direction must be ltr (left-to-right) or rtl (right-to-left)');
133 /*=====================================================================*\
134 || ###################################################################
137 || ###################################################################
138 \*=====================================================================*/