* @version $Id$ * @access public * @license http://opensource.org/licenses/gpl-3.0.html */ include_once('../user/'.SQL.'.inc.php'); require_once ('../news/mysql.inc.php'); // import the Intervention Image Manager Class use Intervention\Image\ImageManagerStatic as Image; if (! function_exists ( 'getLatestContrib' )) { function getLatestContrib($nb, $module_id, $chars = 100) { global $sql_object; $loop = ''; $options = array('module' => 'contribute', 'module_id' => $module_id, 'order_by' => 'DESC', 'limit' => $nb); $data = $sql_object->DBSelect(SQL_getComments($options)); if(is_array($data)) { foreach ($data as $c) { // get fullname if($c['comment_user_id'] != 0) { $fullname = $c['user_login']; if(!empty($c['profile_firstname']) || !empty($c['profile_lastname'])) $fullname .= ' ('.$c['profile_firstname']. ' '.$c['profile_lastname'].')'; } else { $fullname = $c['comment_name']; } $link = HrefMaker(array('rub' => $GLOBALS['links'][U_L]['contribute']['linkvalue'], '#' => 'com-' . $c['comment_id']));; $loop .= '
'; if(!empty($c['comment_title'])) $loop .= '
'.formatText(cutText(strip_tags($c['comment_title']), 100, 1), '2HTML').'
'; $loop .= '
'.formatText(cutText(strip_tags($c['comment_body']), $chars), '2HTML').'
'; $loop .= '
'.mb_ucfirst(_t('published', 'on')).' '. substr($c['comment_date_crea_display'], 0, 10). ' '._t('published', 'by').' ' .$fullname.'
'; $loop .= ''; $loop .= '
'; } } else { $loop .= '

'._t('divers', 'nodata').'

'; } return sprintf('

'._t('public', 'latest_contribs').'

%s
', $loop); } } if(!function_exists('prepareAjaxLogin')) { function prepareAjaxLogin() { global $l21auth; $str = ''; if(!$l21auth->isAuthenticated()) { if(empty($_SERVER['QUERY_STRING'])) $link = $_SERVER['SCRIPT_NAME']; else $link = $_SERVER['SCRIPT_NAME'] . '?'. htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES, CHARSET); $str .= ''.PHP_EOL; $js = "$('.login-link').attr('href', '#loginmodal'); // on remplace le lien par défaut $('.login-link').leanModal({ top : 200, overlay : 0.4, closeButton: '.modal_close' });"; footerAddInlineJS($js); } echo $str; } } if(!function_exists('getPastEvents')) { function getPastEvents($nb) { global $sql_object; $data= $sql_object->DBSelect(SQLget_pastEvents($nb)); if($data!=0) { $content= ''; } else { $content= '

'._t('divers', 'nodata').'

'; } return $content; } } if(!function_exists('getIncomingEvents')) { function getIncomingEvents($nb) { global $sql_object; $data= $sql_object->DBSelect(SQLget_incomingEvents($nb)); if($data!=0) { $content= ''; } else { $content= '

'._t('divers', 'nodata').'

'; } return $content; } } if(!function_exists('getEvents')) { function getEvents($nb) { global $sql_object; $data= $sql_object->DBSelect(SQLget_Events($nb)); if($data!=0) { $content= ''; } else { $content= '

'._t('divers', 'nodata').'

'; } return $content; } } if(!function_exists('getWorkgroupList')) { function getWorkgroupList($nb) { global $sql_object; $data= $sql_object->DBSelect(SQLget_WorkshopList($nb)); if($data!=0) { $content= ''; for($i=0; $i $GLOBALS['links'][U_L]['workgroup']['linkvalue'],'id'=>$data[$i]['workshop_id'],'name'=>$data[$i]['workshop_denomination']); $workshop_title=formatText($data[$i]['workshop_denomination'], '2HTML'); $workshop_resume=formatText($data[$i]['workshop_resume'], '2HTML'); $content.= '
'; $content.= '

'.$workshop_title.'

'.PHP_EOL; $content.= '
'.$workshop_resume.'
'; $content.= '

'._t('workshop', 'access_to').'

'; $content.= '
'; } } else { $content='

'._t('divers','nodata').'

