15 private static function _insertDefaultValues()
23 array(
"icon_smile.gif",
":)\n:-)\n:smile:"),
24 array(
"icon_wink.gif",
";)\n;-)\n:wink:"),
25 array(
"icon_laugh.gif",
":D\n:-D\n:laugh:\n:grin:\n:biggrin:"),
26 array(
"icon_sad.gif",
":(\n:-(\n:sad:"),
27 array(
"icon_shocked.gif",
":o\n:-o\n:shocked:"),
28 array(
"icon_tongue.gif",
":p\n:-p\n:tongue:"),
29 array(
"icon_cool.gif",
":cool:"),
30 array(
"icon_eek.gif",
":eek:"),
31 array(
"icon_angry.gif",
":||\n:-||\n:angry:"),
32 array(
"icon_flush.gif",
":flush:"),
33 array(
"icon_idea.gif",
":idea:"),
34 array(
"icon_thumbup.gif",
":thumbup:"),
35 array(
"icon_thumbdown.gif",
":thumbdown:"),
38 $stmt = $ilDB->prepareManip(
40 INSERT INTO chatroom_smilies (smiley_id, smiley_keywords, smiley_path) 42 array(
"integer",
"text",
"text")
45 foreach ($values as $val) {
47 $ilDB->nextId(
"chatroom_smilies"),
65 $path = self::_getSmileyDir();
91 foreach ($smilies as $smiley) {
92 copy(
"templates/default/images/emoticons/$smiley",
$path .
"/$smiley");
95 self::_insertDefaultValues();
100 if (!is_writable(
$path)) {
120 public static function _getSmilies()
127 $res = $ilDB->query(
"SELECT smiley_id, smiley_keywords, smiley_path FROM chatroom_smilies");
130 while (
$row = $ilDB->fetchAssoc(
$res)) {
132 "smiley_id" =>
$row[
'smiley_id'],
133 "smiley_keywords" =>
$row[
'smiley_keywords'],
134 "smiley_path" =>
$row[
'smiley_path'],
151 $smilies = self::_getSmiliesById($ids);
153 if (count($smilies) <= 0) {
157 $sql_parts =
array();
159 foreach ($smilies as
$s) {
160 unlink($s[
"smiley_fullpath"]);
161 $sql_parts[] =
"smiley_id = " . $ilDB->quote($s[
"smiley_id"],
'integer');
164 $ilDB->manipulate(
"DELETE FROM chatroom_smilies WHERE " . implode(
" OR ", $sql_parts));
172 public static function _getSmiliesById($ids =
array())
183 $sql =
"SELECT smiley_id, smiley_keywords, smiley_path FROM chatroom_smilies WHERE ";
185 $sql_parts =
array();
187 foreach ($ids as
$id) {
188 $sql_parts[] .=
"smiley_id = " . $ilDB->quote($id,
"integer");
191 $sql .= join(
" OR ", $sql_parts);
192 $res = $ilDB->query($sql);
195 while (
$row = $ilDB->fetchAssoc(
$res)) {
197 "smiley_id" =>
$row[
'smiley_id'],
198 "smiley_keywords" =>
$row[
'smiley_keywords'],
199 "smiley_path" =>
$row[
'smiley_path'],
212 public static function _updateSmiley(
$data)
220 "UPDATE chatroom_smilies 221 SET smiley_keywords = %s 224 array(
'text',
'integer'),
228 if (
$data[
"smiley_path"]) {
229 $sm = self::_getSmiley(
$data[
"smiley_id"]);
230 unlink($sm[
"smiley_fullpath"]);
232 "UPDATE chatroom_smilies 236 array(
'text',
'integer'),
249 public static function _getSmiley($a_id)
256 $res = $ilDB->queryF(
258 SELECT smiley_id, smiley_keywords, smiley_path 259 FROM chatroom_smilies 260 WHERE smiley_id = %s ",
265 if ($ilDB->numRows(
$res)) {
266 while (
$row = $ilDB->fetchAssoc(
$res)) {
268 "smiley_id" =>
$row[
'smiley_id'],
269 "smiley_keywords" =>
$row[
'smiley_keywords'],
270 "smiley_path" =>
$row[
'smiley_path'],
276 throw new Exception(
'smiley with id $a_id not found');
285 return 'chatroom/smilies';
292 public static function _deleteSmiley($a_id)
300 $smiley = self::_getSmiley($a_id);
303 if (is_file(
$path)) {
308 "DELETE FROM chatroom_smilies 323 public static function _storeSmiley($keywords,
$path)
330 $stmt = $ilDB->prepareManip(
332 INSERT INTO chatroom_smilies (smiley_id, smiley_keywords, smiley_path) 335 "integer",
"text",
"text" 339 $ilDB->nextId(
"chatroom_smilies"),
343 $stmt->execute(
$row);
353 $keywordscheck =
true;
356 $keywords_unchecked = explode(
"\n", $words);
357 if (count($keywords_unchecked) <= 0) {
358 $keywordscheck =
false;
361 if ($keywordscheck) {
364 foreach ($keywords_unchecked as $word) {
366 $keywords[] = trim($word);
371 if ($keywordscheck && count($keywords) <= 0) {
372 $keywordscheck =
false;
375 if ($keywordscheck) {
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static makeDirParents($a_dir)
Create a new directory and all parent directories.
if(!array_key_exists('StateId', $_REQUEST)) $id
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
foreach($_POST as $key=> $value) $res
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _checkSetup()
Checks if smiley folder is available; if not it will try to create folder and performs actions for an...
static _getSmileyDir()
Path to smilies.
static getSmiliesBasePath()
Returns smilies basepath.
static _prepareKeywords($words)
Trims given keywords and returns them in one array.
static getWebspaceDir($mode="filesystem")
get webspace directory
static _deleteMultipleSmilies($ids=array())
Deletes multiple smilies by given id array.