]> gitweb.pimeys.fr Git - scripts-20-100.git/blobdiff - bde/trouver.sh
trouver --all pour chercher aussi dans les alias et anciens pseudos
[scripts-20-100.git] / bde / trouver.sh
index d25f29ac6e8ae3a5226302346919309a8e5124f0..8f5031200ea7e3568d428b62217bd2e30dc3b1ed 100755 (executable)
@@ -6,14 +6,33 @@ for i in $@
 do
   if [ $i = "--no-mail" ]
     then nomail=1;
+    shift;
+  fi;
+  if [ $i = "--idbde" ]
+    then searchidcbde=1;
+    shift;
+  fi
+  if [ $i = "--all" ] || [ $i = "-a" ]
+    then searchall=1;
+    shift;
   fi
 done
 
-# Si on n'a *pas* mis no-mail (too many negations, I know)
-if [ -z "$nomail" ]
+# Si on n'a *pas* mis --no-mail (too many negations, I know)
+if [ -z "${nomail}" ]
+then
+  adding=" OR mail ILIKE '%$1%'"
+fi
+# Si on a mis --idbde, il faut matcher l'idbde de manière plus lâche
+if [ "${searchidcbde}" = "1" ]
 then
-  adding=" OR email ILIKE '%$1%'"
+  wild="%"
 fi
 
-psql bde -c "SELECT * FROM adherents WHERE pseudo ILIKE '%$1%' OR nom ILIKE '%$1%'
- OR prenom ILIKE '%$1%'$adding OR CAST(numcbde AS varchar)='$1' ORDER BY nom;"
+    psql note -c "SELECT * FROM comptes WHERE pseudo ILIKE '%$1%' OR nom ILIKE '%$1%'
+     OR prenom ILIKE '%$1%'${adding} OR CAST(idbde AS varchar) LIKE '${wild}$1${wild}' ORDER BY nom;"
+if [ -n "${searchall}" ]
+then
+    psql note -c "SELECT a.*, c.* FROM aliases AS a, comptes AS c WHERE a.idbde = c.idbde AND a.alias ILIKE '%$1%' ORDER BY a.alias;"
+    psql note -c "SELECT h.*, c.* FROM historique AS h, comptes AS c WHERE h.idbde = c.idbde AND h.avant ILIKE '%$1%' ORDER BY h.avant;"
+fi