32 global $conf, $user, $db, $langs;
34 require_once DOL_DOCUMENT_ROOT.
'/bookmarks/class/bookmark.class.php';
35 require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions.lib.php';
37 $langs->load(
"bookmarks");
41 if (!empty(
$_SERVER[
"QUERY_STRING"])) {
44 global $sortfield, $sortorder;
48 $tmpurl .= ($tmpurl ?
'&' :
'').
'sortfield='.$sortfield;
51 $tmpurl .= ($tmpurl ?
'&' :
'').
'sortorder='.$sortorder;
53 if (is_array($_POST)) {
54 foreach ($_POST as $key => $val) {
55 if (preg_match(
'/^search_/', $key) && $val !=
'') {
56 $tmpurl .= ($tmpurl ?
'&' :
'').$key.
'='.$val;
60 $url .= ($tmpurl ?
'?'.$tmpurl :
'');
63 $searchForm =
'<!-- form with POST method by default, will be replaced with GET for external link by js -->'.
"\n";
64 $searchForm .=
'<form id="top-menu-action-bookmark" name="actionbookmark" method="POST" action=""'.(empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) ?
' onsubmit="return false"' :
'').
'>';
65 $searchForm .=
'<input type="hidden" name="token" value="'.newToken().
'">';
69 $listbtn =
'<a class="top-menu-dropdown-link" title="'.$langs->trans(
'AddThisPageToBookmarks').
'" href="'.DOL_URL_ROOT.
'/bookmarks/list.php" >';
70 $listbtn .=
'<span class="fa fa-list paddingright"></span>'.$langs->trans(
'Bookmarks').
'</a>';
74 if (!empty($user->rights->bookmark->creer)) {
76 $urltoadd = DOL_URL_ROOT.
'/bookmarks/card.php?action=create&url='.urlencode($url);
77 $newbtn .=
'<a class="top-menu-dropdown-link" title="'.$langs->trans(
'AddThisPageToBookmarks').
'" href="'.
dol_escape_htmltag($urltoadd).
'" >';
78 $newbtn .=
img_picto(
'',
'bookmark',
'',
false, 0, 0,
'',
'paddingright').dol_escape_htmltag($langs->trans(
'AddThisPageToBookmarks')).
'</a>';
82 $sql =
"SELECT rowid, title, url, target FROM ".MAIN_DB_PREFIX.
"bookmark";
83 $sql .=
" WHERE (fk_user = ".$user->id.
" OR fk_user is NULL OR fk_user = 0)";
84 $sql .=
" AND entity IN (".getEntity(
'bookmarks').
")";
85 $sql .=
" ORDER BY position";
86 if (
$resql = $db->query($sql)) {
87 if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
88 $bookmarkList =
'<div id="dropdown-bookmarks-list" >';
90 while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object(
$resql)) {
91 $bookmarkList .=
'<a class="dropdown-item bookmark-item'.(strpos($obj->url,
'http') === 0 ?
' bookmark-item-external' :
'').
'" id="bookmark-item-'.$obj->rowid.
'" data-id="'.$obj->rowid.
'" '.($obj->target == 1 ?
' target="_blank"' :
'').
' href="'.
dol_escape_htmltag($obj->url).
'" >';
93 $bookmarkList .=
'</a>';
96 $bookmarkList .=
'</div>';
98 $searchForm .=
'<input name="bookmark" id="top-bookmark-search-input" class="dropdown-search-input" placeholder="'.$langs->trans(
'Bookmarks').
'" autocomplete="off" >';
100 $searchForm .=
'<select name"=bookmark" id="boxbookmark" class="topmenu-bookmark-dropdown .dropdown-toggle">';
102 $searchForm .=
'<option hidden value="listbookmarks" class="optiongrey" selected rel="'.DOL_URL_ROOT.
'/bookmarks/list.php">'.$langs->trans(
'Bookmarks').
'</option>';
103 $searchForm .=
'<option value="listbookmark" class="optionblue" rel="'.dol_escape_htmltag(DOL_URL_ROOT.
'/bookmarks/list.php').
'" ';
104 $searchForm .=
' data-html="'.dol_escape_htmltag(
img_picto(
'',
'bookmark').
' '.($user->rights->bookmark->creer ? $langs->trans(
'EditBookmarks') : $langs->trans(
'ListOfBookmarks')).
'...').
'">';
105 $searchForm .=
dol_escape_htmltag($user->rights->bookmark->creer ? $langs->trans(
'EditBookmarks') : $langs->trans(
'ListOfBookmarks')).
'...</option>';
107 if (!empty($user->rights->bookmark->creer)) {
108 $urltoadd = DOL_URL_ROOT.
'/bookmarks/card.php?action=create&url='.urlencode($url);
109 $searchForm .=
'<option value="newbookmark" class="optionblue" rel="'.dol_escape_htmltag($urltoadd).
'"';
110 $searchForm .=
' data-html="'.dol_escape_htmltag(
img_picto(
'',
'bookmark').
' '.$langs->trans(
'AddThisPageToBookmarks').
'...').
'">'.
dol_escape_htmltag($langs->trans(
'AddThisPageToBookmarks').
'...').
'</option>';
113 while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object(
$resql)) {
114 $searchForm .=
'<option name="bookmark'.$obj->rowid.
'" value="'.$obj->rowid.
'" '.($obj->target == 1 ?
' target="_blank"' :
'').
' rel="'.
dol_escape_htmltag($obj->url).
'" >';
116 $searchForm .=
'</option>';
119 $searchForm .=
'</select>';
125 $searchForm .=
'</form>';
128 if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
131 $html .=
'<!-- script to open selected choice -->
133 $(document).ready(function () {
134 jQuery("#boxbookmark").change(function() {
135 var urlselected = jQuery("#boxbookmark option:selected").attr("rel");
136 if (! urlselected) console.log("Error, failed to get the URL to jump to from the rel attribute");
137 var urltarget = jQuery("#boxbookmark option:selected").attr("target");
138 if (! urltarget) { urltarget=""; }
139 jQuery("form#top-menu-action-bookmark").attr("target",urltarget);
140 jQuery("form#top-menu-action-bookmark").attr("action",urlselected);
142 console.log("We change select bookmark. We choose urlselected="+urlselected+" with target="+urltarget);
144 // Method is POST for internal link, GET for external
145 if (urlselected.startsWith(\'http\'))
147 var newmethod=\'GET\';
148 jQuery("form#top-menu-action-bookmark").attr("method", newmethod);
149 console.log("We change method to newmethod="+newmethod);
150 jQuery("form#top-menu-action-bookmark").submit();
151 console.log("We restore method to POST");
152 jQuery("form#top-menu-action-bookmark").attr("method", \'POST\');
156 jQuery("form#top-menu-action-bookmark").submit();
163 <!-- search input -->
164 <div class="dropdown-header bookmark-header">
171 <div class="bookmark-body dropdown-body">
178 <div class="bookmark-footer">
180 <div style="clear:both;"></div>
184 $html .=
'<!-- script to open/close the popup -->
186 $( document ).on("keyup", "#top-bookmark-search-input", function () {
188 var filter = $(this).val(), count = 0;
189 $("#dropdown-bookmarks-list .bookmark-item").each(function () {
191 if ($(this).text().search(new RegExp(filter, "i")) < 0) {
192 $(this).addClass("hidden-search-result");
194 $(this).removeClass("hidden-search-result");
198 $("#top-bookmark-search-filter-count").text(count);
img_picto($titlealt, $picto, $moreatt= '', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt= '', $morecss= '', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
print $_SERVER["PHP_SELF"]
Edit parameters.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
printDropdownBookmarksList()
Add area with bookmarks in top menu.
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $keepmoretags= '', $escapeonlyhtmltags=0)
Returns text escaped for inclusion in HTML alt or title tags, or into values of HTML input fields...