diff --git a/htdocs/bookmarks/fiche.php b/htdocs/bookmarks/fiche.php index 6414b119cc4..58907b270c0 100644 --- a/htdocs/bookmarks/fiche.php +++ b/htdocs/bookmarks/fiche.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005 Laurent Destailleur + * Copyright (C) 2005 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -55,7 +55,7 @@ if ($action == 'add') $societe=new Societe($db); $societe->fetch($_GET["socid"]); $bookmark->fk_soc=$societe->id; - $bookmark->url=DOL_URL_ROOT.'/comm/fiche.php?socidp='.$societe->id; + $bookmark->url=DOL_URL_ROOT.'/comm/fiche.php?socid='.$societe->id; $bookmark->target='0'; $bookmark->title=$societe->nom; } diff --git a/htdocs/includes/boxes/box_bookmarks.php b/htdocs/includes/boxes/box_bookmarks.php new file mode 100644 index 00000000000..d86f11b37af --- /dev/null +++ b/htdocs/includes/boxes/box_bookmarks.php @@ -0,0 +1,126 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + */ + +/** + \file htdocs/includes/boxes/box_bookmarks.php + \ingroup bookmark + \brief Module de génération de l'affichage de la box bookmark +*/ + + +include_once(DOL_DOCUMENT_ROOT."/includes/boxes/modules_boxes.php"); + + +class box_bookmarks extends ModeleBoxes { + + var $boxcode="bookmarks"; + var $boximg="object_bookmark"; + var $boxlabel; + var $depends = array(); + + var $info_box_head = array(); + var $info_box_contents = array(); + + /** + * \brief Constructeur de la classe + */ + function box_bookmarks() + { + global $langs; + $langs->load("boxes"); + + $this->boxlabel=$langs->trans("BoxMyLastBookmarks"); + } + + /** + * \brief Charge les données en mémoire pour affichage ultérieur + * \param $max Nombre maximum d'enregistrements à charger + */ + function loadBox($max=5) + { + global $user, $langs, $db; + $langs->load("boxes"); + + $this->info_box_head = array('text' => $langs->trans("BoxMyLastBookmarks",$max)); + + if ($user->rights->bookmark->lire) + { + $sql = "SELECT b.title, b.url, b.target, b.favicon"; + $sql.= " FROM ".MAIN_DB_PREFIX."bookmark as b"; + $sql.= " WHERE fk_user = ".$user->id; + $sql .= " ORDER BY b.dateb DESC "; + $sql .= $db->plimit($max, 0); + + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows($result); + + $i = 0; + + while ($i < $num) + { + $objp = $db->fetch_object($result); + + $this->info_box_contents[$i][0] = array('align' => 'left', + 'logo' => $this->boximg, + 'text' => stripslashes($objp->title), + 'url' => $objp->url, + 'target' => $objp->target?'newtab':''); + + $i++; + } + + $i=$num; + while ($i < $max) + { + if ($num==0 && $i==$num) + { + $this->info_box_contents[$i][0] = array('align' => 'center','text'=>$langs->trans("NoRecordedBookmarks")); + $this->info_box_contents[$i][1] = array('text'=>' '); + } else { + $this->info_box_contents[$i][0] = array('text'=>' '); + $this->info_box_contents[$i][1] = array('text'=>' '); + } + $i++; + } + + } + else + { + dolibarr_print_error($db); + } + } + else { + $this->info_box_contents[0][0] = array('align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed")); + } + } + + function showBox() + { + parent::showBox($this->info_box_head, $this->info_box_contents); + } + +} + +?> diff --git a/htdocs/includes/modules/modBookmark.class.php b/htdocs/includes/modules/modBookmark.class.php index b3ad970f720..4b5fcdc5d26 100644 --- a/htdocs/includes/modules/modBookmark.class.php +++ b/htdocs/includes/modules/modBookmark.class.php @@ -76,6 +76,8 @@ class modBookmark extends DolibarrModules // Boites $this->boxes = array(); + $this->boxes[0][0] = "Mes derniers marque-pages"; + $this->boxes[0][1] = "box_bookmarks.php"; // Permissions $this->rights = array(); diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index db51da62750..9bc41a27a86 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -34,4 +34,6 @@ BoxTitleCurrentAccounts=Current account's balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpayedCustomerBills=Unpayed customer's invoices BoxTitleTotalUnpayedSuppliersBills=Unpayed supplier's invoices +BoxMyLastBookmarks=My last %s bookmarks FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Informations are from %s +NoRecordedBookmarks=No bookmarks defined. Click here to add bookmarks. \ No newline at end of file diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index cfcaed00336..4ed2585f5ca 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -34,4 +34,6 @@ BoxTitleCurrentAccounts=Les soldes de comptes courants BoxTitleSalesTurnover=Le chiffre d'affaire réalisé BoxTitleTotalUnpayedCustomerBills=Impayés clients BoxTitleTotalUnpayedSuppliersBills=Impayés fournisseurs +BoxMyLastBookmarks=Mes %s derniers marque-pages FailedToRefreshDataInfoNotUpToDate=Echec du rafraichissement du flux RSS. Les informations datent du %s. +NoRecordedBookmarks=Pas de bookmarks personnels définis. Cliquer ici pour en ajouter. \ No newline at end of file diff --git a/mysql/tables/llx_bookmark.key.sql b/mysql/tables/llx_bookmark.key.sql new file mode 100644 index 00000000000..bb7935a9e3b --- /dev/null +++ b/mysql/tables/llx_bookmark.key.sql @@ -0,0 +1,25 @@ +-- =================================================================== +-- Copyright (C) 2005 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +-- +-- $Id$ +-- $Source$ +-- +-- =================================================================== + + +ALTER TABLE llx_bookmark ADD UNIQUE uk_bookmark_url (fk_user, url); +ALTER TABLE llx_bookmark ADD UNIQUE uk_bookmark_title (fk_user, title); \ No newline at end of file