35 public $element =
'bookmark';
40 public $table_element =
'bookmark';
45 public $picto =
'bookmark';
101 $this->ismultientitymanaged = 1;
114 $sql =
"SELECT rowid, fk_user, dateb as datec, url, target,";
115 $sql .=
" title, position, favicon";
116 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bookmark";
117 $sql .=
" WHERE rowid = ".((int) $id);
118 $sql .=
" AND entity = ".$conf->entity;
121 $resql = $this->db->query($sql);
123 $obj = $this->db->fetch_object($resql);
125 $this->
id = $obj->rowid;
126 $this->
ref = $obj->rowid;
128 $this->fk_user = $obj->fk_user;
129 $this->datec = $this->db->jdate($obj->datec);
130 $this->url = $obj->url;
131 $this->target = $obj->target;
132 $this->title = $obj->title;
134 $this->favicon = $obj->favicon;
136 $this->db->free($resql);
154 $this->url = trim($this->url);
155 $this->title = trim($this->title);
164 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"bookmark (fk_user,dateb,url,target";
165 $sql .=
",title,favicon,position";
167 $sql .=
") VALUES (";
168 $sql .= ($this->fk_user > 0 ? $this->fk_user :
"0").
",";
169 $sql .=
" '".$this->db->idate($now).
"',";
170 $sql .=
" '".$this->db->escape($this->url).
"', '".$this->db->escape($this->target).
"',";
171 $sql .=
" '".$this->db->escape($this->title).
"', '".$this->db->escape($this->favicon).
"', ".(int) $this->
position;
172 $sql .=
", ".(int) $conf->entity;
176 $resql = $this->db->query($sql);
178 $id = $this->db->last_insert_id(MAIN_DB_PREFIX.
"bookmark");
184 $this->error = $this->db->lasterror();
185 $this->errno = $this->db->lasterrno();
186 $this->db->rollback();
190 $this->error = $this->db->lasterror();
191 $this->errno = $this->db->lasterrno();
192 $this->db->rollback();
205 $this->url = trim($this->url);
206 $this->title = trim($this->title);
211 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bookmark";
212 $sql .=
" SET fk_user = ".($this->fk_user > 0 ? $this->fk_user :
"0");
213 $sql .=
" ,dateb = '".$this->db->idate($this->datec).
"'";
214 $sql .=
" ,url = '".$this->db->escape($this->url).
"'";
215 $sql .=
" ,target = '".$this->db->escape($this->target).
"'";
216 $sql .=
" ,title = '".$this->db->escape($this->title).
"'";
217 $sql .=
" ,favicon = '".$this->db->escape($this->favicon).
"'";
218 $sql .=
" ,position = ".(int) $this->
position;
219 $sql .=
" WHERE rowid = ".((int) $this->
id);
222 if ($this->db->query($sql)) {
225 $this->error = $this->db->lasterror();
236 public function delete($user)
238 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bookmark";
239 $sql .=
" WHERE rowid = ".((int) $this->
id);
241 $resql = $this->db->query($sql);
245 $this->error = $this->db->lasterror();
288 public function getNomUrl($withpicto = 0, $option =
'', $notooltip = 0, $morecss =
'', $save_lastsearch_value = -1)
290 global $conf, $langs, $hookmanager;
292 if (!empty($conf->dol_no_mouse_hover)) {
298 $label =
'<u>'.$langs->trans(
"Bookmark").
'</u>';
300 $label .=
'<b>'.$langs->trans(
'Ref').
':</b> '.$this->ref;
302 $url = DOL_URL_ROOT.
'/bookmarks/card.php?id='.$this->id;
304 if ($option !=
'nolink') {
306 $add_save_lastsearch_values = ($save_lastsearch_value == 1 ? 1 : 0);
307 if ($save_lastsearch_value == -1 && isset($_SERVER[
"PHP_SELF"]) && preg_match(
'/list\.php/', $_SERVER[
"PHP_SELF"])) {
308 $add_save_lastsearch_values = 1;
310 if ($add_save_lastsearch_values) {
311 $url .=
'&save_lastsearch_values=1';
316 if (empty($notooltip)) {
318 $label = $langs->trans(
"ShowBookmark");
319 $linkclose .=
' alt="'.dol_escape_htmltag($label, 1).
'"';
321 $linkclose .=
' title="'.dol_escape_htmltag($label, 1).
'"';
322 $linkclose .=
' class="classfortooltip'.($morecss ?
' '.$morecss :
'').
'"';
324 $linkclose = ($morecss ?
' class="'.$morecss.
'"' :
'');
327 $linkstart =
'<a href="'.$url.
'"';
328 $linkstart .= $linkclose.
'>';
331 $result .= $linkstart;
333 $result .=
img_object(($notooltip ?
'' : $label), ($this->picto ? $this->picto :
'generic'), ($notooltip ? (($withpicto != 2) ?
'class="paddingright"' :
'') :
'class="'.(($withpicto != 2) ?
'paddingright ' :
'').
'classfortooltip"'), 0, 0, $notooltip ? 0 : 1);
335 if ($withpicto != 2) {
336 $result .= $this->ref;
341 global $action, $hookmanager;
342 $hookmanager->initHooks(array(
'mybookmarkdao'));
343 $parameters = array(
'id'=>$this->
id,
'getnomurl' => &$result);
344 $reshook = $hookmanager->executeHooks(
'getNomUrl', $parameters, $this, $action);
346 $result = $hookmanager->resPrint;
348 $result .= $hookmanager->resPrint;
Class to manage bookmarks.
create()
Insert bookmark into database.
static replaceThirdparty(DoliDB $dbs, $origin_id, $dest_id)
Function used to replace a thirdparty id with another one.
update()
Update bookmark record.
getNomUrl($withpicto=0, $option='', $notooltip=0, $morecss='', $save_lastsearch_value=-1)
Return a link to the object card (with optionally the picto)
fetch($id)
Directs the bookmark.
__construct($db)
Constructor.
getLibStatut($mode)
Return the label of the status.
Parent class of all other business classes (invoices, contracts, proposals, orders,...
static commonReplaceThirdparty(DoliDB $dbs, $origin_id, $dest_id, array $tables, $ignoreerrors=0)
Function used to replace a thirdparty id with another one.
Class to manage Dolibarr database access.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
dol_now($mode='auto')
Return date for now.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.