Re: Forwards and customSQL

Jan Schneider <[email protected]>
Newsgroups gmane.comp.horde.sork
Message-ID <[email protected]>
Zitat von [email protected]:

>
>
>
> I'm having several problems with forwards running customsql. I'm  
> running the current version, 3.0.1, and trying to get it to work in  
> conjunction with postfixadmin, which I think is imminently doable
>
> The first problem is that when building the SQL query, customsql.php  
> is adding extra single quotes to the SQL. that happens because of  
> the code at ./forwards/Driver/customsql.php:
>
> # RGS changed to stop double quotes
> #$query = str_replace("\U", $this->_db->quote(Auth::getAuth()), $query);
> #$query = str_replace("\T", $this->_db->quote($target), $query);
> #$query = str_replace("\L", $this->_db->quote($keeplocal), $query);
> #$query = str_replace("\P", $this->_db->quote($password), $query);
> $query = str_replace("\U", Auth::getAuth(), $query);
> $query = str_replace("\T", $target, $query);
> $query = str_replace("\L", $keeplocal, $query);
> $query = str_replace("\P", $password, $query);
>
> Example result in /var/log/mysql:
> 60172 Query       INSERT INTO alias (address,goto) VALUES  
> (''[email protected]'','''')
>
> Note that there's an extra set of single quotes.

There are extra quotes because you specified them in the queries.  
Don't do that.

> I've already made that code change, to get to the next thing that's  
> causing me issues:
>
>
> forwards does not appear to honor customsql as an option. When I  
> configure forwards to use customSQL, the mysql queries that show up  
> in /var/log/mysql do not appear to use the values from  
> ./horde/forwards/config/conf.php.
>
> forwards/conf.php:
> <?php
> /* CONFIG START. DO NOT CHANGE ANYTHING IN OR AFTER THIS LINE. */
> // $Horde: forwards/config/conf.xml,v 1.7 2005/04/13 18:06:16 chuck Exp $
> $conf['server']['params']['username'] = 'removed';
> $conf['server']['params']['password'] = 'removed';
> $conf['server']['params']['protocol'] = 'unix';
> $conf['server']['params']['database'] = 'postfix';
> $conf['server']['params']['charset'] = 'utf-8';
> $conf['server']['params']['splitread'] = false;
> $conf['server']['params']['phptype'] = 'mysqli';
> $conf['server']['params']['driverconfig'] = 'custom';
> $conf['server']['params']['query_select'] = 'select * from alias  
> where address =
> $conf['server']['params']['query_set'] = 'UPDATE alias SET goto = \T  
> WHERE addre
> $conf['server']['params']['query_disable'] = 'UPDATE alias SET goto  
> = \U WHERE a
> $conf['server']['params']['column_target'] = 'goto';
> $conf['server']['params']['column_keeplocal'] = 'active';
> $conf['server']['driver'] = 'customsql';
> $conf['enabled']['keeplocal'] = false;
> $conf['enabled']['authenticate'] = false;
> $conf['user']['refused'] = array('root', 'bin', 'daemon', 'adm',  
> 'lp', 'shutdown
> $conf['menu']['apps'] = array();
> /* CONFIG END. DO NOT CHANGE ANYTHING IN OR BEFORE THIS LINE. */
>
>
> If I try to make a change to the user's forwards info, I get the  
> following data from /var/log/mysql (with the fix to prevent double,  
> single-quotes):
>  60471 Query       INSERT INTO alias (address,goto) VALUES  
> ('[email protected]','[email protected],test222#[email protected]')
>
> Note that this is an INSERT query, where in conf.php it's set up as  
> an update query.
>
> The same happens for the remove choice, you get a DELETE query:
>  60421 Query       DELETE FROM alias WHERE goto = '\T'
>
> Additionally, note that it's failing to parse out the '\T' to the  
> correct result. Don't care much about that, as I don't want to use  
> this part of the code, but it's still not correct.
>
> As you can see I've figured out how to resolve my problem with too  
> many single-quotes, but I don't quite grok how horde passes around  
> the conf.php values. I know that the problem is in  
> ./forwards/lib/Driver/customsql.php:
>         $query = $this->_params['query_set'];
> and
>         $query = $this->_params['query_disable'];
>
>
> but I don't understand why it's failing to pull the correct value  
> from the conf.php file.

You didn't logout after changing the configuration.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/

--
Sork mailing list - Join the hunt: http://horde.org/bounties/#sork
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.