That is awesome man. I am very excited about having someone in the  
community to help support this initiative.

Sent from my iPhone

On Apr 25, 2009, at 12:38 PM, Michael Nacos <[email protected]> wrote:

> ok, the real problem was '', not '1' as '1' is implicitly cast to  
> the integer 1, but no such mapping exists for the empty string.
>
> in acl.php's get_user_token_access(), I have inserted a simple
>
> if ($token_id == '') { $token_id = '0'; }
>
> just before any database-related functions are called
>
> generally speaking, I have made only a few harmless changes to the  
> code and habari seems to work just fine with postgresql as the  
> backend (I am using standard debian lenny packages: postgresql 8.3,  
> PHP 5.2.6-1 and lighttpd). Just to make sure, I deleted all files,  
> checked out 3507 from scratch and applied my patchfile. installation  
> was a breeze and there are no error messages/warnings.
>
> it looks like we might be postgresql-ready (I suppose I could also  
> try a habari installation using the recent first beta of the  
> postgresql 8.4 series -- not today, though)
>
> I'm going to try to migrate a couple of personal blogs over to  
> habari, play a little with themes etc until the next incompatibility  
> issue comes along :-) I am serious about supporting you guys, so  
> please let me know if you encounter any postgresql-related issues  
> and I'll try to help.
>
> I have attached a patch file vs 3507
>
> cheers, Michael
>
> >
> Index: system/schema/pgsql/connection.php  
> ===================================================================  
> --- system/schema/pgsql/connection.php        (revision 3507) +++ system/ 
> schema/pgsql/connection.php   (working copy) @@ -23,7 +23,7 @@ if( ! 
> parent::connect( $connect_string, $db_user, $db_pass ) ) { return  
> false; } -     $this->pdo->setAttribute( PDO::ATTR_EMULATE_PREPARES,  
> true ); +      # $this->pdo->setAttribute( PDO::ATTR_EMULATE_PREPARES,  
> true ); return true; } Index: system/plugins/coredashmodules/ 
> dash_latestentries.php  
> ===================================================================  
> --- system/plugins/coredashmodules/dash_latestentries.php     (revision  
> 3507) +++ system/plugins/coredashmodules/dash_latestentries.php        
> (working copy) @@ -1,6 +1,6 @@
> -      +
> pubdate->out( 'M j' ); ?> title; ?> author->displayname; ?> Index:  
> system/classes/acl.php  
> ===================================================================  
> --- system/classes/acl.php    (revision 3507) +++ system/classes/ 
> acl.php       (working copy) @@ -447,6 +447,8 @@ ORDER BY access_mask ASC  
> SQL; +         if ($token_id == '') { $token_id = '0'; } + $accesses =  
> DB::get_column( $sql, array( $user_id, $token_id, $user_id,  
> $token_id ) ); $accesses = Plugins::filter( 'user_token_access',  
> $accesses, $user_id, $token_id ); @@ -457,7 +459,7 @@ } else  
> { $result = 0; -       foreach ( $accesses as $access ) { + foreach  
> ( (array)$accesses as $access ) { if ( $access == 0 ) {                       
>                  
> $result = 0; break; @@ -526,7 +528,7 @@ $post_tokens =  
> DB::get_column('SELECT token_id FROM {post_tokens} GROUP BY  
> token_id'); } - foreach ( $result as $token ) { +             foreach ( 
> (array) 
> $result as $token ) { $bitmask->value = $token->access_mask; if  
> ( $access == 'deny' && $bitmask->value == 0 ) { $tokens[] = $token- 
> >token_id; @@ -853,4 +855,4 @@ } } -?> \ No newline at end of file +? 
> > Index: system/classes/posts.php  
> ===================================================================  
> --- system/classes/posts.php  (revision 3507) +++ system/classes/ 
> posts.php     (working copy) @@ -471,6 +471,7 @@ } $master_perm_where =  
> implode( ' AND ', $where ); + $master_perm_where = preg_replace('/ 
> \(1\)/m', '(1=1)', $master_perm_where); } // Extract the remaining  
> parameters which will be used onwards @@ -561,7 +562,7 @@ /** *  
> DEBUG: Uncomment the following line to display everything that  
> happens in this function */ -  //print_R('
> '.$query.'
> '); +  //print_R('
> nacos '.$query.'
> '); //Utils::debug( $paramarray, $fetch_fn, $query, $params ); // 
> Session::notice($query); @@ -930,4 +931,4 @@ return 'posts'; } } -?>  
> \ No newline at end of file +?> Index: system/classes/ 
> databaseconnection.php  
> ===================================================================  
> --- system/classes/databaseconnection.php     (revision 3507) +++ system/ 
> classes/databaseconnection.php        (working copy) @@ -259,7 +259,7 @@ //  
> Allow plugins to modify the query after it has been processed $query  
> = Plugins::filter( 'query_postprocess', $query, $args ); -     if  
> ( $this->pdo_statement = $this->pdo->prepare( $query ) ) { +   if  
> ( $this->pdo_statement = $this->pdo->prepare( $query,  
> array(PDO::ATTR_EMULATE_PREPARES => true) ) ) { if ( $this- 
> >fetch_mode == PDO::FETCH_CLASS ) { /* Try to get the result class  
> autoloaded. */ if ( ! class_exists( strtolower( $this- 
> >fetch_class_name ) ) ) { @@ -334,7 +334,7 @@ $query.= ' )';                  
> > 
> $query = $this->sql_t( $query, $args ); -      if ( $pdo_statement =  
> $pdo->prepare( $query ) ) { +  if ( $pdo_statement = $pdo- 
> >prepare( $query, array(PDO::ATTR_EMULATE_PREPARES => true) ) ) { /*  
> If we are profiling, then time the query */ if ( $this- 
> >keep_profile ) { $profile = new QueryProfile( $query ); Index:  
> system/classes/comments.php  
> ===================================================================  
> --- system/classes/comments.php       (revision 3507) +++ system/classes/ 
> comments.php  (working copy) @@ -285,6 +285,7 @@ } $master_perm_where  
> = implode( ' AND ', $where ); + $master_perm_where = preg_replace('/\ 
> (1\)/m', '(1=1)', $master_perm_where); } // Get any full-query  
> parameters

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/habari-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to