2 /************************************************************************/
4 /************************************************************************/
5 /* Copyright (c) 2010 */
6 /* Inclusive Design Institute */
8 /* This program is free software. You can redistribute it and/or */
9 /* modify it under the terms of the GNU General Public License */
10 /* as published by the Free Software Foundation. */
11 /************************************************************************/
14 * DAO for "language_text" table
20 if (!defined('TR_INCLUDE_PATH')) exit;
22 require_once(TR_INCLUDE_PATH. 'classes/DAO/DAO.class.php');
24 class LanguageTextDAO extends DAO {
29 * @param $language_code : language code
30 * $variable: '_msgs', '_template', '_check', '_guideline', '_test'
37 function Create($language_code, $variable, $term, $text, $context)
41 $sql = "INSERT INTO ".TABLE_PREFIX."language_text
42 (`language_code`, `variable`, `term`, `text`, `revised_date`, `context`)
44 ('".$addslashes($language_code)."',
45 '".$addslashes($variable)."',
46 '".$addslashes($term)."',
47 '".$addslashes($text)."',
49 '".$addslashes($context)."')";
51 return $this->execute($sql);
55 * Insert new record if not exists, replace the existing one if already exists.
56 * Record is identified by primary key: $language_code, variable, $term
58 * @param $language_code : language code
59 * $variable: '_msgs', '_template', '_check', '_guideline', '_test'
66 function Replace($language_code, $variable, $term, $text, $context)
70 $sql = "REPLACE INTO ".TABLE_PREFIX."language_text
71 (`language_code`, `variable`, `term`, `text`, `revised_date`, `context`)
73 ('".$addslashes($language_code)."',
74 '".$addslashes($variable)."',
75 '".$addslashes($term)."',
76 '".$addslashes($text)."',
78 '".$addslashes($context)."')";
80 return $this->execute($sql);
84 * Delete a record by $variable and $term
86 * @param $language_code : language code
87 * $variable: '_msgs', '_template', '_check', '_guideline', '_test'
89 * @return true / false
92 function DeleteByVarAndTerm($variable, $term)
96 $sql = "DELETE FROM ".TABLE_PREFIX."language_text
97 WHERE `variable` = '".$addslashes($variable)."'
98 AND `term` = '".$addslashes($term)."'";
100 return $this->execute($sql);
104 * Return message text of given term and language
106 * @param term : language term
107 * lang : language code
109 * @author Cindy Qi Li
111 function getMsgByTermAndLang($term, $lang)
113 $sql = 'SELECT * FROM '.TABLE_PREFIX.'language_text
114 WHERE term="' . $term . '"
116 AND language_code="'.$lang.'"
119 return $this->execute($sql);
123 * Return text of given term and language
125 * @param term : language term
126 * lang : language code
128 * @author Cindy Qi Li
130 function getByTermAndLang($term, $lang)
132 $sql = 'SELECT * FROM '.TABLE_PREFIX.'language_text
133 WHERE term="' . $term . '"
134 AND language_code="'.$lang.'"
137 return $this->execute($sql);
141 * Return rows of handbook rows by matching given text and language
143 * @param term : language term
144 * lang : language code
146 * @author Cindy Qi Li
148 function getHelpByMatchingText($text, $lang)
150 $sql = "SELECT * FROM ".TABLE_PREFIX."language_text
151 WHERE term like 'TR_HELP_%'
152 AND lower(cast(text as char)) like '%".strtolower($text)."%'
153 AND language_code='".$lang."'
156 return $this->execute($sql);
160 * Return all template info of given language
162 * @param lang : language code
164 * @author Cindy Qi Li
166 function getAllByLang($lang)
168 $sql = "SELECT * FROM ".TABLE_PREFIX."language_text
169 WHERE language_code='".$lang."'
170 ORDER BY variable, term ASC";
172 return $this->execute($sql);
176 * Return all template info of given language
178 * @param lang : language code
180 * @author Cindy Qi Li
182 function getAllTemplateByLang($lang)
184 $sql = "SELECT * FROM ".TABLE_PREFIX."language_text
185 WHERE language_code='".$lang."'
186 AND variable='_template'
187 ORDER BY variable ASC";
189 return $this->execute($sql);
193 * Update text based on given primary key
195 * @param $languageCode : language_text.language_code
196 * $variable : language_text.variable
197 * $term : language_text.term
198 * $text : text to update into language_text.text
199 * @return true : if successful
200 * false: if unsuccessful
201 * @author Cindy Qi Li
203 function setText($languageCode, $variable, $term, $text)
207 $sql = "UPDATE ".TABLE_PREFIX."language_text
208 SET text='".$addslashes($text)."',
210 WHERE language_code = '".$_SESSION['lang']."'
211 AND variable='".$variable."'
212 AND term = '".$term."'";
214 return $this->execute($sql);