New shortcut in quick search to open user profile:
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Mon, 14 May 2007 16:11:37 +0000 (16:11 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Mon, 14 May 2007 16:11:37 +0000 (16:11 +0000)
  admin:login    -> open admin page
  ax:login       -> open ax profile
  profile:login  -> open user profile
  mentor:login   -> open mentoring profile
With some aliases:
  adm = admin, fiche = profile = fch = prf,
  ref = referent = mentor

 ChangeLog                  |    5 +++++
 modules/search.php         |   25 +++++++++++++++++++++++++
 templates/search/quick.tpl |   20 ++++++++++++++++----
 3 files changed, 46 insertions(+), 4 deletions(-)

git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1822 839d8a87-29fc-0310-9880-83ba4fa771e5

ChangeLog
modules/search.php
templates/search/quick.tpl

index 68a2bb7..1cc5b83 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 ================================================================================
 VERSION 0.9.15                                                        XX XX 2007
 
+New:
+
+    * Search:
+        - Shortcuts to open user profile directly from search              -FRU
+
 Bug/Wish:
 
     * Profile:
index e7a2a9d..850c446 100644 (file)
@@ -88,6 +88,31 @@ class SearchModule extends PLModule
         $page->assign('promo_max', $max);
 
         if (Env::has('quick') || $action == 'geoloc') {
+            $quick = trim(Env::v('quick'));
+            $list = 'profile|prf|fiche|fic|referent|ref|mentor';
+            if (S::has_perms()) {
+                $list .= '|admin|adm|ax';
+            }
+            if (preg_match('/^(' . $list . '):([-a-z]+(\.[-a-z]+(\.\d{2,4})?)?)$/',
+                            $quick, $matches)) {
+                $forlife = $matches[2];
+                switch($matches[1]) {
+                  case 'admin': case 'adm':
+                    $base = 'admin/user/';
+                    break;
+                  case 'ax':
+                    $base = 'profile/ax/';
+                    break;
+                  case 'profile': case 'prf': case 'fiche': case 'fic':
+                    $base = 'profile/';
+                    break;
+                  case 'referent': case 'ref': case 'mentor':
+                    $base = 'referent/';
+                    break;
+                }
+                pl_redirect($base . $forlife);
+            }
+            
             $page->assign('formulaire', 0);
 
             require_once 'userset.inc.php';
index 019dbd4..b4ade8a 100644 (file)
@@ -77,7 +77,7 @@ Ainsi, rechercher tous les "Dupont" sur les promotions 1980 à 1990 et sur la pr
 <code>Dupont 1980-1990 2000</code>
 </p>
 
-<h2>Astuce pour les noms ...</h2>
+<h2>Astuce pour les noms...</h2>
 <p>
 Parfois on ne sait plus si le nom qu'on recherche s'écrit « Lenormand », « Le Normand » ou « Le-Normand » ...
 </p>
@@ -91,8 +91,19 @@ Il est conseillé d'omettre les particules car il est possible que celles-ci ne
 notre base de données.
 </p>
 
+<h2>Raccourcis...</h2>
+<p>
+  En tapant <code>fiche:prenom.nom.promo</code> tu accèdes directement à la fiche du camarade correspondant.
+  De même <code>ref:prenom.nom.promo</code> t'emmène sur la fiche référent du camarade.
+</p>
+<p>
+  Ces raccourcis fonctionnement également depuis le lien de recherche rapide disponible sur toutes les pages
+  du site<span class="searchbar"> et depuis la barre de recherche de ton navigateur si tu installes le module
+  ci-dessous</span>.
+</p>
+
 {if $smarty.session.perms->hasFlag('user')}
-<div id="searchbar" style="display: none">
+<div class="searchbar">
 <h2>Barre de recherche pour ton navigateur</h2>
 <p>
   Si tu utilises un navigateur moderne tel que Firefox ou Internet Explorer 7, tu peux ajouter un module de recherche
@@ -101,10 +112,11 @@ notre base de données.
 </p>
 </div>
 
+{javascript name=jquery}
 <script type="text/javascript">//<![CDATA[
   {literal}
-  if (canAddSearchEngine()) {
-    document.getElementById('searchbar').style.display = '';
+  if (!canAddSearchEngine()) {
+    $(".searchbar").hide();
   }
   {/literal}
 //]]></script>