$array = array(1 => 'Value 1', 2 => 'Value 2', 3 => 'Value 3 ith a very long text. aze eazeae e ae aeae a e a ea ea ea e a e aea e ae aeaeaeaze.'); $selected = 3; print $form->selectarray('testselecta', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1); print '<br><br>'; print "Test 4b: a select<br>\n"; $array = array(1 => 'Value 1', 2 => 'Value 2', 3 => 'Value 3'); $selected = 3; print $form->selectarray('testselectb', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1); print '<br><br>' . "\n"; print "Test 4c: Select array with no js forced<br>\n"; $array = array(1 => 'Value 1', 2 => 'Value 2', 3 => 'Value 3'); print $form->selectarray('selectarray', $array); print '<br><br>' . "\n"; print "Test 4d: a select with ajax refresh and with onchange call of url<br>\n"; $selected = -1; print $form->selectArrayAjax('testselectc', DOL_URL_ROOT . '/core/ajax/selectsearchbox.php', $selected, 'style="min-width: 250px;"', '', 0, 1, '', 1); print '<br><br>' . "\n"; // Test5a: form->select_thirdparty print "Test 5a: Select thirdparty<br>\n"; print $form->select_company(0, 'thirdpartytest'); print '<br><br>' . "\n"; // Test5b: form->select_product print "Test 5b: Select product (using ajax)<br>\n"; $form->select_produits(0, 'producttest'); print '<br><br>' . "\n"; // Test5c: a multiselect print "Test 5c: a multiselect<br>\n"; $array = array(1 => 'Value 1', 2 => 'Value 2', 3 => 'Value 3'); $arrayselected = array(1, 3); print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, '', 0, 250); llxFooter();
/** * Show left menu bar * * @param array $menu_array_before Table of menu entries to show before entries of menu handler. This param is deprectaed and must be provided to ''. * @param string $helppagename Name of wiki page for help ('' by default). * Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage * For other external page: http://server/url * @param string $notused Deprecated. Used in past to add content into left menu. Hooks can be used now. * @param array $menu_array_after Table of menu entries to show after entries of menu handler * @param int $leftmenuwithoutmainarea Must be set to 1. 0 by default for backward compatibility with old modules. * @param string $title Title of web page * @param string $acceptdelayedhtml 1 if caller request to have html delayed content not returned but saved into global $delayedhtmlcontent (so caller can show it at end of page to avoid flash FOUC effect) * @return void */ function left_menu($menu_array_before, $helppagename='', $notused='', $menu_array_after='', $leftmenuwithoutmainarea=0, $title='', $acceptdelayedhtml=0) { global $user, $conf, $langs, $db, $form; global $hookmanager, $menumanager; $searchform=''; $bookmarks=''; if (! empty($menu_array_before)) dol_syslog("Deprecated parameter menu_array_before was used when calling main::left_menu function. Menu entries of module should now be defined into module descriptor and not provided when calling left_menu.", LOG_WARNING); if (empty($conf->dol_hide_leftmenu)) { // Instantiate hooks of thirdparty module $hookmanager->initHooks(array('searchform','leftblock')); if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".'<!-- Begin left layout -->'."\n".'<div class="ui-layout-west">'."\n"; else print "\n".'<!-- Begin id-left -->'."\n".'<div class="side-nav"><div id="id-left">'."\n"; print "\n"; if ($conf->use_javascript_ajax && $conf->browser->layout != 'phone') { if (! is_object($form)) $form=new Form($db); $selected=-1; $searchform.=$form->selectArrayAjax('searchselectcombo', DOL_URL_ROOT.'/core/ajax/selectsearchbox.php', $selected, '', '', 0, 1, 'vmenusearchselectcombo', 1, $langs->trans("Search"), 1); } else { // Define $searchform if ((( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)) && $user->rights->societe->lire) { $langs->load("companies"); $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/list.php', DOL_URL_ROOT.'/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', img_object('','company')); } if (! empty($conf->societe->enabled) && $user->rights->societe->lire) { $langs->load("companies"); $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', img_object('','contact')); } if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) ) { $langs->load("products"); $searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', $langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_object('','product')); } if (! empty($conf->projet->enabled) && $user->rights->projet->lire) { $langs->load("projects"); $searchform.=printSearchForm(DOL_URL_ROOT.'/projet/list.php', DOL_URL_ROOT.'/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'Q', 'searchleftproj', img_object('','projectpub')); } if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire) { $langs->load("members"); $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', img_object('','user')); } if (! empty($conf->user->enabled) && $user->rights->user->user->lire) { $langs->load("users"); $searchform.=printSearchForm(DOL_URL_ROOT.'/user/list.php', DOL_URL_ROOT.'/user/list.php', $langs->trans("Users"), 'user', 'sall', 'M', 'searchleftuser', img_object('','user')); } } // Execute hook printSearchForm $parameters=array('searchform'=>$searchform); $reshook=$hookmanager->executeHooks('printSearchForm',$parameters); // Note that $action and $object may have been modified by some hooks if (empty($reshook)) { $searchform.=$hookmanager->resPrint; } else $searchform=$hookmanager->resPrint; if ($conf->use_javascript_ajax && $conf->browser->layout == 'phone') { $searchform='<div class="blockvmenuimpair blockvmenusearchphone"><div id="divsearchforms1"><a href="#" alt="'.dol_escape_htmltag($langs->trans("ShowSearchFields")).'">'.$langs->trans("Search").'...</a></div><div id="divsearchforms2" style="display: none">'.$searchform.'</div>'; $searchform.='<script type="text/javascript"> jQuery(document).ready(function () { jQuery("#divsearchforms1").click(function(){ jQuery("#divsearchforms2").toggle(); }); }); </script>' . "\n"; $searchform.='</div>'; } // Define $bookmarks if (! empty($conf->bookmark->enabled) && $user->rights->bookmark->lire) { include_once (DOL_DOCUMENT_ROOT.'/bookmarks/bookmarks.lib.php'); $langs->load("bookmarks"); $bookmarks=printBookmarksList($db, $langs); } // Left column print '<!-- Begin left menu -->'."\n"; print '<div class="vmenu">'."\n\n"; // Show left menu with other forms $menumanager->menu_array = $menu_array_before; $menumanager->menu_array_after = $menu_array_after; $menumanager->showmenu('left', array('searchform'=>$searchform, 'bookmarks'=>$bookmarks)); // output menu_array and menu found in database // Dolibarr version + help + bug report link print "\n"; print "<!-- Begin Help Block-->\n"; print '<div id="blockvmenuhelp" class="blockvmenuhelp">'."\n"; // Version $doliurl='http://www.dolibarr.org'; //local communities if (preg_match('/fr/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.fr'; if (preg_match('/es/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.es'; if (preg_match('/de/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.de'; if (preg_match('/it/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.it'; if (preg_match('/gr/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.gr'; $appli=constant('DOL_APPLICATION_TITLE'); if (! empty($conf->global->MAIN_APPLICATION_TITLE)) { $appli=$conf->global->MAIN_APPLICATION_TITLE; $doliurl=''; if (preg_match('/\d\.\d/', $appli)) { if (! preg_match('/'.preg_quote(DOL_VERSION).'/', $appli)) $appli.=" (".DOL_VERSION.")"; // If new title contains a version that is different than core } else $appli.=" ".DOL_VERSION; } else $appli.=" ".DOL_VERSION; print '<div id="blockvmenuhelpapp" class="blockvmenuhelp">'; if ($doliurl) print '<a class="help" target="_blank" href="'.$doliurl.'">'; print $appli; if ($doliurl) print '</a>'; print '</div>'."\n"; // Link to bugtrack if (! empty($conf->global->MAIN_BUGTRACK_ENABLELINK)) { require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; $bugbaseurl = 'https://github.com/Dolibarr/dolibarr/issues/new'; $bugbaseurl.= '?title='; $bugbaseurl.= urlencode("Bug: "); $bugbaseurl.= '&body='; $bugbaseurl.= urlencode("# Environment\n"); $bugbaseurl.= urlencode("- **Version**: " . DOL_VERSION . "\n"); $bugbaseurl.= urlencode("- **OS**: " . php_uname('s') . "\n"); $bugbaseurl.= urlencode("- **Web server**: " . $_SERVER["SERVER_SOFTWARE"] . "\n"); $bugbaseurl.= urlencode("- **PHP**: " . php_sapi_name() . ' ' . phpversion() . "\n"); $bugbaseurl.= urlencode("- **Database**: " . $db::LABEL . ' ' . $db->getVersion() . "\n"); $bugbaseurl.= urlencode("- **URL**: " . $_SERVER["REQUEST_URI"] . "\n"); $bugbaseurl.= urlencode("\n"); $bugbaseurl.= urlencode("# Report\n"); print '<div id="blockvmenuhelpbugreport" class="blockvmenuhelp">'; print '<a class="help" target="_blank" href="'.$bugbaseurl.'">'.$langs->trans("FindBug").'</a>'; print '</div>'; } print "</div>\n"; print "<!-- End Help Block-->\n"; print "\n"; print "</div>\n"; print "<!-- End left menu -->\n"; print "\n"; // Execute hook printLeftBlock $parameters=array(); $reshook=$hookmanager->executeHooks('printLeftBlock',$parameters); // Note that $action and $object may have been modified by some hooks print $hookmanager->resPrint; if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '</div> <!-- End left layout -->'."\n"; else print '</div></div> <!-- end id-left -->'; // End div id="id-left" } print "\n"; print '<!-- Begin right area -->'."\n"; if (empty($leftmenuwithoutmainarea)) main_area($title); }
/** * Show left menu bar * * @param array $menu_array_before Table of menu entries to show before entries of menu handler * @param string $helppagename Name of wiki page for help ('' by default). * Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage * For other external page: http://server/url * @param string $notused Deprecated. Used in past to add content into left menu. Hooks can be used now. * @param array $menu_array_after Table of menu entries to show after entries of menu handler * @param int $leftmenuwithoutmainarea Must be set to 1. 0 by default for backward compatibility with old modules. * @param string $title Title of web page * @param string $acceptdelayedhtml 1 if caller request to have html delayed content not returned but saved into global $delayedhtmlcontent (so caller can show it at end of page to avoid flash FOUC effect) * @return void */ function left_menu($menu_array_before, $helppagename = '', $notused = '', $menu_array_after = '', $leftmenuwithoutmainarea = 0, $title = '', $acceptdelayedhtml = 0) { global $user, $conf, $langs, $db, $form; global $hookmanager, $menumanager; $searchform = ''; $bookmarks = ''; if (empty($conf->dol_hide_leftmenu)) { // Instantiate hooks of thirdparty module $hookmanager->initHooks(array('searchform', 'leftblock')); if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) { print "\n" . '<!-- Begin left layout -->' . "\n" . '<div class="ui-layout-west">' . "\n"; } else { print "\n" . '<!-- Begin id-left -->' . "\n" . '<div class="side-nav"><div id="id-left">' . "\n"; } print "\n"; if ($conf->use_javascript_ajax) { if (!is_object($form)) { $form = new Form($db); } $selected = -1; $searchform .= $form->selectArrayAjax('searchselectcombo', DOL_URL_ROOT . '/core/ajax/selectsearchbox.php', $selected, '', '', 0, 1, 'vmenusearchselectcombo', 1, $langs->trans("Search"), 1); } else { // Define $searchform if ((!empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) || !empty($conf->fournisseur->enabled)) && !empty($conf->global->MAIN_SEARCHFORM_SOCIETE) && $user->rights->societe->lire) { $langs->load("companies"); $searchform .= printSearchForm(DOL_URL_ROOT . '/societe/list.php', DOL_URL_ROOT . '/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', img_object('', 'company')); } if (!empty($conf->societe->enabled) && !empty($conf->global->MAIN_SEARCHFORM_CONTACT) && $user->rights->societe->lire) { $langs->load("companies"); $searchform .= printSearchForm(DOL_URL_ROOT . '/contact/list.php', DOL_URL_ROOT . '/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', img_object('', 'contact')); } if ((!empty($conf->product->enabled) && $user->rights->produit->lire || !empty($conf->service->enabled) && $user->rights->service->lire) && !empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE)) { $langs->load("products"); $searchform .= printSearchForm(DOL_URL_ROOT . '/product/list.php', DOL_URL_ROOT . '/product/list.php', $langs->trans("Products") . "/" . $langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_object('', 'product')); } if ((!empty($conf->product->enabled) && $user->rights->produit->lire || !empty($conf->service->enabled) && $user->rights->service->lire) && !empty($conf->fournisseur->enabled) && !empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER)) { $langs->load("products"); $searchform .= printSearchForm(DOL_URL_ROOT . '/fourn/product/list.php', DOL_URL_ROOT . '/fourn/product/list.php', $langs->trans("SupplierRef"), 'products', 'srefsupplier', '', 'searchlefts', img_object('', 'product')); } if (!empty($conf->projet->enabled) && !empty($conf->global->MAIN_SEARCHFORM_PROJECT) && $user->rights->projet->lire) { $langs->load("projects"); $searchform .= printSearchForm(DOL_URL_ROOT . '/projet/list.php', DOL_URL_ROOT . '/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'Q', 'searchleftproj', img_object('', 'projectpub')); } if (!empty($conf->adherent->enabled) && !empty($conf->global->MAIN_SEARCHFORM_ADHERENT) && $user->rights->adherent->lire) { $langs->load("members"); $searchform .= printSearchForm(DOL_URL_ROOT . '/adherents/list.php', DOL_URL_ROOT . '/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', img_object('', 'user')); } if (!empty($conf->user->enabled) && !empty($conf->global->MAIN_SEARCHFORM_USER) && $user->rights->user->user->lire) { $langs->load("users"); $searchform .= printSearchForm(DOL_URL_ROOT . '/user/list.php', DOL_URL_ROOT . '/user/list.php', $langs->trans("Users"), 'user', 'sall', 'M', 'searchleftuser', img_object('', 'user')); } } // Execute hook printSearchForm $parameters = array('searchform' => $searchform); $reshook = $hookmanager->executeHooks('printSearchForm', $parameters); // Note that $action and $object may have been modified by some hooks if (empty($reshook)) { $searchform .= $hookmanager->resPrint; } else { $searchform = $hookmanager->resPrint; } // Define $bookmarks if (!empty($conf->bookmark->enabled) && $user->rights->bookmark->lire) { include_once DOL_DOCUMENT_ROOT . '/bookmarks/bookmarks.lib.php'; $langs->load("bookmarks"); $bookmarks = printBookmarksList($db, $langs); } // Left column print '<!-- Begin left menu -->' . "\n"; print '<div class="vmenu">' . "\n\n"; // Show other forms /*if ($searchform) { print "\n"; print "<!-- Begin SearchForm -->\n"; print '<div id="blockvmenusearch" class="blockvmenusearch">'."\n"; print $searchform; print '</div>'."\n"; print "<!-- End SearchForm -->\n"; }*/ $menumanager->menu_array = $menu_array_before; $menumanager->menu_array_after = $menu_array_after; $menumanager->showmenu('left', array('searchform' => $searchform, 'bookmarks' => $bookmarks)); // output menu_array and menu found in database // Bookmarks /* if ($bookmarks) { print "\n"; print "<!-- Begin Bookmarks -->\n"; print '<div id="blockvmenubookmarks" class="blockvmenubookmarks">'."\n"; print $bookmarks; print '</div>'."\n"; print "<!-- End Bookmarks -->\n"; }*/ // Dolibarr version + help + bug report link print "\n"; print "<!-- Begin Help Block-->\n"; print '<div id="blockvmenuhelp" class="blockvmenuhelp">' . "\n"; // Version $doliurl = 'http://www.dolibarr.org'; //local communities if (preg_match('/fr/i', $langs->defaultlang)) { $doliurl = 'http://www.dolibarr.fr'; } if (preg_match('/es/i', $langs->defaultlang)) { $doliurl = 'http://www.dolibarr.es'; } if (preg_match('/de/i', $langs->defaultlang)) { $doliurl = 'http://www.dolibarr.de'; } if (preg_match('/it/i', $langs->defaultlang)) { $doliurl = 'http://www.dolibarr.it'; } if (preg_match('/gr/i', $langs->defaultlang)) { $doliurl = 'http://www.dolibarr.gr'; } $appli = constant('DOL_APPLICATION_TITLE'); if (!empty($conf->global->MAIN_APPLICATION_TITLE)) { $appli = $conf->global->MAIN_APPLICATION_TITLE; $doliurl = ''; if (preg_match('/\\d\\.\\d/', $appli)) { if (!preg_match('/' . preg_quote(DOL_VERSION) . '/', $appli)) { $appli .= " (" . DOL_VERSION . ")"; } // If new title contains a version that is different than core } else { $appli .= " " . DOL_VERSION; } } else { $appli .= " " . DOL_VERSION; } print '<div id="blockvmenuhelpapp" class="blockvmenuhelp">'; if ($doliurl) { print '<a class="help" target="_blank" href="' . $doliurl . '">'; } print $appli; if ($doliurl) { print '</a>'; } print '</div>' . "\n"; // Link to bugtrack if (!empty($conf->global->MAIN_BUGTRACK_ENABLELINK)) { require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; $bugbaseurl = 'https://github.com/Dolibarr/dolibarr/issues/new'; $bugbaseurl .= '?title='; $bugbaseurl .= urlencode("Bug: "); $bugbaseurl .= '&body='; $bugbaseurl .= urlencode("# Environment\n"); $bugbaseurl .= urlencode("- **Version**: " . DOL_VERSION . "\n"); $bugbaseurl .= urlencode("- **OS**: " . php_uname('s') . "\n"); $bugbaseurl .= urlencode("- **Web server**: " . $_SERVER["SERVER_SOFTWARE"] . "\n"); $bugbaseurl .= urlencode("- **PHP**: " . php_sapi_name() . ' ' . phpversion() . "\n"); $bugbaseurl .= urlencode("- **Database**: " . $db::LABEL . ' ' . $db->getVersion() . "\n"); $bugbaseurl .= urlencode("- **URL**: " . $_SERVER["REQUEST_URI"] . "\n"); $bugbaseurl .= urlencode("\n"); $bugbaseurl .= urlencode("# Report\n"); print '<div id="blockvmenuhelpbugreport" class="blockvmenuhelp">'; print '<a class="help" target="_blank" href="' . $bugbaseurl . '">' . $langs->trans("FindBug") . '</a>'; print '</div>'; } print "</div>\n"; print "<!-- End Help Block-->\n"; print "\n"; print "</div>\n"; print "<!-- End left menu -->\n"; print "\n"; // Execute hook printLeftBlock $parameters = array(); $reshook = $hookmanager->executeHooks('printLeftBlock', $parameters); // Note that $action and $object may have been modified by some hooks print $hookmanager->resPrint; if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) { print '</div> <!-- End left layout -->' . "\n"; } else { print '</div></div> <!-- end id-left -->'; } // End div id="id-left" } print "\n"; print '<!-- Begin right area -->' . "\n"; if (empty($leftmenuwithoutmainarea)) { main_area($title); } }
top_htmlhead($head, $title, 0, 0, $arrayofjs, $arrayofcss); print '<body>' . "\n"; print '<div>'; //print '<br>'; $nbofsearch = 0; // Instantiate hooks of thirdparty module $hookmanager->initHooks(array('searchform')); // Define $searchform $searchform = ''; // TODO Mutualize code here with function left_menu into main.inc.php page if ($conf->use_javascript_ajax && 1 == 2) { if (!is_object($form)) { $form = new Form($db); } $selected = -1; $searchform .= $form->selectArrayAjax('searchselectcombo', DOL_URL_ROOT . '/core/ajax/selectsearchbox.php', $selected, 'data-role="none"', '', 0, 1, 'vmenusearchselectcombo', 1, $langs->trans("Search"), 0); } else { // Define $searchform if ((!empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) || !empty($conf->fournisseur->enabled)) && $user->rights->societe->lire) { $langs->load("companies"); $searchform .= printSearchForm(DOL_URL_ROOT . '/societe/list.php', DOL_URL_ROOT . '/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', img_object('', 'company')); } if (!empty($conf->societe->enabled) && $user->rights->societe->lire) { $langs->load("companies"); $searchform .= printSearchForm(DOL_URL_ROOT . '/contact/list.php', DOL_URL_ROOT . '/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', img_object('', 'contact')); } if (!empty($conf->product->enabled) && $user->rights->produit->lire || !empty($conf->service->enabled) && $user->rights->service->lire) { $langs->load("products"); $searchform .= printSearchForm(DOL_URL_ROOT . '/product/list.php', DOL_URL_ROOT . '/product/list.php', $langs->trans("Products") . "/" . $langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_object('', 'product')); } if (!empty($conf->projet->enabled) && $user->rights->projet->lire) {