errors with my query

A place for users and developers of the Xataface to discuss and receive support.

errors with my query

Postby Jean » Mon Jun 23, 2008 1:53 am

Hi Steve,

When I add a new entry with the new form, I have these errors :

Code: Select all
Notice: Object to string conversion in /var/www/html/dataface-0.7.1/Dataface/QueryBuilder.php on line 482

Notice: Uninitialized string offset: 0 in /var/www/html/dataface-0.7.1/Dataface/QuickForm.php on line 286

Notice: Object to string conversion in /var/www/html/dataface-0.7.1/Dataface/QueryBuilder.php on line 482


When I look at the possible cause, my array contains the username.

When I connect as an administrator I don't have the first error!!??!!

Do you have an idea, ? Do you need more precisions ?

Jean
Jean
 
Posts: 259
Joined: Wed Nov 07, 2007 1:30 am
Location: Pau, France

Postby shannah » Mon Jun 23, 2008 8:26 am

What code is on those lines (my versions of dataface are slightly different)?
If you can put some debugging code just before those warnings to print out what value is causing the problems that would help.

-Steve
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Postby Jean » Tue Jun 24, 2008 12:36 am

Hi Steve,

Yes sure.

May be it comes from my checkbox groups :
Code: Select all
[glpi_type_computers]

widget:label = ordinateurs
widget:type = checkbox
vocabulary = computer
widget:separator="
"

[glpi_type_monitors]

widget:label = écrans
widget:type = checkbox
vocabulary = ecran
widget:separator="
"

[glpi_type_peripherals]

widget:label = périphériques
widget:type = checkbox
vocabulary = peripherique
widget:separator="
"

[glpi_type_printers]

widget:label = imprimantes
widget:type = checkbox
vocabulary = imprimante
widget:separator="
"

and in the valuelists
Code: Select all
[computer]
__sql__ = "SELECT DISTINCT ID, name from glpi_type_computers GROUP BY name"
   

[ecran]
__sql__ = "SELECT DISTINCT ID, name from glpi_type_monitors GROUP BY name"

[peripherique]
__sql__ = "SELECT DISTINCT ID, name from glpi_type_peripherals where name not like '<%'  GROUP BY name"

[imprimante]
__sql__ = "SELECT DISTINCT ID, name from glpi_type_printers GROUP BY name"


I hope this code will give some insights. The authentification is through active directory with an ldap authentification type. May be the errors come from it because when I use a print it is the username that is displayed in an array.

The first error is located in the QueryBuilder.php in the line
$words = explode(' OR ', $value);
Code: Select all
function _where($query=array(), $merge=true){
      if ( $merge ){
         $query = array_merge( $this->_query, $query);
      }
                      
      foreach ($query as $key=>$value) {
         if ( $value === null ){
            unset($query[$key]);
         }
      }
      
      
      $where  = "WHERE ";
      $missing_key = false;
      $limit = '';
      $use_where = false;
         
      $fields = array();

      foreach ($query as $key=>$value){
         if ( strpos($key,'-') !== 0 ) $fields[$key] = $value;
      }
      //echo '<pre>';print_r($fields);echo '</pre>';exit;
      foreach ($fields as $key=>$value){
         if ( isset($this->_fields[$key]) ){
            $field =& $this->_fields[$key];

            $words = explode(' OR ', $value);
            if ( count($words) > 1){
               $where .= '(';
               $conj = 'OR';
            } else {
               $conj = 'AND';
            }

Thank you for your help!
Jean
Jean
 
Posts: 259
Joined: Wed Nov 07, 2007 1:30 am
Location: Pau, France

Postby shannah » Tue Jun 24, 2008 9:56 am

So it sounds like your username field has some problems. It might be wise to look at the ldap auth module more closely to make sure that when it returns a username it is actually a string and not an array.

Some more debugging code you can add to help might be to add some checking right before the error:

if ( is_array($value) ){
print_r($value);
echo Dataface_Error::printStackTrace();
}
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 18 guests

cron
Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved