39 $this->db = $DIC->database();
40 $this->
user = $DIC->user();
41 $this->arrData = array();
51 bool $useronly =
false 56 $ilDB = $DIC->database();
57 $lng = $DIC->language();
60 $result =
$ilDB->queryF(
61 "SELECT * FROM svy_phrase WHERE defaultvalue = %s OR owner_fi = %s ORDER BY title",
62 array(
'text',
'integer'),
65 while ($row =
$ilDB->fetchObject($result)) {
66 if ((
int) $row->defaultvalue === 1 && (
int) $row->owner_fi === 0) {
68 $phrases[$row->phrase_id] = array(
69 "title" =>
$lng->txt($row->title),
70 "owner" => $row->owner_fi,
71 "org_title" => $row->title
74 } elseif (
$ilUser->getId() === (
int) $row->owner_fi) {
75 $phrases[$row->phrase_id] = array(
76 "title" => $row->title,
77 "owner" => $row->owner_fi
94 $ilDB = $DIC->database();
95 $lng = $DIC->language();
97 $categories = array();
98 $result =
$ilDB->queryF(
99 "SELECT svy_category.* FROM svy_category, svy_phrase_cat WHERE svy_phrase_cat.category_fi = svy_category.category_id AND svy_phrase_cat.phrase_fi = %s ORDER BY svy_phrase_cat.sequence",
103 while ($row =
$ilDB->fetchObject($result)) {
104 if ((
int) $row->defaultvalue === 1 && (
int) $row->owner_fi === 0) {
105 $categories[$row->category_id] =
$lng->txt($row->title);
107 $categories[$row->category_id] = $row->title;
122 if (count($phrase_array) > 0) {
123 $ilDB->manipulate(
"DELETE FROM svy_phrase WHERE " .
$ilDB->in(
'phrase_id', $phrase_array,
false,
'integer'));
124 $ilDB->manipulate(
"DELETE FROM svy_phrase_cat WHERE " .
$ilDB->in(
'phrase_fi', $phrase_array,
false,
'integer'));
135 "UPDATE svy_phrase SET title = %s, tstamp = %s WHERE phrase_id = %s",
136 array(
'text',
'integer',
'integer'),
137 array($this->title, time(), $phrase_id)
141 "DELETE FROM svy_phrase_cat WHERE phrase_fi = %s",
147 for (
$i = 0;
$i < $this->categories->getCategoryCount();
$i++) {
148 $cat = $this->categories->getCategory(
$i);
149 $next_id =
$ilDB->nextId(
'svy_category');
150 $affectedRows =
$ilDB->manipulateF(
151 "INSERT INTO svy_category (category_id, title, defaultvalue, owner_fi, tstamp, neutral) VALUES (%s, %s, %s, %s, %s, %s)",
152 array(
'integer',
'text',
'text',
'integer',
'integer',
'text'),
153 array($next_id, $cat->title, 1,
$ilUser->getId(), time(), $cat->neutral)
155 $category_id = $next_id;
156 $next_id =
$ilDB->nextId(
'svy_phrase_cat');
157 $affectedRows =
$ilDB->manipulateF(
158 "INSERT INTO svy_phrase_cat (phrase_category_id, phrase_fi, category_fi, sequence) VALUES (%s, %s, %s, %s)",
159 array(
'integer',
'integer',
'integer',
'integer'),
160 array($next_id, $phrase_id, $category_id, $counter)
174 $next_id =
$ilDB->nextId(
'svy_phrase');
176 "INSERT INTO svy_phrase (phrase_id, title, defaultvalue, owner_fi, tstamp) VALUES (%s, %s, %s, %s, %s)",
177 array(
'integer',
'text',
'text',
'integer',
'integer'),
178 array($next_id, $this->title, 1,
$ilUser->getId(), time())
180 $phrase_id = $next_id;
183 for (
$i = 0;
$i < $this->categories->getCategoryCount();
$i++) {
184 $cat = $this->categories->getCategory(
$i);
185 $next_id =
$ilDB->nextId(
'svy_category');
186 $affectedRows =
$ilDB->manipulateF(
187 "INSERT INTO svy_category (category_id, title, defaultvalue, owner_fi, tstamp, neutral) VALUES (%s, %s, %s, %s, %s, %s)",
188 array(
'integer',
'text',
'text',
'integer',
'integer',
'text'),
189 array($next_id, $cat->title, 1,
$ilUser->getId(), time(), $cat->neutral)
191 $category_id = $next_id;
192 $next_id =
$ilDB->nextId(
'svy_phrase_cat');
193 $affectedRows =
$ilDB->manipulateF(
194 "INSERT INTO svy_phrase_cat (phrase_category_id, phrase_fi, category_fi, sequence) VALUES (%s, %s, %s, %s)",
195 array(
'integer',
'integer',
'integer',
'integer'),
196 array($next_id, $phrase_id, $category_id, $counter)
205 public function __get(
string $value)
209 return $this->arrData[$value] ?? null;
220 $this->arrData[
$key] = $value;
__set(string $key, $value)
deletePhrases(array $phrase_array)
Delete phrases from the database.
static _getCategoriesForPhrase(int $phrase_id)
Gets the available categories for a given phrase.
savePhrase()
Saves a set of categories to a default phrase.
static _getAvailablePhrases(bool $useronly=false)
Gets the available phrases from the database.
updatePhrase(int $phrase_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...