<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
I created a new class&nbsp;RegexpTableResultProvider in Search.php, which is
basically a copy of FulltextTableResultProvider. Only the getWhere
method is slightly changed:<br>
<br>
<tt>&nbsp;&nbsp;&nbsp; protected function getWhere($request) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;log-&gt;warn('getWhere ($request)');<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;log-&gt;warn($request);<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $where = '';<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ($this-&gt;fulltextColumns as $column) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($where != '') {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $where .= ' AND ';<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $where .= "$column <font color="#cc0000"><b>~*</b></font>
'@$column@'";<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $where;<br>
&nbsp;&nbsp;&nbsp; }<br>
</tt><br>
In search.ini, the provider is activated with
config.Adresses.provider.type = regexpTable.<br>
<br>
There are a couple of drawabacks. E.g., at the moment the new class
resides in Search.php, which is obviously not the best solution.<br>
<br>
<br>
Regards,<br>
Dirk<br>
<br>
<br>
<br>
wochter wrote:
<blockquote cite="mid:463ACE64.20004@seznam.cz" type="cite">
  <pre wrap="">Hi,
i'd like to see how you wrote own provider for regular expressions.
Cold you send me and describe it please?
I need eliminate the upper/lower case problem too.

Thanx

wochter

Dirk Jesko  wrote / nap&iacute;sal(a):
  </pre>
  <blockquote type="cite">
    <pre wrap="">Hello V&eacute;ronique,

thanks. Now, recentering on a result works with

function recenter(id){
   if ($('search_config').value == 'Adresses') {
       $('id_recenter_ids').value = id; //id to recenter
       CartoWeb.trigger('Location.Recenter');
   }
}

My search works perfectly on seven columns (id, company name, city,
postal code, ...) of one table. I did everything according to the
documentation. After I found out, how the input fields etc. have to be
named, everything was fine. If I am not mistaken, there was one error in
the documentation. In Search.ajax.js, it should be 'if
(pluginOutput.htmlCode.Adresses) {' instead of 'if
(pluginOutput.htmlCode.myconfig) {'. If it helps, I could send you my
configuration and templates.

One thing that I do not like about the provided full text search is the
use of LIKE in the where clause, since you have to be careful with upper
and lower case. Therefore, I wrote my own provider using ~*, so I can
use regular expressions and it ignores upper and lower case.

I will now try a guided search.

Regards,
Dirk



V&eacute;ro Herzl - Bluewin wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Hello,

Yep, I think I know what is wrong. Try by putting
/
$('id_recenter_ids').value = id; //id to recenter
//$('recenter_scale').value = 2000;//scale for recentering
//$('recenter_doit').value = '0'; LINE TO CHANGE !!!!!
//CartoWeb.trigger('Location.Recenter');/

If I remember right I told it already to camptocamp so they can change
the documentation but unfortunately, it is not already done.

By the way, if ever you succeded in implementing the search plugin
with two columns of the same table or two columns of two different
tables, and if it is possible for you, I would kindly receive any
information on how to do it work as the documentation does not seem to
help me on that point.

Regards

V&eacute;ronique

      </pre>
    </blockquote>
    <pre wrap="">_______________________________________________
Cartoweb-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cartoweb-users@lists.maptools.org">Cartoweb-users@lists.maptools.org</a>
<a class="moz-txt-link-freetext" href="http://lists.maptools.org/mailman/listinfo/cartoweb-users">http://lists.maptools.org/mailman/listinfo/cartoweb-users</a>

    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
</body>
</html>