17 self::_setupDatabase();
18 self::_insertDefaultValues();
25 private static function _setupDatabase()
37 'smiley_keywords' =>
array(
41 'smiley_path' =>
array(
50 $ilDB->createTable(
'chatroom_smilies', $fields);
51 $ilDB->addPrimaryKey(
'chatroom_smilies',
array(
'smiley_id'));
52 $ilDB->createSequence(
'chatroom_smilies');
58 private static function _insertDefaultValues()
66 array(
"icon_smile.gif",
":)\n:-)\n:smile:"),
67 array(
"icon_wink.gif",
";)\n;-)\n:wink:"),
68 array(
"icon_laugh.gif",
":D\n:-D\n:laugh:\n:grin:\n:biggrin:"),
69 array(
"icon_sad.gif",
":(\n:-(\n:sad:"),
70 array(
"icon_shocked.gif",
":o\n:-o\n:shocked:"),
71 array(
"icon_tongue.gif",
":p\n:-p\n:tongue:"),
72 array(
"icon_cool.gif",
":cool:"),
73 array(
"icon_eek.gif",
":eek:"),
74 array(
"icon_angry.gif",
":||\n:-||\n:angry:"),
75 array(
"icon_flush.gif",
":flush:"),
76 array(
"icon_idea.gif",
":idea:"),
77 array(
"icon_thumbup.gif",
":thumbup:"),
78 array(
"icon_thumbdown.gif",
":thumbdown:"),
81 $stmt = $ilDB->prepareManip(
" 82 INSERT INTO chatroom_smilies (smiley_id, smiley_keywords, smiley_path) 84 array(
"integer",
"text",
"text")
87 foreach($values as $val)
90 $ilDB->nextId(
"chatroom_smilies"),
107 mkdir(
$path, 0755,
true);
121 $path = self::_getSmileyDir();
148 "icon_thumbdown.gif",
151 foreach($smilies as $smiley)
153 copy(
"templates/default/images/emoticons/$smiley",
$path .
"/$smiley");
156 self::_insertDefaultValues();
161 if(!is_writable(
$path))
182 public static function _getSmilies()
189 $res = $ilDB->query(
"SELECT smiley_id, smiley_keywords, smiley_path FROM chatroom_smilies");
192 while(
$row = $ilDB->fetchAssoc(
$res))
195 "smiley_id" =>
$row[
'smiley_id'],
196 "smiley_keywords" =>
$row[
'smiley_keywords'],
197 "smiley_path" =>
$row[
'smiley_path'],
214 $smilies = self::_getSmiliesById($ids);
216 if(count($smilies) <= 0)
219 $sql_parts =
array();
221 foreach($smilies as $s)
223 unlink($s[
"smiley_fullpath"]);
224 $sql_parts[] =
"smiley_id = " . $ilDB->quote($s[
"smiley_id"],
'integer');
227 $ilDB->manipulate(
"DELETE FROM chatroom_smilies WHERE " . implode(
" OR ", $sql_parts));
235 public static function _getSmiliesById($ids =
array())
245 $sql =
"SELECT smiley_id, smiley_keywords, smiley_path FROM chatroom_smilies WHERE ";
247 $sql_parts =
array();
251 $sql_parts[] .=
"smiley_id = " . $ilDB->quote($id,
"integer");
254 $sql .= join(
" OR ", $sql_parts);
255 $res = $ilDB->query($sql);
258 while(
$row = $ilDB->fetchAssoc(
$res))
261 "smiley_id" =>
$row[
'smiley_id'],
262 "smiley_keywords" =>
$row[
'smiley_keywords'],
263 "smiley_path" =>
$row[
'smiley_path'],
276 public static function _updateSmiley(
$data)
284 "UPDATE chatroom_smilies 285 SET smiley_keywords = %s 288 array(
'text',
'integer'),
292 if(
$data[
"smiley_path"])
294 $sm = self::_getSmiley(
$data[
"smiley_id"]);
295 unlink($sm[
"smiley_fullpath"]);
297 "UPDATE chatroom_smilies 301 array(
'text',
'integer'),
314 public static function _getSmiley($a_id)
321 $res = $ilDB->queryF(
" 322 SELECT smiley_id, smiley_keywords, smiley_path 323 FROM chatroom_smilies 324 WHERE smiley_id = %s ",
328 if($ilDB->numRows(
$res))
330 while(
$row = $ilDB->fetchAssoc(
$res))
333 "smiley_id" =>
$row[
'smiley_id'],
334 "smiley_keywords" =>
$row[
'smiley_keywords'],
335 "smiley_path" =>
$row[
'smiley_path'],
341 throw new Exception(
'smiley with id $a_id not found');
357 public static function _deleteSmiley($a_id)
366 $smiley = self::_getSmiley($a_id);
373 "DELETE FROM chatroom_smilies 391 public static function _storeSmiley($keywords,
$path)
398 $stmt = $ilDB->prepareManip(
" 399 INSERT INTO chatroom_smilies (smiley_id, smiley_keywords, smiley_path) 402 "integer",
"text",
"text" 406 $ilDB->nextId(
"chatroom_smilies"),
410 $stmt->execute(
$row);
420 $keywordscheck =
true;
423 $keywords_unchecked = explode(
"\n", $words);
424 if(count($keywords_unchecked) <= 0)
425 $keywordscheck =
false;
431 foreach($keywords_unchecked as $word)
434 $keywords[] = trim($word);
438 if($keywordscheck && count($keywords) <= 0)
439 $keywordscheck =
false;
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static makeDirParents($a_dir)
Create a new directory and all parent directories.
static _setupFolder()
Setup directory.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _getSmiliesBasePath()
Returns smilies basepath.
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 _initial()
Performs initial setup (db, dirs, default data)
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.