ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilNote Class Reference

Note class. More...

+ Collaboration diagram for ilNote:

Public Member Functions

 ilNote ($a_id=0)
 constructor
 setId ($a_id)
 set id
 getId ()
 get id
 setObject ($a_obj_type, $a_rep_obj_id, $a_obj_id=0)
 set assigned object
 getObject ()
 setType ($a_type)
 set type
 getType ()
 get type
 setAuthor ($a_user_id)
 set author
 getAuthor ()
 get author
 setText ($a_text)
 set text
 getText ()
 get text
 setSubject ($a_subject)
 set subject
 getSubject ()
 get subject
 setCreationDate ($a_date)
 set creation date
 getCreationDate ()
 get creation date
 setUpdateDate ($a_date)
 set update date
 getUpdateDate ()
 get update date
 setLabel ($a_label)
 set label
 getLabel ()
 get label
 create ()
 update ()
 read ()
 delete ()
 delete note
 setAllData ($a_note_rec)
 set all note data by record array
 _lookupCreationDate ($a_id)
 lookup creation date of note
 _lookupUpdateDate ($a_id)
 lookup update date of note
 _getNotesOfObject ($a_rep_obj_id, $a_obj_id, $a_obj_type, $a_type=IL_NOTE_PRIVATE, $a_incl_sub=false, $a_filter="", $a_all_public="y")
 get all notes related to a specific object
 _getLastNotesOfUser ()
 get last notes of current user
 _getRelatedObjectsOfUser ($a_mode)
 get all related objects for user

Static Public Member Functions

static getUserCount ($a_rep_obj_id, $a_obj_id, $a_type)
 How many users have attached a note/comment to a given object?

Detailed Description

Note class.

Represents a single note.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id:
class.ilNote.php 21745 2009-09-18 14:34:17Z akill

Definition at line 24 of file class.ilNote.php.

Member Function Documentation

ilNote::_getLastNotesOfUser ( )

get last notes of current user

Definition at line 414 of file class.ilNote.php.

References $ilDB, $q, IL_NOTE_PRIVATE, and ilNote().

Referenced by ilPDNotesBlockGUI\fillDataSection().