'; } return $content; } } if (! function_exists ( 'DisplayLastNews' )) { function DisplayLastNews($nb) { $display_comments = true; $link = HrefMaker(array('rub'=> $GLOBALS['links'][U_L]['news']['linkvalue'])); $data = $GLOBALS ['sql_object']->DBSelect ( SQL_getNewsList ( 0, $nb, 'public' ) ); $content = ''; $content .= '

'._t('public','last_news_title').'

'; $content .= '
'; if ($data != 0) { for($i=0; $iload($data[$i]['news_header']. $data[$i]['news_body']); // we get the image with thumbnail class if provided if($html->find('img.thumbnail, img.miniature, img.vignette', 0)) $imgsrc = $html->find('img.thumbnail, img.miniature, img.vignette', 0)->src; else $imgsrc = false; // if img.thumbnail does not exist we get the first image if(!$imgsrc) { // we get the first image if provided if($html->find('img', 0)) $imgsrc = $html->find('img', 0)->src; // prevent embed chart to generate errors - see issue #852 // and try to find another image as thumbnail $path_parts = pathinfo ( $imgsrc ); if(empty($path_parts ['extension'])) { $imgsrc = '../library/userfiles/no-image.png'; if($html->find('img', 1)) $imgsrc = $html->find('img', 1)->src; $path_parts = pathinfo ( $imgsrc ); if(empty($path_parts ['extension'])) $imgsrc = '../library/userfiles/no-image.png'; } } // if there is still no image, we take default app image if(!$imgsrc) { $imgsrc = '../library/userfiles/no-image.png'; } $thumbpath = '../library/userfiles/_thumbs/'; $path_parts = pathinfo ( $imgsrc ); list($width, $height) = explode('x', THUMBNAIL_SIZE); $thumbname = $path_parts ['filename'] . '_' . $width . 'x' . $height . 'px.' . $path_parts ['extension']; $thumb_fullpath = $thumbpath . $thumbname; // if thumbnail does not exist if (!file_exists($thumb_fullpath)) { // replace SITE_ROOT_URL by '../' $imgsrc = str_replace(SITE_ROOT_URL, '../', $imgsrc); // open an image file, crop / resize and save ! // https://image.intervention.io/v2/api/fit $img = Image::make($imgsrc)->fit($width, $height); $img->save($thumb_fullpath); chmod($thumb_fullpath, 0755); $imgsrc = $thumb_fullpath; } else { $imgsrc = $thumb_fullpath; } $title=formatText($data[$i]['complete_news_title'],'2HTML'); // we remove all images contained in header $html->load($data[$i]['news_header']); foreach($html->find('img') as $element) { $images = $element->outertext = ''; } $link_table= array('rub'=> $GLOBALS['links'][U_L]['news']['linkvalue'],'id'=>$data[$i]['news_id'], 'name' => $data[$i]['news_title']); $link_user = array('rub' => $GLOBALS['links'][U_L]['user-profile']['linkvalue'], 'id' => $data[$i]['news_posted_by'], 'name' => $data[$i]['user_login']); $link_detail = array('rub' => $GLOBALS['links'][U_L]['news']['linkvalue'], 'id' => $data[$i]['news_id'], 'name' => $data[$i]['news_title']); $news_posted_on = formatText($data[$i]['news_published_date_display'], '2HTML'); $news_posted_on_long = formatText($data[$i]['news_published_date_display_long'], '2ATT'); $news_posted_by = formatText($data[$i]['user_login'], '2HTML'); $content .= '
'.PHP_EOL; $content .= '' . $imgsrc . ''; $content .= '
'; $content .= '

'.$title.'

'; $content .= '
'.formatText($html, '2HTML').'
'.PHP_EOL; $content .= '

' . PHP_EOL; if(commentEnabled('news') && $display_comments == true) { $content .= getCommentsNumbers(array('module'=> 'news', 'module_id'=> $data[$i]['news_id'], 'link_to_comments'=> $link_detail + array('#' => 'comments'))); } $content .= ''._t('statut','published_on') . ' ' . $news_posted_on . ' '; $content .= _t('divers','by').' ' . $news_posted_by . ''; $content .= '

