From b4982e450e0b535ce95ee55911bc8fd05ec0c537 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 31 Jan 2009 16:52:10 +0000 Subject: [PATCH] Bookmarks can be publics --- htdocs/bookmarks/bookmark.class.php | 12 +++--- htdocs/bookmarks/bookmarks.lib.php | 2 +- htdocs/bookmarks/fiche.php | 57 +++++++++++------------------ htdocs/bookmarks/liste.php | 25 ++++++++++--- 4 files changed, 49 insertions(+), 47 deletions(-) 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 ''; - print ''; - print ''; + print ''; + print ''; @@ -199,13 +170,29 @@ if ($_GET["id"] > 0 && ! eregi('^add',$_GET["action"])) print '
'.$langs->trans("BookmarkTitle").''.$langs->trans("SetHereATitleForLink").'
'.$langs->trans("UrlOrLink").''.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").'
'.$langs->trans("BehaviourOnClick").''; + print '
'.$langs->trans("BookmarkTitle").''.$langs->trans("SetHereATitleForLink").'
'.$langs->trans("UrlOrLink").''.$langs->trans("UseAnExternalHttpLinkOrRelativeDolibarrLink").'
'.$langs->trans("BehaviourOnClick").''; $liste=array(1=>$langs->trans("OpenANewWindow"),0=>$langs->trans("ReplaceWindow")); $html->select_array('target',$liste,1); print ''.$langs->trans("ChooseIfANewWindowMustBeOpenedOnClickOnBookmark").'
'; - print ''; - print ''; + print ''; + print ''; - print ''; + print ''; + print ''; print '
'.$langs->trans("BookmarkTitle").''.$bookmark->title.'
'.$langs->trans("UrlOrLink").''; + print '
'.$langs->trans("Ref").''.$bookmark->ref.'
'.$langs->trans("BookmarkTitle").''.$bookmark->title.'
'.$langs->trans("UrlOrLink").''; print ''.$bookmark->url.'
'.$langs->trans("BehaviourOnClick").''; + print '
'.$langs->trans("BehaviourOnClick").''; if ($bookmark->target == 0) print $langs->trans("OpenANewWindow"); if ($bookmark->target == 1) print $langs->trans("ReplaceWindow"); 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 '
'.$langs->trans("DateCreation").''.dolibarr_print_date($bookmark->datec,'dayhour').'
'; 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') ."";