Changeset 408

Show
Ignore:
Timestamp:
06/22/06 19:13:18 (2 years ago)
Author:
sven
Message:

prevent a bunch of datalib "Input Array" errors. also, empty($objectwithnoproperties) evaluates to true in php 5, so $USER variable setup failed in some cases.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • devel/lib/datalib.php

    r269 r408  
    10601060    if (defined('ELGG_PERFDB')) { global $PERF ; $PERF->dbqueries++; }; 
    10611061     
    1062     $stmt = $db->Prepare('SELECT '. $return .' FROM '. $CFG->prefix . $table .' '. $select); 
    1063     $rs = $db->Execute($stmt,$values); 
    1064     if (!$rs) { 
    1065         if (isset($CFG->debug) and $CFG->debug > 7) { 
    1066             notify($db->ErrorMsg() .'<br /><br />SELECT '. $return .' FROM '. $CFG->prefix . $table .' '. $select); 
    1067         } 
    1068         if (!empty($CFG->dblogerror)) { 
    1069             $debug = debug_backtrace(); 
    1070             foreach ($debug as $d) { 
    1071                 if (strpos($d['file'],'datalib') === false) { 
    1072                     error_log("SQL ".$db->ErrorMsg()." in {$d['file']} on line {$d['line']}. STATEMENT:  SELECT $return FROM $CFG->prefix$table $select"); 
    1073                     break; 
     1062    // this always generates a where query, so there must always be values to look up 
     1063    if (count($values)) { 
     1064        $stmt = $db->Prepare('SELECT '. $return .' FROM '. $CFG->prefix . $table .' '. $select); 
     1065        $rs = $db->Execute($stmt,$values); 
     1066        if (!$rs) { 
     1067            if (isset($CFG->debug) and $CFG->debug > 7) { 
     1068                notify($db->ErrorMsg() .'<br /><br />SELECT '. $return .' FROM '. $CFG->prefix . $table .' '. $select); 
     1069            } 
     1070            if (!empty($CFG->dblogerror)) { 
     1071                $debug = debug_backtrace(); 
     1072                foreach ($debug as $d) { 
     1073                    if (strpos($d['file'],'datalib') === false) { 
     1074                        error_log("SQL ".$db->ErrorMsg()." in {$d['file']} on line {$d['line']}. STATEMENT:  SELECT $return FROM $CFG->prefix$table $select"); 
     1075                        break; 
     1076                    } 
    10741077                } 
    10751078            } 
    1076         } 
    1077         return false; 
    1078     } 
    1079  
    1080     if ( $rs->RecordCount() == 1 ) { 
    1081         return $rs->fields[$return]; 
     1079            return false; 
     1080        } 
     1081     
     1082        if ( $rs->RecordCount() == 1 ) { 
     1083            return $rs->fields[$return]; 
     1084        } else { 
     1085            return false; 
     1086        } 
    10821087    } else { 
    10831088        return false; 
  • devel/lib/elgglib.php

    r368 r408  
    34083408             
    34093409            /*** TODO: Create Proper Abstraction Interface - don't use file binding -- ugh ***/ 
    3410             if (!run("users:flags:get", array("banned",$user->ident))) { 
    3411                 $USER = init_user_var($user); 
     3410            if (!run("users:flags:get", array("banned",$USER->ident))) { 
     3411                $USER = init_user_var($USER); 
    34123412                return true; 
    34133413            } else { 
     
    34593459     
    34603460    // Double MD5 
     3461    if (!defined("SECRET_SALT")) { 
     3462        define("SECRET_SALT", "SECRET_SALT"); 
     3463    } 
    34613464    $ticket        = md5(SECRET_SALT . $id . time()); 
    34623465    $md5ticket = md5($ticket); 
     
    36113614 
    36123615function fill_legacy_user_session($user = NULL) { 
     3616     
     3617    if (!$user) { 
     3618        $user = guest_user(); 
     3619    } 
     3620     
    36133621    /// Fills up all legacy user session data 
    36143622    /// This function provides backward compatibility 
  • devel/lib/setup.php

    r385 r408  
    264264 
    265265/// Populates an empty $USER if is empty 
    266 if (empty($USER)) { 
     266if (empty($USER) || !isset($USER->ident)) { 
    267267    $USER = guest_user(); 
    268268} 
  • devel/login/index.php

    r269 r408  
    4242                                                     ) 
    4343                                      ) 
    44          ); 
    45                          
    46                          
     44        ); 
     45 
    4746?>