' . PHP_EOL; $content .= ''._t('btn', 'read_more').''; $content .= '
'; $content .= '
'.PHP_EOL; // we clear SimpleHTMLDom to prevent memory leaks $html->clear(); unset($html); } } else { $content .= '

' . _t('divers','nodata') . '

'; } $content .= '
'; $content .= '
'._t('common', 'see-news').'
'; echo $content; } } if(!function_exists('DisplayLastPublications')) { function DisplayLastPublications($nb, $plaintext = false) { $data=$GLOBALS['sql_object']->DBSelect(SQL_Get_LastPublications($nb)); if(!isset($data[0]['publi_id'])) return false; $content ='
'.PHP_EOL; $content.='

'._t('public','last_publications_title').'

'.PHP_EOL; $content .= '
'; $link_publi= array('rub'=> $GLOBALS['links'][U_L]['publication']['linkvalue']); for($i=0; $i $GLOBALS['links'][U_L]['publication']['linkvalue'], 'id'=>$publi_id, 'name'=> $data[$i]['publi_title']); $content.= '
'; $content.= '

' . $publi_title .'

'; $content.= '
' . $publi_resume . '
'; $content.= ''._t('btn', 'read_more').''; $content.= '
'; } $content.= '
'.PHP_EOL; $content.= '
'.PHP_EOL; echo $content; } } if(!function_exists('DisplayEdito')) { function DisplayEdito() { $content ='
'.PHP_EOL; $content.='

'._t('header', 'welcome').'

'.PHP_EOL; $content.='

'; $content.=_t('public','edito'); $content.='

'.PHP_EOL; $content.='
'; echo $content; } } if(!function_exists('DisplayGDT')) { function DisplayGDT() { $link_gdt= array('rub'=> $GLOBALS['links'][U_L]['workgroup']['linkvalue']); $content ='
'.PHP_EOL; $content.='

'._t('public','workgroup_h1').'

'.PHP_EOL; $content.='

'; $content.=''; //$content.=_t('public','workgroup_edito'); $content .= ''; $content.=''; $content.='

'.PHP_EOL; $content.='
'; echo $content; } } if(!function_exists('DisplayIDD')) { function DisplayIDD() { $link_idd= array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue']); $content ='
'.PHP_EOL; $content.='

'._t('public','dashboard_h1').'

'.PHP_EOL; $content.='

'; $content.=''; // $content.=_t('public','dashboard_edito'); $content.= ''; $content.=''; $content.='

'.PHP_EOL; $content.='
'; echo $content; } } /** * DisplayMenu() * Affichage du menu * * @return void ( echo string ) */ if(!function_exists('DisplayMenu')) { function DisplayMenu() { //$content .= ''._t('header','goto_contents').''.PHP_EOL; $content = '"; echo $content; } } /** * MyAccountLink() * Renvoie les liens de creation de compte ou de déconnexion * suivant le statut de l'utilisateur * * @return string content */ if(!function_exists('MyAccountLink')) { function MyAccountLink() { global $l21auth; $link_account = array('rub' => $GLOBALS['links'][U_L]['user-prefs']['linkvalue']); $link_contribs = array('rub' => $GLOBALS['links'][U_L]['user-prefs']['linkvalue'], '#' => 'my-contribs'); $link_create = array('rub' => $GLOBALS['links'][U_L]['user-registration']['linkvalue']); if($l21auth->isAuthenticated()) $link_logout = array('rub' => $GLOBALS['links'][U_L]['logout']['linkvalue'], 'token' => $l21auth->GetSessionElement('logout_token'), 'no_url_rewriting' => 1); if($l21auth->isAuthenticated()) $c = ' logged-in'; else $c = ''; $content = '
'; if ($l21auth->isAuthenticated()) { if(isset($_SESSION['userfirstname'])) $title= ucfirst($_SESSION['userfirstname']); else $title= $_SESSION['userlogin']; $str = ucfirst(_t('divers','myprofile')); $class = "profile-link"; $content .= '
'; $content .= '
'; $content .= _t('header','welcome'). ' '.$title; $content .= '
'; $content .= '
'; $content .= '
'; $groups = MyGroups(); if($groups !== false) { $content .= '
'; $content .= $groups; $content .= '
'; } $content .= '
'; $content .= '