{
global $ilDB, $ilUser;
$q = "SELECT * FROM note WHERE ".
" type = ".$ilDB->quote((int) IL_NOTE_PRIVATE, "integer").
" AND author = ".$ilDB->quote((int) $ilUser->getId(), "integer").
" ORDER BY creation_date DESC";
$ilDB->quote($q);
$set = $ilDB->query($q);
$notes = array();
while($note_rec = $ilDB->fetchAssoc($set))
{
$cnt = count($notes);
$notes[$cnt] = new ilNote();
$notes[$cnt]->setAllData($note_rec);
}
return $notes;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::_getNotesOfObject (   $a_rep_obj_id,
  $a_obj_id,
  $a_obj_type,
  $a_type = IL_NOTE_PRIVATE,
  $a_incl_sub = false,
  $a_filter = "",
  $a_all_public = "y" 
)

get all notes related to a specific object

Definition at line 366 of file class.ilNote.php.

References $ilDB, $q, IL_NOTE_PRIVATE, and ilNote().

Referenced by ilNoteGUI\getNoteListHTML().

{
global $ilDB, $ilUser;
$author_where = ($a_type == IL_NOTE_PRIVATE || $a_all_public == "n")
? " AND author = ".$ilDB->quote((int) $ilUser->getId(), "integer")
: "";
$sub_where = (!$a_incl_sub)
? " AND obj_id = ".$ilDB->quote((int) $a_obj_id, "integer").
" AND obj_type = ".$ilDB->quote((string) $a_obj_type, "text")
: "";
$q = "SELECT * FROM note WHERE ".
" rep_obj_id = ".$ilDB->quote((int) $a_rep_obj_id, "integer").
$sub_where.
" AND type = ".$ilDB->quote((int) $a_type, "integer").
$author_where.
" ORDER BY creation_date DESC";
$set = $ilDB->query($q);
$notes = array();
while($note_rec = $ilDB->fetchAssoc($set))
{
if ($a_filter != "")
{
if (!is_array($a_filter))
{
$a_filter = array($a_filter);
}
if (!in_array($note_rec["id"], $a_filter))
{
continue;
}
}
$cnt = count($notes);
$notes[$cnt] = new ilNote();
$notes[$cnt]->setAllData($note_rec);
}
return $notes;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::_getRelatedObjectsOfUser (   $a_mode)

get all related objects for user

Definition at line 439 of file class.ilNote.php.

References $ilDB, $q, ilObjUser\_lookupDesktopItems(), IL_NOTE_PRIVATE, IL_NOTE_PUBLIC, and ilPDNotesGUI\PRIVATE_NOTES.

Referenced by ilPDNotesGUI\view().

{
global $ilDB, $ilUser;
{
$q = "SELECT DISTINCT rep_obj_id FROM note WHERE ".
" type = ".$ilDB->quote((int) IL_NOTE_PRIVATE, "integer").
" AND author = ".$ilDB->quote($ilUser->getId(), "integer").
" ORDER BY rep_obj_id";
$ilDB->quote($q);
$set = $ilDB->query($q);
$reps = array();
while($rep_rec = $ilDB->fetchAssoc($set))
{
$reps[] = array("rep_obj_id" => $rep_rec["rep_obj_id"]);
}
}
else
{
// all objects where the user wrote at least one comment
$q = "SELECT DISTINCT rep_obj_id FROM note WHERE ".
" type = ".$ilDB->quote((int) IL_NOTE_PUBLIC, "integer").
" AND author = ".$ilDB->quote($ilUser->getId(), "integer").
" ORDER BY rep_obj_id";
$set = $ilDB->query($q);
$reps = array();
while($rep_rec = $ilDB->fetchAssoc($set))
{
$reps[] = array("rep_obj_id" => $rep_rec["rep_obj_id"]);
}
// additionally all objects on the personal desktop of the user
// that have at least on comment
$dis = ilObjUser::_lookupDesktopItems($ilUser->getId());
$obj_ids = array();
foreach($dis as $di)
{
$obj_ids[] = $di["obj_id"];
}
if (count($obj_ids) > 0)
{
$q = "SELECT DISTINCT rep_obj_id FROM note WHERE ".
$ilDB->in("rep_obj_id", $obj_ids, false, "integer");
$set = $ilDB->query($q);
while($rec = $ilDB->fetchAssoc($set))
{
$add = true;
reset($reps);
foreach ($reps as $r)
{
if ($r["rep_obj_id"] == $rec["rep_obj_id"])
{
$add = false;
}
}
if ($add)
{
$reps[] = array("rep_obj_id" => $rec["rep_obj_id"]);
}
}
}
}
return $reps;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::_lookupCreationDate (   $a_id)

lookup creation date of note

Definition at line 336 of file class.ilNote.php.

References $ilDB, $q, and getId().

Referenced by create().

{
global $ilDB;
$q = "SELECT * FROM note WHERE id = ".
$ilDB->quote((int) $this->getId(), "integer");
$set = $ilDB->query($q);
$note_rec = $ilDB->fetchAssoc($set);
return $note_rec["creation_date"];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::_lookupUpdateDate (   $a_id)

lookup update date of note

Definition at line 351 of file class.ilNote.php.

References $ilDB, $q, and getId().

Referenced by update().

{
global $ilDB;
$q = "SELECT * FROM note WHERE id = ".
$ilDB->quote((int) $this->getId(), "integer");
$set = $ilDB->query($q);
$note_rec = $ilDB->fetchAssoc($set);
return $note_rec["update_date"];
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::create ( )

Definition at line 226 of file class.ilNote.php.

References $ilDB, _lookupCreationDate(), getId(), and ilUtil\now().

{
global $ilDB;
$this->id = $ilDB->nextId("note");
/*$q = "INSERT INTO note (id, rep_obj_id, obj_id, obj_type, type,".
"author, note_text, subject, label, creation_date) VALUES (".
$ilDB->quote($this->id, "integer").",".
$ilDB->quote((int) $this->rep_obj_id, "integer").",".
$ilDB->quote((int) $this->obj_id, "integer").",".
$ilDB->quote((string) $this->obj_type, "text").",".
$ilDB->quote((int) $this->type, "integer").",".
$ilDB->quote((int) $this->author, "integer").",".
$ilDB->quote((string) $this->text, "clob").",".
$ilDB->quote((string) $this->subject, "text").",".
$ilDB->quote((int) $this->label, "integer").",".
$ilDB->now().")";
$ilDB->manipulate($q);*/
$ilDB->insert("note", array(
"id" => array("integer", $this->id),
"rep_obj_id" => array("integer", (int) $this->rep_obj_id),
"obj_id" => array("integer", (int) $this->obj_id),
"obj_type" => array("text", (string) $this->obj_type),
"type" => array("integer", (int) $this->type),
"author" => array("integer", (int) $this->author),
"note_text" => array("clob", (string) $this->text),
"subject" => array("text", (string) $this->subject),
"label" => array("integer", (int) $this->label),
"creation_date" => array("timestamp", ilUtil::now())
));
$this->creation_date = ilNote::_lookupCreationDate($this->getId());
}

+ Here is the call graph for this function:

ilNote::delete ( )

delete note

Definition at line 308 of file class.ilNote.php.

References $ilDB, $q, and getId().

{
global $ilDB;
$q = "DELETE FROM note WHERE id = ".
$ilDB->quote((int) $this->getId(), "integer");
$ilDB->manipulate($q);
}

+ Here is the call graph for this function:

ilNote::getAuthor ( )

get author

Returns
int user id

Definition at line 119 of file class.ilNote.php.

{
return $this->author;
}
ilNote::getCreationDate ( )

get creation date

Returns
string creation date

Definition at line 179 of file class.ilNote.php.

{
return $this->creation_date;
}
ilNote::getId ( )

get id

Returns
int note id

Definition at line 54 of file class.ilNote.php.

Referenced by _lookupCreationDate(), _lookupUpdateDate(), create(), delete(), read(), and update().

{
return $this->id;
}

+ Here is the caller graph for this function:

ilNote::getLabel ( )

get label

Returns
int IL_NOTE_UNLABELED | IL_NOTE_IMPORTANT | IL_NOTE_QUESTION | IL_NOTE_PRO | IL_NOTE_CONTRA

Definition at line 221 of file class.ilNote.php.

{
return $this->label;
}
ilNote::getObject ( )

Definition at line 76 of file class.ilNote.php.

{
return array("rep_obj_id" => $this->rep_obj_id,
"obj_id" => $this->obj_id,
"obj_type" => $this->obj_type);
}
ilNote::getSubject ( )

get subject

Returns
string subject

Definition at line 159 of file class.ilNote.php.

{
return $this->subject;
}
ilNote::getText ( )

get text

Returns
string text

Definition at line 139 of file class.ilNote.php.

{
return $this->text;
}
ilNote::getType ( )

get type

Returns
int IL_NOTE_PUBLIC | IL_NOTE_PRIVATE

Definition at line 99 of file class.ilNote.php.

References $type.

{
return $this->type;
}
ilNote::getUpdateDate ( )

get update date

Returns
string update date

Definition at line 199 of file class.ilNote.php.

{
return $this->update_date;
}
static ilNote::getUserCount (   $a_rep_obj_id,
  $a_obj_id,
  $a_type 
)
static

How many users have attached a note/comment to a given object?

Parameters
int$a_rep_obj_idobject id (as in object data)
int$a_obj_id(sub) object id
string$a_type(sub) object type

Definition at line 516 of file class.ilNote.php.

References $ilDB.

Referenced by ilWikiPageGUI\deleteWikiPageConfirmationScreen().

{
global $ilDB;
$set = $ilDB->queryF("SELECT count(DISTINCT author) cnt FROM note WHERE ".
"rep_obj_id = %s AND obj_id = %s AND obj_type = %s",
array("integer", "integer", "text"),
array((int) $a_rep_obj_id, (int) $a_obj_id, (int) $a_type));
$rec = $ilDB->fetchAssoc($set);
return (int) $rec["cnt"];
}

+ Here is the caller graph for this function:

ilNote::ilNote (   $a_id = 0)

constructor

Definition at line 30 of file class.ilNote.php.

References read().

Referenced by _getLastNotesOfUser(), and _getNotesOfObject().

{
if ($a_id > 0)
{
$this->id = $a_id;
$this->read();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::read ( )

Definition at line 294 of file class.ilNote.php.

References $ilDB, $q, getId(), and setAllData().

Referenced by ilNote().

{
global $ilDB;
$q = "SELECT * FROM note WHERE id = ".
$ilDB->quote((int) $this->getId(), "integer");
$set = $ilDB->query($q);
$note_rec = $ilDB->fetchAssoc($set);
$this->setAllData($note_rec);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::setAllData (   $a_note_rec)

set all note data by record array

Definition at line 320 of file class.ilNote.php.

References setAuthor(), setCreationDate(), setId(), setLabel(), setObject(), setSubject(), setText(), setType(), and setUpdateDate().

Referenced by read().

{
$this->setId($a_note_rec["id"]);
$this->setObject($a_note_rec["obj_type"], $a_note_rec["rep_obj_id"], $a_note_rec["obj_id"]);
$this->setType($a_note_rec["type"]);
$this->setAuthor($a_note_rec["author"]);
$this->setText($a_note_rec["note_text"]);
$this->setSubject($a_note_rec["subject"]);
$this->setLabel($a_note_rec["label"]);
$this->setCreationDate($a_note_rec["creation_date"]);
$this->setUpdateDate($a_note_rec["update_date"]);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilNote::setAuthor (   $a_user_id)

set author

Parameters
intauthor user id

Definition at line 109 of file class.ilNote.php.

Referenced by setAllData().

{
$this->author = $a_user_id;
}

+ Here is the caller graph for this function:

ilNote::setCreationDate (   $a_date)

set creation date

Parameters
stringcreation date

Definition at line 169 of file class.ilNote.php.

Referenced by setAllData().

{
$this->creation_date = $a_date;
}

+ Here is the caller graph for this function:

ilNote::setId (   $a_id)

set id

Parameters
intnote id

Definition at line 44 of file class.ilNote.php.

Referenced by setAllData().

{
$this->id = $a_id;
}

+ Here is the caller graph for this function:

ilNote::setLabel (   $a_label)

set label

Parameters
intIL_NOTE_UNLABELED | IL_NOTE_IMPORTANT | IL_NOTE_QUESTION | IL_NOTE_PRO | IL_NOTE_CONTRA

Definition at line 210 of file class.ilNote.php.

Referenced by setAllData().

{
return $this->label = $a_label;
}

+ Here is the caller graph for this function:

ilNote::setObject (   $a_obj_type,
  $a_rep_obj_id,
  $a_obj_id = 0 
)

set assigned object

Parameters
$a_typestring type of the object (e.g st,pg,crs ...)
$a_rep_obj_idint object id (NOT ref_id!) of repository object (e.g for page objects the obj_id of the learning module; for personal desktop this is set to 0)
$a_obj_idint object id (e.g for page objects the obj_id of the page object) for, this is set to 0 for normal repository objects like forums ...

Definition at line 69 of file class.ilNote.php.

Referenced by setAllData().

{
$this->rep_obj_id = $a_rep_obj_id;
$this->obj_id = $a_obj_id;
$this->obj_type = $a_obj_type;
}

+ Here is the caller graph for this function:

ilNote::setSubject (   $a_subject)

set subject

Parameters
stringtext

Definition at line 149 of file class.ilNote.php.

Referenced by setAllData().

{
$this->subject = $a_subject;
}

+ Here is the caller graph for this function:

ilNote::setText (   $a_text)

set text

Parameters
stringtext

Definition at line 129 of file class.ilNote.php.

Referenced by setAllData().

{
$this->text = $a_text;
}

+ Here is the caller graph for this function:

ilNote::setType (   $a_type)

set type

Parameters
intIL_NOTE_PUBLIC | IL_NOTE_PRIVATE

Definition at line 89 of file class.ilNote.php.

Referenced by setAllData().

{
$this->type = $a_type;
}

+ Here is the caller graph for this function:

ilNote::setUpdateDate (   $a_date)

set update date

Parameters
stringupdate date

Definition at line 189 of file class.ilNote.php.

Referenced by setAllData().

{
$this->update_date = $a_date;
}

+ Here is the caller graph for this function:

ilNote::update ( )

Definition at line 261 of file class.ilNote.php.

References $ilDB, _lookupUpdateDate(), getId(), and ilUtil\now().

{
global $ilDB;
/*$q = "UPDATE note SET ".
"rep_obj_id = ".$ilDB->quote((int) $this->rep_obj_id, "integer").",".
"obj_id = ".$ilDB->quote((int) $this->obj_id, "integer").",".
"obj_type = ".$ilDB->quote((string) $this->obj_type, "text").",".
"type = ".$ilDB->quote((int) $this->type, "integer").",".
"author = ".$ilDB->quote((int) $this->author,"integer").",".
"note_text = ".$ilDB->quote((string) $this->text, "clob").",".
"subject = ".$ilDB->quote((string) $this->subject, "text").",".
"update_date = ".$ilDB->now().",".
"label = ".$ilDB->quote((int) $this->label, "integer").
"WHERE id =".$ilDB->quote((int) $this->getId(), "integer");
$ilDB->manipulate($q);*/
$ilDB->update("note", array(
"rep_obj_id" => array("integer", (int) $this->rep_obj_id),
"obj_id" => array("integer", (int) $this->obj_id),
"obj_type" => array("text", (string) $this->obj_type),
"type" => array("integer", (int) $this->type),
"author" => array("integer", (int) $this->author),
"note_text" => array("clob", (string) $this->text),
"subject" => array("text", (string) $this->subject),
"label" => array("integer", (int) $this->label),
"update_date" => array("timestamp", ilUtil::now())
), array(
"id" => array("integer", $this->getId())
));
$this->update_date = ilNote::_lookupUpdateDate($this->getId());
}

+ Here is the call graph for this function:


The documentation for this class was generated from the following file: