diff --git a/htdocs/bookmarks/bookmark.class.php b/htdocs/bookmarks/bookmark.class.php
index 925764dc554..2a8453d6057 100644
--- a/htdocs/bookmarks/bookmark.class.php
+++ b/htdocs/bookmarks/bookmark.class.php
@@ -61,23 +61,25 @@ class Bookmark
*/
function fetch($id)
{
- $sql = "SELECT rowid, fk_user, ".$this->db->pdate("dateb").", url, target,";
+ $sql = "SELECT rowid, fk_user, ".$this->db->pdate("dateb")." as datec, url, target,";
$sql.= " title, favicon";
$sql.= " FROM ".MAIN_DB_PREFIX."bookmark";
$sql.= " WHERE rowid = ".$id;
+ dolibarr_syslog("Bookmark::fetch sql=".$sql, LOG_DEBUG);
$resql = $this->db->query ($sql);
-
if ($resql)
{
$obj = $this->db->fetch_object($resql);
$this->id = $obj->rowid;
+ $this->ref = $obj->rowid;
+
$this->fk_user = $obj->fk_user;
$this->datec = $obj->datec;
$this->url = $obj->url;
$this->target = $obj->target;
- $this->title = stripslashes($obj->title);
+ $this->title = $obj->title;
$this->favicon = $obj->favicon;
$this->db->free($resql);
@@ -97,7 +99,7 @@ class Bookmark
function create()
{
$this->db->begin();
-
+
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bookmark (fk_user,dateb,url,target";
$sql.= " ,title,favicon";
if ($this->fk_soc) $sql.=",fk_soc";
@@ -170,7 +172,7 @@ class Bookmark
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bookmark";
$sql .= " WHERE rowid = ".$id;
-
+
$resql=$this->db->query ($sql);
if ($resql)
{
diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php
index c736ef92830..4af8e71dc92 100644
--- a/htdocs/bookmarks/bookmarks.lib.php
+++ b/htdocs/bookmarks/bookmarks.lib.php
@@ -65,7 +65,7 @@ function printBookmarksList ($aDb, $aLangs)
if (! empty($conf->global->BOOKMARKS_SHOW_IN_MENU))
{
$sql = "SELECT rowid, title, url FROM ".MAIN_DB_PREFIX."bookmark";
- if (! $user->admin) $sql.= " WHERE (fk_user = ".$user->id." OR fk_user is NULL)";
+ if (! $user->admin) $sql.= " WHERE (fk_user = ".$user->id." OR fk_user is NULL OR fk_user = 0)";
if ($resql = $db->query($sql) )
{
$i=0;
diff --git a/htdocs/bookmarks/fiche.php b/htdocs/bookmarks/fiche.php
index 9ee190770e1..8ae0fbafdfc 100644
--- a/htdocs/bookmarks/fiche.php
+++ b/htdocs/bookmarks/fiche.php
@@ -57,35 +57,6 @@ if ($action == 'add' || $action == 'addproduct')
$bookmark->url=$url;
$bookmark->target=$target;
- // TODO Remove because this test is now always false
- if ($action == 'add' && $_GET["socid"]) // Link to third party card
- {
- require_once(DOL_DOCUMENT_ROOT."/societe.class.php");
- $langs->load("companies");
- $societe=new Societe($db);
- $societe->fetch($_GET["socid"]);
- $bookmark->url=DOL_URL_ROOT.'/soc.php?socid='.$societe->id;
- $bookmark->target='0';
- $bookmark->title=$langs->trans("ThirdParty").' '.$societe->nom;
- //$bookmark->title=$societe->nom;
- $title=$bookmark->title;
- $url=$bookmark->url;
- }
- // TODO Remove because this test is now always false
- if ($action == 'addproduct' && $_GET["id"]) // Link to product card
- {
- require_once(DOL_DOCUMENT_ROOT."/product.class.php");
- $langs->load("products");
- $product=new Product($db);
- $product->fetch($_GET["id"]);
- $bookmark->url=DOL_URL_ROOT.'/product/fiche.php?id='.$product->id;
- $bookmark->target='0';
- $bookmark->title=($product->type != 1 ?$langs->trans("Product"):$langs->trans("Service")).' '.$product->ref;
- //$bookmark->title=$product->ref;
- $title=$bookmark->title;
- $url=$bookmark->url;
- }
-
if (! $title) $mesg.=($mesg?' ':'').$langs->trans("ErrorFieldRequired",$langs->trans("BookmarkTitle"));
if (! $url) $mesg.=($mesg?' ':'').$langs->trans("ErrorFieldRequired",$langs->trans("UrlOrLink"));
@@ -168,9 +139,9 @@ if ($action == 'create')
print '
';
- print ''.$langs->trans("BookmarkTitle").' '.$langs->trans("SetHereATitleForLink").' ';
- print ''.$langs->trans("UrlOrLink").' '.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").' ';
- print ''.$langs->trans("BehaviourOnClick").' ';
+ print ' '.$langs->trans("BookmarkTitle").' '.$langs->trans("SetHereATitleForLink").' ';
+ print ''.$langs->trans("UrlOrLink").' '.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").' ';
+ print ''.$langs->trans("BehaviourOnClick").' ';
$liste=array(1=>$langs->trans("OpenANewWindow"),0=>$langs->trans("ReplaceWindow"));
$html->select_array('target',$liste,1);
print ' '.$langs->trans("ChooseIfANewWindowMustBeOpenedOnClickOnBookmark").' ';
@@ -199,13 +170,29 @@ if ($_GET["id"] > 0 && ! eregi('^add',$_GET["action"]))
print '';
- print ''.$langs->trans("BookmarkTitle").' '.$bookmark->title.' ';
- print ''.$langs->trans("UrlOrLink").' ';
+ print ' '.$langs->trans("Ref").' '.$bookmark->ref.' ';
+ print ''.$langs->trans("BookmarkTitle").' '.$bookmark->title.' ';
+ print ''.$langs->trans("UrlOrLink").' ';
print ''.$bookmark->url.' ';
- print ''.$langs->trans("BehaviourOnClick").' ';
+ print ' '.$langs->trans("BehaviourOnClick").' ';
if ($bookmark->target == 0) print $langs->trans("OpenANewWindow");
if ($bookmark->target == 1) print $langs->trans("ReplaceWindow");
print ' ';
+ print ''.$langs->trans("Owner").' ';
+ if ($bookmark->fk_user)
+ {
+ $fuser=new User($db);
+ $fuser->id=$bookmark->fk_user;
+ $fuser->fetch();
+ //$fuser->nom=$fuser->login; $fuser->prenom='';
+ print $fuser->getNomUrl(1);
+ }
+ else
+ {
+ print $langs->trans("Public");
+ }
+ print ' ';
+ print ''.$langs->trans("DateCreation").' '.dolibarr_print_date($bookmark->datec,'dayhour').' ';
print '
';
print "\n";
diff --git a/htdocs/bookmarks/liste.php b/htdocs/bookmarks/liste.php
index d0f8f83d36f..56e0560c35e 100644
--- a/htdocs/bookmarks/liste.php
+++ b/htdocs/bookmarks/liste.php
@@ -64,6 +64,8 @@ if ($_GET["action"] == 'delete')
* View
*/
+$userstatic=new User($db);
+
llxHeader();
print_fiche_titre($langs->trans("Bookmarks"));
@@ -72,9 +74,9 @@ if ($mesg) print $mesg;
$sql = "SELECT b.fk_soc as rowid, ".$db->pdate("b.dateb")." as dateb, b.rowid as bid, b.fk_user, b.url, b.target, b.title, b.favicon,";
$sql.= " u.login, u.name, u.firstname";
-$sql.= " FROM ".MAIN_DB_PREFIX."bookmark as b, ".MAIN_DB_PREFIX."user as u";
-$sql.= " WHERE b.fk_user=u.rowid";
-if (! $user->admin) $sql.= " AND (b.fk_user = ".$user->id." OR b.fk_user is NULL)";
+$sql.= " FROM ".MAIN_DB_PREFIX."bookmark as b LEFT JOIN ".MAIN_DB_PREFIX."user as u ON b.fk_user=u.rowid";
+$sql.= " WHERE 1=1";
+if (! $user->admin) $sql.= " AND (b.fk_user = ".$user->id." OR b.fk_user is NULL OR b.fk_user = 0)";
$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit( $limit, $offset);
$resql=$db->query($sql);
@@ -87,11 +89,11 @@ if ($resql)
print "";
//print " ";
- print_liste_field_titre($langs->trans("Id"),$_SERVER["PHP_SELF"],"bid","","",'align="left"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"bid","","",'align="left"',$sortfield,$sortorder);
print ''.$langs->trans("Title")." ";
print ''.$langs->trans("Link")." ";
print ''.$langs->trans("Target")." ";
- print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"],"u.name","","",'align="center"',$sortfield,$sortorder);
+ print_liste_field_titre($langs->trans("Owner"),$_SERVER["PHP_SELF"],"u.name","","",'align="center"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"b.dateb","","",'align="center"',$sortfield,$sortorder);
print " ";
print " \n";
@@ -149,7 +151,18 @@ if ($resql)
print "\n";
// Author
- print ''.img_object($langs->trans("ShowUser"),"user").' '.$obj->login." \n";
+ print '';
+ if ($obj->fk_user)
+ {
+ $userstatic->id=$obj->fk_user;
+ $userstatic->nom=$obj->login;
+ print $userstatic->getNomUrl(1);
+ }
+ else
+ {
+ print $langs->trans("Public");
+ }
+ print " \n";
// Date creation
print ''.dolibarr_print_date($obj->dateb,'day') ." ";