'._t('header', 'preferences').'

'; $content .= '
'; $content .= '
'; $content .= '
'; $content .= '
'; } else { $str = ucfirst(_t('divers','auth')); $class = "login-link"; $content .= ''; } // if ($l21auth->isAuthenticated()) { // if($l21auth->isSuperAdmin()) { // $content .= '
  • ' . mb_ucfirst(_t('admin','console')) . '
  • '; // } // $content .= '
  • ' . mb_ucfirst(_t('header','deconnexion')) . '
  • '; // } $content .= '
    ' . PHP_EOL; echo $content; } } /** * MyAccount() * Renvoie les liens de creation de compte ou de déconnexion * suivant le statut de l'utilisateur * * @return string content */ if(!function_exists('MyAccount')) { function MyAccount() { global $l21auth; $link_account = array('rub' => $GLOBALS['links'][U_L]['user-prefs']['linkvalue']); $link_create = array('rub' => $GLOBALS['links'][U_L]['user-registration']['linkvalue']); $link_logout = array('rub' => $GLOBALS['links'][U_L]['logout']['linkvalue']); $content = '
    '; if ($l21auth->isAuthenticated()) { if(isset($_SESSION['userfirstname'])) $title= ucfirst($_SESSION['userfirstname']); else $title= $_SESSION['userlogin']; $content .= '

    '._t('header','welcome'). ' '.$title.',

    '; $str = ucfirst(_t('divers','myprofile')); $class = "profile-link"; } else { $content .= '

    '._t('header','myaccount').'

    '; $str = ucfirst(_t('divers','auth')); $class = "login-link"; } $content .= '
    ' . PHP_EOL; echo $content; } } /** * forgotPass() * Formulaire envoi d'un mot de passe * * @param string $todo * @return void (echo string) */ if(!function_exists('forgotPass')) { function forgotPass($back = 1 ) { if(isset($_POST['user-input'])) $_POST['user-input'] = htmlspecialchars(strip_tags($_POST['user-input']), ENT_QUOTES, CHARSET); include_once(override('../mail/mail_actions.php')); include_once(override('../mail/send.php')); $a = array(); if($back=== 1) $back=get_referer(true); $input_hidden = $GLOBALS['links'][U_L]['forgot-password']['linkvalue']; if(isset($_POST['valid'])) { // if email is provided we handle it, else with login only if(strpos($_POST['user-input'], '@') === false) $r = $GLOBALS['l21auth']->identifyWithLogin($_POST['user-input']); else $r = $GLOBALS['l21auth']->identifyWithEmail($_POST['user-input']); if(!($r)) { $msg = '
    '.sprintf(_t('auth', 'no_user'), $_POST['user-input']).'
    '; } else { if($r['user_password'] == '@ldap_forward') { $msg = '
    '.sprintf(_t('auth', 'ldap_user')).'
    '; } else { include_once('../class/class.user.php'); $user = new user; $key = $user->generateNewPasskey($r['user_id'], $GLOBALS['sql_object']); if($key != false) { $a['action'] = 'forgot_pass'; $a['recipient'] = $r['profile_email']; $a['linkpassword'] = array('rub' => $GLOBALS['links'][U_L]['forgot-password']['linkvalue'], 'token' => $key); $emailContainer = prepare_email($a); $r = send_email($emailContainer); $msg = '
    '.sprintf(_t('auth', 'sending_mail'), $a['recipient']).'
    '; } } } } $form = '

    '. _t('auth','note') . '

    ' . PHP_EOL; if(isset($msg)) $form .= $msg . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '
    '.PHP_EOL; $form .= '
    '.PHP_EOL; $form .= '' . PHP_EOL; $form .= '' . PHP_EOL; $form .= ''.PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; return $form; } } /** * AuthForm() * Formulaire d'authentification pour login ou inscription * * @param string $todo * @return void (echo string) */ if(!function_exists('AuthForm')) { function AuthForm($todo = 'LOGON', $back = 1 , $usero = null) { // if back == 1 but there is no redirect page we get it if($back === 1) $back = get_referer(true); else { // handle redirect when user is not authenticated if(isset($_GET['refer'])) { $back = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://".$_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']; if(!empty($_SERVER['QUERY_STRING'])) $back .= '?' . htmlspecialchars($_SERVER['QUERY_STRING'], ENT_QUOTES, CHARSET); } // if redirect page is set we go to it elseif(is_string($back)) $back = $back; // else only, we go to public page else $back = CURRENT_APP_URL; } isset($_POST['login']) ? $form_login = formatText($_POST['login'], '2FIELD') : $form_login = ''; isset($_POST['email']) ? $form_email = formatText($_POST['email'], '2FIELD') : $form_email = ''; isset($_POST['firstname']) ? $form_firstname = formatText(trim($_POST['firstname']), '2FIELD') : $form_firstname = ''; isset($_POST['lastname']) ? $form_lastname = formatText(trim($_POST['lastname']), '2FIELD') : $form_lastname = ''; $form_password = ''; if ($todo == 'LOGON') { $input_hidden = $GLOBALS['links'][U_L]['user-prefs']['linkvalue']; $div_id = 'logon'; } else { $input_hidden = $GLOBALS['links'][U_L]['user-registration']['linkvalue']; $div_id = 'subscribe'; $pwdsec = []; if (defined('PASSWD_STRENGTH')) { if (strpos(PASSWD_STRENGTH, 'a') !== false) array_push($pwdsec, _t('user', 'lowercase_char') ); if (strpos(PASSWD_STRENGTH, 'A') !== false) array_push($pwdsec, _t('user', 'uppercase_char') ) . '
    '; if (strpos(PASSWD_STRENGTH, '0') !== false) array_push($pwdsec, _t('user', 'digit_char') ) . '
    '; if (strpos(PASSWD_STRENGTH, '/') !== false) array_push($pwdsec, sprintf(_t('user', 'symbol_char'), $usero->SYMBOL_LIST) ) . '
    '; $security_msg = '

    ' . _t('user', 'security_policy') . ''. sprintf(_t('user', 'security_policy_msg'), join(', ', $pwdsec)) .'

    '; } } $link_pass = array('rub' => $GLOBALS['links'][U_L]['forgot-password']['linkvalue']); $form = '

    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '' . PHP_EOL; $form .= '

    '.PHP_EOL; if ($todo == 'LOGON') { $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; if(defined('REMEMBER_ME') && REMEMBER_ME != 0) { $form .= '

    '._t('auth', 'forgot_password').'

    ' . PHP_EOL; } else { $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; if(defined('PASSWD_CONFIRM') && PASSWD_CONFIRM != 0) { $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; } if(isset($security_msg)) $form .= $security_msg; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; $form .= '

    ' . PHP_EOL; if(defined('REGISTRATION_ANTISPAM') && REGISTRATION_ANTISPAM ==1) { $form.='

    '.PHP_EOL; $form.=' '; $form.='' .mb_ucfirst( _t('security','info2')) .''. mb_ucfirst(_t('security','info2')).''; $form.='

    '.PHP_EOL; $form.='

    '; $form.='

    '; } $form .= '
    '; $form .= '

    ' . sprintf(_t('user', 'gdpr_notice'), 'index.php?rub=page&id=1') . '

    '; if(NEWSLETTER_AUTO_SUB == 1 && MOD_NEWSLETTER == 1) $form .= '

    ' . _t('user', 'newsletter_subscription_info') . '

    '; $form .= '

    '; $form .= '
    ' . PHP_EOL; } $form .= '
    '.PHP_EOL; $form .= '
    '; $form .= '' . PHP_EOL; $form .= '' . PHP_EOL; $form .= ''.PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; return $form; } } /** * MyGroups() * Return groups user has subscribed to * nothing if no groups * @return string */ if(!function_exists('MyGroups')) { function MyGroups() { if(!isset($_COOKIE['linea21']['workshop']) || !isset($_SESSION['authenticated'])) return false; global $sql_object; $link_account = array('rub' => $GLOBALS['links'][U_L]['user-prefs']['linkvalue']); // get and prepare user groups $groups = base64_decode($_COOKIE['linea21']['workshop']); if($groups[0]=='/') $groups = substr($groups, 1); // removing first separator if(!empty($groups)) { $groups = @explode('/',$groups); $data= $sql_object->DBSelect(SQL_Get_WorkshopsNames($groups)); } else { $data=0; } $content = '
    '.PHP_EOL; $content .= '

    '._t('groups', 'mine').'

    '.PHP_EOL; if($data!=0) { $content .= ''; } else { return false; } $content .= '
    '; return $content; } } if(!function_exists('DisplayProjectBoard')) { function DisplayProjectBoard() { $content =''; if(ActiveItemKey($GLOBALS['activeitem']) == 'home') { $content .= ''.$GLOBALS['links'][U_L]['project']['title'].''; $content .= '
    '; } echo $content; } } if(!function_exists('display_newsletter_form')) { function display_newsletter_form() { $action=$GLOBALS['links'][U_L]['subscribe-newsletter']['linkvalue']; $form = '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '

    '.mb_ucfirst(_t('menu_alt','newsletter')).'

    '; $form .= '
    ' . PHP_EOL; $form .='

    ' . mb_ucfirst(_t('divers','see-newsletters')) . '

    '; $form .= '' . PHP_EOL; $form .= '' . PHP_EOL; $form .= ''.PHP_EOL; $form .='
    '; $form .= '' . PHP_EOL; $form .='

    '; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; echo $form; } } if(!function_exists('DisplayNewsletterForm')) { function DisplayNewsletterForm() { $action=$GLOBALS['links'][U_L]['subscribe-newsletter']['linkvalue']; $form = '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '

    '.mb_ucfirst(_t('menu_alt','newsletter')).'

    '; $form .= '' . PHP_EOL; $form .= '
    ' . PHP_EOL; $form .= '
    ' . PHP_EOL; echo $form; } } if(!function_exists('DisplayBoardLastNews')) { function DisplayBoardLastNews($nb) { $data=$GLOBALS['sql_object'] -> DBSelect(SQL_Get_NewsBoard($nb)); $content = '
    '.PHP_EOL; //$content.= '

    '._t('divers','actu_left').'

    '; $content.= '

    '._t('divers','actu_left').'

    '; if($data!=0) { $content.= ''.PHP_EOL; } else { $content.='

    '._t('divers','nodata').'

    '; } $content.= '
    '.PHP_EOL; echo $content; } } if(!function_exists('DisplayBoardLastSdi')) { function DisplayBoardLastSdi($nb = 3) { $data=$GLOBALS['sql_object'] -> DBSelect(SQL_Get_SdiBoard($nb)); $content = '
    '.PHP_EOL; $content.= '

    '._t('divers','sdi_left').'

    '; if($data!=0) { $content.= ''.PHP_EOL; } else { $content.=_t('divers','nodata'); } $content.= '
    '.PHP_EOL; echo $content; } } if(!function_exists('get_search_form')) { function get_search_form() { $action=$GLOBALS['links'][U_L]['search-result']['linkvalue']; $form ='
    '.PHP_EOL; $form.='
    '.PHP_EOL; $form.=''.PHP_EOL; $form.=''.PHP_EOL; $form.=''.PHP_EOL; $form.='' . PHP_EOL; $form.=''.PHP_EOL; $form.=''; $form.='

    '; $form.=''; $form.=mb_ucfirst(_t('menu','advancedsearch')); $form.=''; $form.='

    '; $form.='
    '.PHP_EOL; $form.='
    '.PHP_EOL; return $form; } } if(!function_exists('DisplaySearchForm')) { function DisplaySearchForm() { $action=$GLOBALS['links'][U_L]['search-result']['linkvalue']; $form ='
    '.PHP_EOL; $form.='
    '.PHP_EOL; $form.= '

    '._t('menu','search').'

    '; $form.= ''.PHP_EOL; $form.='
    '.PHP_EOL; $form.='
    '.PHP_EOL; echo $form; } } if(!function_exists('displayDefaultFooter')) { function displayDefaultFooter($list = false) { $a = array(); $a[1] =''._t('divers','contact').' '; $a[2] =''._t('divers','accessibility').' '; $a[3] ='RSS'; if(isset($_SESSION['authenticated']) && !$GLOBALS['l21auth']->isSimpleUser()) { $a[4] =''. _t('admin','console').''; } if($list === false) $content = join(' | ', $a); else { $content = ""; } echo $content; } } ?>