Changeset 17

Show
Ignore:
Timestamp:
2007-11-22 20:15:42 (5 years ago)
Author:
hannes
Message:

closing cursors where it seems necessary

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/admin/classes/pages/Addcategory.php

    r1 r17  
    4545                $q->execute(); 
    4646                $neworder = $q->fetchColumn(); 
     47                $q->closeCursor(); 
    4748                $neworder++; 
    4849                // add category 
  • trunk/admin/classes/pages/Addforum.php

    r13 r17  
    4646                $q->execute(); 
    4747                $neworder = $q->fetchColumn() + 1; 
     48                $q->closeCursor(); 
    4849                // add forum 
    4950                $q = $C->prepare('INSERT INTO ' . $SETTINGS['dbtableprefix'] . 'forums (forumtitle, forumdescription, forum_category, forum_order) VALUES (:title, :desc, :id, :order)'); 
  • trunk/admin/classes/pages/Editmember.php

    r9 r17  
    5151                $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    5252                if ($q->execute() && $q->fetchColumn() == 1) { 
     53                    $q->closeCursor(); 
    5354                    if ($submit == $LANG['Submit']) { 
    5455                        // write new member profile into database 
     
    149150                                        $q2->execute(); 
    150151                                        $_groupid = $q2->fetchColumn(); 
     152                                        $q2->closeCursor(); 
    151153                                        $q = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'groupmemberships WHERE member = :id AND usergroup = :group'); 
    152154                                        $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
     
    161163                                    $q2->execute(); 
    162164                                    $_groupid = $q2->fetchColumn(); 
     165                                    $q2->closeCursor(); 
    163166                                    $q = $C->prepare('INSERT INTO ' . $SETTINGS['dbtableprefix'] . 'groupmemberships (member, usergroup) VALUES (:id, :group)'); 
    164167                                    $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
     
    213216                    } 
    214217                } else { 
     218                    $q->closeCursor(); 
    215219                    $div = $this->html->body->addChild('div', $LANG['error_id']); 
    216220                    $div->addAttribute('id', 'admin_main'); 
     
    409413                        $q->execute(); 
    410414                        $row = $q->fetchObject(); 
     415                        $q->closeCursor(); 
    411416                        $this->html->body->addElement(new XMLElement('<div><b>' . $LANG['Member'] . ': ' . $row->membername . '</b></div>')); 
    412417                        $this->html->body->addChild('br'); 
     
    431436                                $_col2 .= ' checked="checked"'; 
    432437                            } 
     438                            $q3->closeCursor(); 
    433439                            $_col2 .= ' value="1" /></td>'; 
    434440                            $form->addRawTableRow(Array($_col1, $_col2)); 
  • trunk/admin/classes/pages/Moderators.php

    r1 r17  
    5252                        $q->bindParam(':name', trim($_mod), PDO::PARAM_STR); 
    5353                        if ($q->execute() && $row2 = $q->fetchObject()) { 
     54                            $q->closeCursor(); 
    5455                            if ($row2->memberstatus == 'Moderator') { 
    5556                                // valid 
     
    6162                        } else { 
    6263                            // invalid 
     64                            $q->closeCursor(); 
    6365                            $_invalid[] = $_mod; 
    6466                        } 
  • trunk/admin/classes/pages/Modifycategory.php

    r1 r17  
    6767                $q->execute(); 
    6868                $_num = $q->fetchColumn(); 
     69                $q->closeCursor(); 
    6970                // get category data 
    7071                foreach ($C->query('SELECT * FROM ' . $SETTINGS['dbtableprefix'] . 'categories ORDER BY category_order ASC') as $row) { 
  • trunk/admin/classes/pages/Modifyforum.php

    r1 r17  
    8080                    $q3->execute(); 
    8181                    $_num = $q3->fetchColumn(); 
     82                    $q3->closeCursor(); 
    8283                    for ($i = 1; $i <= $_num; $i++) { 
    8384                        $_col4 .= '<option value="' . $i . '"'; 
  • trunk/admin/classes/pages/Permissions.php

    r7 r17  
    5656                $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    5757                if ($q->execute() && $row = $q->fetchObject()) { 
     58                    $q->closeCursor(); 
    5859                    // delete previously set permissions of this group 
    5960                    $q2 = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'rights WHERE usergroup = :id'); 
     
    110111                } else { 
    111112                    // invalid group 
     113                    $q->closeCursor(); 
    112114                    $div = $this->html->body->addChild('div', $LANG['error_id']); 
    113115                    $div->addAttribute('id', 'admin_main'); 
     
    124126                $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    125127                if ($q->execute() && $row = $q->fetchObject()) { 
     128                    $q->closeCursor(); 
    126129                    $form = new Form($F->link('permissions')); 
    127130                    $form->addInput('hidden', 'id', $id); 
     
    153156                                        $_row = $q2->fetchObject(); 
    154157                                    } 
     158                                    $q2->closeCursor(); 
    155159                                    if (!isset($_row->read)) { 
    156160                                        // nothing set yet, so 'default deny' 
     
    184188                            $_row = $q2->fetchObject(); 
    185189                        } 
     190                        $q2->closeCursor(); 
    186191                        if (!isset($_row->read)) { 
    187192                            // nothing set yet, so 'default deny' 
     
    212217                                $_row = $q2->fetchObject(); 
    213218                            } 
     219                            $q2->closeCursor(); 
    214220                            if (!isset($_row->read)) { 
    215221                                // nothing set yet, so 'default deny' 
     
    236242                } else { 
    237243                    // invalid group 
     244                    $q->closeCursor(); 
    238245                    $div = $this->html->body->addChild('div', $LANG['error_id']); 
    239246                    $div->addAttribute('id', 'admin_main'); 
  • trunk/classes/misc/Member.php

    r9 r17  
    8080            } 
    8181            if ($s && $row = $q->fetchObject()) { 
     82                $q->closeCursor(); 
    8283                // member found - put information in object variables 
    8384                $this->id = $row->memberid; 
     
    127128                    $row2->posts = 0; 
    128129                } 
     130                $q2->closeCursor(); 
    129131                $this->posts = $row2->posts; 
    130132                // determine stage by number of posts 
     
    137139                } 
    138140            } else { 
     141                $q->closeCursor(); 
    139142                // member hasn't been found - deleted member 
    140143                $this->id = 0; 
     
    419422            $password = '*'; 
    420423        } 
     424        $q->closeCursor(); 
    421425        // check if member's name exists 
    422426        $q = $C->prepare('SELECT memberpassword FROM ' . $SETTINGS['dbtableprefix'] . 'members WHERE membername=:user'); 
     
    425429        $_fail = 0; 
    426430        if ($s && $row = $q->fetchObject()) { 
     431            $q->closeCursor(); 
    427432            // check if password is correct 
    428433            if ($row->memberpassword === $password) { 
     
    435440        } else { 
    436441            // username doesn't even exist 
     442            $q->closeCursor(); 
    437443            $_fail = 1; 
    438444        } 
     
    540546                    $_groups[] = $row->usergroup; 
    541547                } 
     548                $q->closeCursor(); 
    542549                // check for each of the user's groups 
    543550                foreach ($_groups as $key=>$val) { 
     
    552559                        $_permit = TRUE; 
    553560                    } 
     561                    $q->closeColumn(); 
    554562                } 
    555563            } 
     
    576584                // result WILL exist, because if that group doesn't exist, the board isn't correctly set up anyway 
    577585                $row = $q->fetchObject(); 
     586                $q->closeCursor(); 
    578587                $_groups[0] = $row->id; 
    579588            } 
     
    593602                        $_permit = TRUE; 
    594603                    } 
     604                    $q->closeCursor(); 
    595605                } 
    596606                // done 
     
    603613                    $q2->execute(); 
    604614                    $row = $q2->fetchObject(); 
     615                    $q2->closeCursor(); 
    605616                    $id = $row->forum; 
    606617                } 
     
    618629                        $_permit = TRUE; 
    619630                    } 
     631                    $q->closeCursor(); 
    620632                } 
    621633                // done 
     
    635647                        $_permit = TRUE; 
    636648                    } 
     649                    $q->closeCursor(); 
    637650                } 
    638651                if ($_permit === FALSE) { 
     
    644657                        $q->execute(); 
    645658                        $row = $q->fetchObject(); 
     659                        $q->closeCursor(); 
    646660                        if ($row->postedbymember == 1 && $row->poster == $_SESSION['membername']) { 
    647661                            // it IS the topic starter 
     
    655669                        $q->execute(); 
    656670                        $row = $q->fetchObject(); 
     671                        $q->closeCursor(); 
    657672                        if ($row->postedbymember == 1 && $row->poster == $_SESSION['membername']) { 
    658673                            // it IS the poster 
     
    669684                            // overwrite $id for the following steps 
    670685                            $id = $q->fetchColumn(); 
     686                            $q->closeCursor(); 
    671687                        } 
    672688                        // $id given as topic id, so get forum id first 
     
    675691                        $q->execute(); 
    676692                        $_forumid = $q->fetchColumn(); 
     693                        $q->closeCursor(); 
    677694                        // check if this person IS a moderator of this particular forum 
    678695                        $q = $C->prepare('SELECT COUNT(*) FROM ' . $SETTINGS['dbtableprefix'] . 'moderators WHERE forum=:forum AND member=:member'); 
     
    684701                            $_permit = TRUE; 
    685702                        } 
     703                        $q->closeCursor(); 
    686704                    } 
    687705                } 
  • trunk/classes/misc/Post.php

    r9 r17  
    4444                $this->post = $q->fetchObject(); 
    4545            } 
     46            $q->closeCursor(); 
    4647        } 
    4748    } /* constructor */ 
     
    139140            if ($s) { 
    140141                $row = $q->fetchObject(); 
     142                $q->closeCursor(); 
    141143                if ($row->closed == '1') { 
    142144                    // topic closed - error 
     
    165167                $_error = $LANG['error_id']; 
    166168            } 
     169            $q->closeCursor(); 
    167170        } 
    168171        if ($show_orig === 'newpoll') { 
     
    186189                if (($_SESSION['lastposttime'] + $SETTINGS['floodcontrol'] >= time()) && ($q->fetchColumn() + $SETTINGS['floodcontrol'] >= time())) { 
    187190                    // too little time between posts 
     191                    $q->closeCursor(); 
    188192                    $_error = $LANG['error_floodcontrol']; 
    189193                    $ok = 0; 
    190194                } else { 
    191195                    // sort out IP banning 
     196                    $q->closeCursor(); 
    192197                    foreach ($bannedip as $_ip) { 
    193198                        if (strpos($_SERVER['REMOTE_ADDR'], $_ip) !== FALSE) { 
     
    206211                            if ($s && $q->fetchColumn() >= 1) { 
    207212                                // name taken 
     213                                $q->closeCursor(); 
    208214                                $ok = 0; 
    209215                                $_error = $LANG['error_name_taken']; 
    210216                            } else { 
    211217                                // check if session password has been correctly entered 
     218                                $q->closeCursor(); 
    212219                                if ($password !== $_SESSION['pw']) { 
    213220                                    $ok = 0; 
     
    236243                            if ($s) { 
    237244                                $row = $q->fetchObject(); 
     245                                $q->closeCursor(); 
    238246                                // check if he's banned 
    239247                                if ($row->memberstatus != 'Banned') { 
     
    328336                                $q->execute(); 
    329337                                $row = $q->fetchColumn(); 
     338                                $q->closeCursor(); 
    330339                                $pollid = $row; 
    331340                                @$C->query('UNLOCK TABLE ' . $SETTINGS['dbtableprefix'] . 'polls'); 
     
    342351                                $q->execute(); 
    343352                                // get new topic id 
    344                                 $q = $C->query('SELECT MAX(topicid) FROM ' . $SETTINGS['dbtableprefix'] . 'topics'); 
     353                                $q = $C->prepare('SELECT MAX(topicid) FROM ' . $SETTINGS['dbtableprefix'] . 'topics'); 
     354                                $q->execute(); 
    345355                                $row = $q->fetchColumn(); 
     356                                $q->closeCursor(); 
    346357                                // topicid is called 'reply' in following statements 
    347358                                $reply = $row; 
     
    386397                                } 
    387398                            } 
    388                             /* 
    389                             $q = $C->prepare('SELECT member FROM ' . $SETTINGS['dbtableprefix'] . 'subscriptions WHERE topic=:id'); 
    390                             $q->bindParam(':id', $reply, PDO::PARAM_INT, 12); 
    391                             $q->execute(); 
    392                             $subscribed = Array(); 
    393                             while ($row = $q->fetchObject()) { 
    394                                 $subscribed[] = $row->member; 
    395                             } 
    396                             // check if this user has already been subscribed 
    397                             $found = 0; 
    398                             foreach($subscribed as $subscriber) { 
    399                                 if ($subscriber == $_SESSION['memberid']) { 
    400                                     // previously subscribed 
    401                                     $found = 1; 
    402                                 } 
    403                             } 
    404                             if ($subscribe == '1' && $found === 0) { 
    405                                 // new subscription 
    406                                 $subscribed_new = ''; 
    407                                 // retain old subscriptions 
    408                                 if ($row->subscribed != '') { 
    409                                     $subscribed_new = $row->subscribed . ','; 
    410                                 } 
    411                                 // add subscription for this user 
    412                                 $subscribed_new .= $_SESSION['memberid']; 
    413                                 // write back to database 
    414                                 $q = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'topics SET subscribed=:subs WHERE topicid=:id'); 
    415                                 $q->bindParam(':subs', $subscribed_new, PDO::PARAM_STR); 
    416                                 $q->bindParam(':id', $reply, PDO::PARAM_INT,12); 
    417                                 $q->execute(); 
    418                             } elseif ($subscribe == '0' && $found === 1) { 
    419                                 // remove subscription 
    420                                 $subscribed_new = str_replace($_SESSION['memberid'], '', $row->subscribed); 
    421                                 $subscribed_new = str_replace(',,', ',', $subscribed_new); 
    422                                 // write back 
    423                                 $q = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'topics SET subscribed=:subs WHERE topicid=:id'); 
    424                                 $q->bindParam(':subs', $subscribed_new, PDO::PARAM_STR); 
    425                                 $q->bindParam(':id', $reply, PDO::PARAM_INT,12); 
    426                                 $q->execute(); 
    427                             } 
    428                             */ 
    429399                            // get last page of topic 
    430400                            $q = $C->prepare('SELECT COUNT(postid) FROM ' . $SETTINGS['dbtableprefix'] . 'posts WHERE topic=:id'); 
     
    432402                            $q->execute(); 
    433403                            $row = $q->fetchColumn(); 
     404                            $q->closeCursor(); 
    434405                            // calculate page 
    435406                            $page = ceil($row / $SETTINGS['postsperpage']); 
     
    439410                            $q->execute(); 
    440411                            $row = $q->fetchObject(); 
     412                            $q->closeCursor(); 
    441413                            $subscribed = explode(',', $row->subscribed); 
    442414                            foreach ($subscribed as $subscriber) { 
     
    448420                                    if ($s) { 
    449421                                        $row2 = $q2->fetchObject(); 
     422                                        $q2->closeCursor(); 
    450423                                        // use receipient's language 
    451424                                        if ($row2->lang != '') { 
     
    461434                                        // back to user's language 
    462435                                        include('includes/lang/' . $_SESSION['lang'] . '.php'); 
     436                                    } else { 
     437                                        $q2->closeCursor(); 
    463438                                    } 
    464439                                } 
  • trunk/classes/pages/Category.php

    r13 r17  
    7979                    $q3->execute(); 
    8080                    $row3 = $q3->fetchObject(); 
     81                    $q3->closeCursor(); 
    8182                    // number of posts 
    8283                    $q4 = $C->prepare('SELECT COUNT(postid) AS posts FROM ' . $SETTINGS['dbtableprefix'] . 'posts WHERE topic IN (SELECT topicid FROM ' . $SETTINGS['dbtableprefix'] . 'topics WHERE forum=:forum)'); 
     
    8485                    $q4->execute(); 
    8586                    $row4 = $q4->fetchObject(); 
     87                    $q4->closeCursor(); 
    8688                    // last activity 
    8789                    $q5 = $C->prepare('SELECT t.topicid AS topicid,t.topictitle AS topictitle, p.posttime AS posttime, p.poster AS poster, p.postedbymember AS postedbymember FROM ' . $SETTINGS['dbtableprefix'] . 'posts p, ' . $SETTINGS['dbtableprefix'] . 'topics t WHERE t.forum=:forum AND p.topic=t.topicid ORDER BY p.posttime DESC LIMIT 0,1'); 
     
    8991                    $q5->execute(); 
    9092                    $row5 = $q5->fetchObject(); 
     93                    $q5->closeCursor(); 
    9194                    // get poster information 
    9295                    $_poster = new Member($row5->poster, $row5->postedbymember); 
     
    141144            $s = $q->execute(); 
    142145            if ($s && $r = $q->fetchObject()) { 
     146                $q->closeCursor(); 
    143147                return $r->category_name; 
    144148            } else { 
     149                $q->closeCursor(); 
    145150                return ''; 
    146151            } 
  • trunk/classes/pages/Delete.php

    r1 r17  
    4040            $q3->execute(); 
    4141            $row3 = $q3->fetchObject(); 
     42            $q3->closeCursor(); 
    4243            $q = $C->prepare('SELECT topictitle, forum FROM ' . $SETTINGS['dbtableprefix'] . 'topics WHERE topicid=:id'); 
    4344            $q->bindParam(':id', $row3->topic, PDO::PARAM_INT, 12); 
    4445            $q->execute(); 
    4546            $row = $q->fetchObject(); 
     47            $q->closeCursor(); 
    4648            $q2 = $C->prepare('SELECT forumtitle, forum_category FROM ' . $SETTINGS['dbtableprefix'] . 'forums WHERE forumid=:forum'); 
    4749            $q2->bindParam(':forum', $row->forum, PDO::PARAM_INT, 12); 
    4850            $q2->execute(); 
    4951            $row2 = $q2->fetchObject(); 
     52            $q2->closeCursor(); 
    5053            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $row->topictitle . ' - ' . $LANG['Delete_Post']; 
    5154            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $row->forum . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('topic') . 'id=' . $row3->topic . '">' . $row->topictitle . '</a> - <a href="' . $F->link('delete') . 'id=' . $id . '">' . $LANG['Delete_Post'] . '</a>'; 
     
    6366                $q->execute(); 
    6467                $_posts = $q->fetchColumn(); 
     68                $q->closeCursor(); 
    6569                if ($_posts >= 2) { 
    6670                    // purge post from database 
  • trunk/classes/pages/Edit.php

    r1 r17  
    4040            $q3->execute(); 
    4141            $row3 = $q3->fetchObject(); 
     42            $q3->closeCursor(); 
    4243            $q = $C->prepare('SELECT topictitle, forum FROM ' . $SETTINGS['dbtableprefix'] . 'topics WHERE topicid=:id'); 
    4344            $q->bindParam(':id', $row3->topic, PDO::PARAM_INT, 12); 
    4445            $q->execute(); 
    4546            $row = $q->fetchObject(); 
     47            $q->closeCursor(); 
    4648            $q2 = $C->prepare('SELECT forumtitle, forum_category FROM ' . $SETTINGS['dbtableprefix'] . 'forums WHERE forumid=:forum'); 
    4749            $q2->bindParam(':forum', $row->forum, PDO::PARAM_INT, 12); 
    4850            $q2->execute(); 
    4951            $row2 = $q2->fetchObject(); 
     52            $q2->closeCursor(); 
    5053            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $row->topictitle . ' - ' . $LANG['Edit_Post']; 
    5154            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $row->forum . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('topic') . 'id=' . $row3->topic . '">' . $row->topictitle . '</a> - <a href="' . $F->link('delete') . 'id=' . $id . '">' . $LANG['Edit_Post'] . '</a>'; 
     
    7679                $q->execute(); 
    7780                $_count = $q->fetchColumn(); 
     81                $q->closeCursor(); 
    7882                $_page = ceil($_count / $SETTINGS['postsperpage']); 
    7983                // form 
  • trunk/classes/pages/Forum.php

    r1 r17  
    3838            $q->execute(); 
    3939            $row = $q->fetchObject(); 
     40            $q->closeCursor(); 
    4041            $this->title = ' - ' . Category::getName($row->forum_category) . ' - ' . $row->forumtitle; 
    4142            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row->forum_category . '">' . Category::getName($row->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $id . '">' . $row->forumtitle . '</a>'; 
     
    5152            $q->execute(); 
    5253            $row = $q->fetchObject(); 
     54            $q->closeCursor(); 
    5355            // new topic and poll buttons 
    5456            $postbuttons = new Postbuttons(TRUE, $row->forumid); 
     
    5961            $q2->execute(); 
    6062            $row2 = $q2->fetchObject(); 
     63            $q2->closeCursor(); 
    6164            // calculate start for this page 
    6265            if (!isset($page) || $page == '') { $page = 1; } 
     
    9598                $q3->execute(); 
    9699                $row3 = $q3->fetchObject(); 
     100                $q3->closeCursor(); 
    97101                // get last post 
    98102                $q4 = $C->prepare('SELECT poster, postedbymember, posttime FROM ' . $SETTINGS['dbtableprefix'] . 'posts WHERE topic=:topicid ORDER BY posttime DESC LIMIT 0,1'); 
     
    100104                $q4->execute(); 
    101105                $row4 = $q4->fetchObject(); 
     106                $q4->closeCursor(); 
    102107                // get first and last poster information 
    103108                $_poster1 = new Member($row3->poster, $row3->postedbymember); 
     
    125130                        $_mark .= ' &amp;omicron;'; 
    126131                    } 
     132                    $q->closeCursor(); 
    127133                } 
    128134                // add all the previously compiled topic information to table 
  • trunk/classes/pages/Lostpassword.php

    r1 r17  
    5151                    if ($s && $row = $q->fetchObject()) { 
    5252                        // member found -> generate random password 
     53                        $q->closeCursor(); 
    5354                        $p = new Password(); 
    5455                        $p->generate(12); 
     
    5859                        @mail($email, $SETTINGS['forumname'] . ' - ' . $LANG['Lost_Password'], str_replace(Array('%membername%', '%password%'), Array($row->membername, $p->get()), $LANG['lost_password_mail']), 'From: ' . $SETTINGS['forumadminemail']); 
    5960                    } else { 
     61                        $q->closeCursor(); 
    6062                        $this->html->body->addChild('div', $LANG['error_unknown_mail_address']); 
    6163                    } 
  • trunk/classes/pages/Mail.php

    r1 r17  
    5151                $q->execute(); 
    5252                $row = $q->fetchObject(); 
     53                $q->closeCursor(); 
    5354                // get receipient information 
    5455                $q = $C->prepare('SELECT memberemail, membername, memberemailhidden, lang FROM ' . $SETTINGS['dbtableprefix'] . 'members WHERE memberid=:id'); 
     
    5657                $q->execute(); 
    5758                $row2 = $q->fetchObject(); 
     59                $q->closeCursor(); 
    5860                // mandatory fields 
    5961                if (isset($subject) && $subject != '' && isset($post) && $post != '') { 
  • trunk/classes/pages/Members.php

    r1 r17  
    8080                $q2 = $C->query('SELECT COUNT(memberid) FROM ' . $SETTINGS['dbtableprefix'] . 'members'); 
    8181                $membercount = $q2->fetchColumn(); 
     82                $q2->closeCursor(); 
    8283                // build page navigation 
    8384                $pages = new Pagination($SETTINGS['topicsperpage'], $page, $membercount); 
     
    105106                    $q3->execute(); 
    106107                    $_postercount = $q3->fetchColumn(); 
     108                    $q3->closeCursor(); 
    107109                    $_nonpostercount = $membercount - $_postercount; 
    108110                    // define start and length of database query 
  • trunk/classes/pages/Messenger.php

    r1 r17  
    7878                            $q->execute(); 
    7979                            if ($_id = $q->fetchColumn()) { 
     80                                $q->closeCursor(); 
    8081                                // append new id 
    8182                                $q = $C->prepare('SELECT addressbook FROM ' . $SETTINGS['dbtableprefix'] . 'members WHERE memberid=:id'); 
     
    8384                                $q->execute(); 
    8485                                $addresses = $q->fetchColumn(); 
     86                                $q->closeCursor(); 
    8587                                $addresses .= "\n" . $_id; 
    8688                                // write back to database 
     
    9193                                $div->addChild('span', $LANG['address_added']); 
    9294                            } else { 
     95                                $q->closeCursor(); 
    9396                                $div->addChild('span', $LANG['error_unknown_username']); 
    9497                            } 
     
    102105                        $q->execute(); 
    103106                        $_addr = $q->fetchColumn(); 
     107                        $q->closeCursor(); 
    104108                        $addresses = str_replace($id . "\n", '', $_addr); 
    105109                        // write back 
     
    124128                    $q->execute(); 
    125129                    $_addr = $q->fetchColumn(); 
     130                    $q->closeCursor(); 
    126131                    if ($_addr != '') { 
    127132                        $addresses = split("\n", trim($_addr)); 
     
    169174                    $_done = 0; 
    170175                    if ($row = $q->fetchObject()) { 
     176                        $q->closeCursor(); 
    171177                        // check if it's the sender or receipient 
    172178                        if ($row->messagesender === $_SESSION['memberid']) { 
     
    193199                        } 
    194200                    } else { 
     201                        $q->closeCursor(); 
    195202                        $div->addChild('span', $LANG['error_id']); 
    196203                    } 
     
    221228                        $q->execute(); 
    222229                        $_status = $q->fetchColumn(); 
     230                        $q->closeCursor(); 
    223231                        if ($_status == 'Banned') { 
    224232                            $ok = -1; 
     
    233241                                $q->execute(); 
    234242                                if ($row = $q->fetchObject()) { 
     243                                    $q->closeCursor(); 
    235244                                    // format message 
    236245                                    $title = $F->htmlentities(trim($subject)); 
     
    254263                                    $q->execute(); 
    255264                                    $_new_id = $q->fetchColumn(); 
     265                                    $q->closeCursor(); 
    256266                                    // unlock table 
    257267                                    @$C->query('UNLOCK TABLE ' . $SETTINGS['dbtableprefix'] . 'messages'); 
     
    269279                                    $div->addChild('span', str_replace('%to%', $to, $LANG['message_sent'])); 
    270280                                } else { 
     281                                    $q->closeCursor(); 
    271282                                    $_error = $LANG['error_unknown_receipient']; 
    272283                                } 
     
    296307                        if ($q->execute()) { 
    297308                            $row = $q->fetchObject(); 
     309                            $q->closeCursor(); 
    298310                            $_rec = $row->messagesender; 
    299311                            $title = $row->messagetitle; 
     
    303315                            } 
    304316                            $quotetext = '[quote]' . $row->message . "[/quote]\n"; 
     317                        } else { 
     318                            $q->closeCursor(); 
    305319                        } 
    306320                    } else { 
     
    331345                        } 
    332346                        $div->addElement($_table->get()); 
    333                     } else { $div->addChild('div', $LANG['error_unknown']); } 
     347                    } else { 
     348                        $q->closeCursor(); 
     349                        $div->addChild('div', $LANG['error_unknown']); 
     350                    } 
    334351                } else { 
    335352                    // not allowed -> log in 
     
    346363                    if ($q->execute()) { 
    347364                        $row = $q->fetchObject(); 
     365                        $q->closeCursor(); 
    348366                        $_sender = new Member($row->messagesender); 
    349367                        $_table = new Table('messagetable'); 
     
    362380                            $q->execute(); 
    363381                        } 
    364                     } else { $div->addChild('div', $LANG['error_unknown']); } 
     382                    } else { 
     383                        $q->closeCursor(); 
     384                        $div->addChild('div', $LANG['error_unknown']); 
     385                    } 
    365386                } else { 
    366387                    // not allowed -> log in 
  • trunk/classes/pages/Moderate.php

    r1 r17  
    4141            $q->execute(); 
    4242            $row = $q->fetchObject(); 
     43            $q->closeCursor(); 
    4344            $q2 = $C->prepare('SELECT forumtitle, forum_category FROM ' . $SETTINGS['dbtableprefix'] . 'forums WHERE forumid=:forum'); 
    4445            $q2->bindParam(':forum', $row->forum, PDO::PARAM_INT, 12); 
    4546            $q2->execute(); 
    4647            $row2 = $q2->fetchObject(); 
     48            $q2->closeCursor(); 
    4749            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $row->topictitle . ' - ' . $LANG['Moderate']; 
    4850            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $row->forum . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('topic') . 'id=' . $id . '">' . $row->topictitle . '</a> - <a href="' . $F->link('moderate') . '">' . $LANG['Moderate'] . '</a>'; 
     
    336338                        $q->execute(); 
    337339                        $_postcount = $q->fetchColumn(); 
     340                        $q->closeCursor(); 
    338341                        // clean array of posts so that just the ones which should be moved remain 
    339342                        $move = array_values($_POST['move']); 
     
    345348                                $q->execute(); 
    346349                                $_forum = $q->fetchColumn(); 
     350                                $q->closeCursor(); 
    347351                                // lock table 
    348352                                @$C->query('LOCK TABLES ' . $SETTINGS['dbtableprefix'] . 'topics WRITE'); 
     
    357361                                $q->execute(); 
    358362                                $_new_id = $q->fetchColumn(); 
     363                                $q->closeCursor(); 
    359364                                @$C->query('UNLOCK TABLES'); 
    360365                                // put chosen posts into new topic 
     
    373378                                    $q2->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    374379                                    $_poll_id = $q->fetchColumn(); 
     380                                    $q2->closeCursor(); 
    375381                                    // write to new topic 
    376382                                    $q2 = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'topics SET poll=:poll WHERE topicid=:id'); 
     
    412418                        $q->execute(); 
    413419                        $poll = $q->fetchColumn(); 
     420                        $q->closeCursor(); 
    414421                        if ($poll > 0) { 
    415422                            $_form->addRawTableRow(Array($LANG['Poll'] . ':', '<td><input type="radio" name="poll" value="0" checked="checked" />' . $LANG['old'] . ' <input type="radio" name="poll" value="1" />' . $LANG['new'] . '</td>')); 
  • trunk/classes/pages/Newpoll.php

    r1 r17  
    4040            $q2->execute(); 
    4141            $row2 = $q2->fetchObject(); 
     42            $q2->closeCursor(); 
    4243            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $LANG['New_Topic']; 
    4344            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $id . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('newpoll') . 'id=' . $id . '">' . $LANG['New_Poll'] . '</a>'; 
  • trunk/classes/pages/Newtopic.php

    r8 r17  
    4040            $q2->execute(); 
    4141            $row2 = $q2->fetchObject(); 
     42            $q2->closeCursor(); 
    4243            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $LANG['New_Topic']; 
    4344            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $id . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('newtopic') . 'id=' . $id . '">' . $LANG['New_Topic'] . '</a>'; 
  • trunk/classes/pages/Page.php

    r9 r17  
    235235            $q = $C->query('SELECT COUNT(onlinememberid) FROM ' . $SETTINGS['dbtableprefix'] . 'online'); 
    236236            if ($q->fetchColumn() > 0) { 
     237                $q->closeCursor(); 
    237238                $q = $C->query('SELECT onlinememberid FROM ' . $SETTINGS['dbtableprefix'] . 'online'); 
    238239                // count number of members and guests 
     
    259260            } else { 
    260261                // if the online table is empty 
     262                $q->closeCursor(); 
    261263                $_str = '1 ' . $LANG['Guest']; 
    262264            } 
     
    300302            $q = $C->query('SELECT COUNT(memberid) AS count FROM ' . $SETTINGS['dbtableprefix'] . 'members'); 
    301303            $row = $q->fetchObject(); 
     304            $q->closeCursor(); 
    302305            $_str .= ' ' . $row->count . ' ' . $LANG['members'] . '.</div><div>' . $LANG['The_newest_member_is'] . ' '; 
    303306            $q = $C->query('SELECT memberid, membername FROM ' . $SETTINGS['dbtableprefix'] . 'members ORDER BY registered DESC LIMIT 1'); 
    304307            $row = $q->fetchObject(); 
     308            $q->closeCursor(); 
    305309            $_str .= '<a href="' . $F->link('profile') . 'id=' . $row->memberid . '">' . $row->membername . '</a>.</div><div>' . $LANG['There_are'] . ' '; 
    306310            $q = $C->query('SELECT COUNT(postid) AS count FROM ' . $SETTINGS['dbtableprefix'] . 'posts'); 
    307311            $row = $q->fetchObject(); 
     312            $q->closeCursor(); 
    308313            $_str .= $row->count . ' ' . $LANG['posts'] . ' ' . $LANG['in'] . ' '; 
    309314            $q = $C->query('SELECT COUNT(topicid) AS count FROM ' . $SETTINGS['dbtableprefix'] . 'topics'); 
    310315            $row = $q->fetchObject(); 
     316            $q->closeCursor(); 
    311317            $_str .= $row->count . ' ' . $LANG['threads'] . '.</div>'; 
    312318            // put into table 
     
    326332            $q->execute(); 
    327333            $_admin = $q->fetchColumn(); 
     334            $q->closeCursor(); 
    328335        } 
    329336        // debugging output 
     
    349356        $q->execute(); 
    350357        if ($q->fetchColumn() >= 1) { 
     358            $q->closeCursor(); 
    351359            // get the oldest one 
    352360            $q = $C->prepare('SELECT * FROM ' . $SETTINGS['dbtableprefix'] . 'mails ORDER BY id ASC LIMIT 0,1'); 
    353361            $q->execute(); 
    354362            $row = $q->fetchObject(); 
     363            $q->closeCursor(); 
    355364            // send it 
    356365            @mail($row->receipient, $row->subject, $row->body, 'From: '.$SETTINGS['forumadminemail']); 
     
    359368            $q->bindParam(':id', $row->id, PDO::PARAM_INT, 12); 
    360369            $q->execute(); 
     370        } else { 
     371            $q->closeCursor(); 
    361372        } 
    362373        // private message notification 
     
    367378            $q->execute(); 
    368379            $_flag = $q->fetchColumn(); 
     380            $q->closeCursor(); 
    369381            if ($_flag == 1) { 
    370382                // check if there are message which the user hasn't been notified of yet 
     
    374386                $q->execute(); 
    375387                if ($row = $q->fetchObject()) { 
     388                    $q->closeCursor(); 
    376389                    // set 'notified' flag so that user isn't nagged on every page load 
    377390                    $q2 = $C->prepare('UPDATE '.$SETTINGS['dbtableprefix'].'messages SET messagereceipientflag=:two WHERE messageid=:id'); 
     
    390403                    // add notification script 
    391404                    $this->html->body->addChild('script', "if (confirm('" . str_replace("%count%", $count, $LANG['x_unread_messages']) . "')) { window.location.href = '" . $F->link("messenger") . "action=inbox' }"); 
     405                } else { 
     406                    $q->closeCursor(); 
    392407                } 
    393408            } 
  • trunk/classes/pages/Register.php

    r11 r17  
    7979                            $ok = 0; 
    8080                        } 
     81                        $q->closeCursor(); 
    8182                        // if this has been set to be prevented, check if e-mail address already belongs to an account 
    8283                        if ($SETTINGS['severalaccountspermail'] == 0) { 
     
    8990                                $ok = 0; 
    9091                            } 
     92                            $q->closeCursor(); 
    9193                        } 
    9294                        // only proceed if all checks were successful 
     
    108110                            $q->bindParam(':member', $_member, PDO::PARAM_STR, 6); 
    109111                            $q->execute(); 
    110                             $q = $C->query('SELECT MAX(memberid) AS id FROM ' . $SETTINGS['dbtableprefix'] . 'members'); 
     112                            $q = $C->prepare('SELECT MAX(memberid) AS id FROM ' . $SETTINGS['dbtableprefix'] . 'members'); 
     113                            $q->execute(); 
    111114                            $row = $q->fetchObject(); 
     115                            $q->closeCursor(); 
    112116                            @$C->query('UNLOCK TABLE ' . $SETTINGS['dbtableprefix'] . 'members'); 
    113117                            // set actual password 
     
    118122                            $q->execute(); 
    119123                            $row2 = $q->fetchObject(); 
     124                            $q->closeCursor(); 
    120125                            $q = $C->prepare('INSERT INTO ' . $SETTINGS['dbtableprefix'] . 'groupmemberships (member, usergroup) VALUES (:member, :group)'); 
    121126                            $q->bindParam(':member', $row->id, PDO::PARAM_INT, 12); 
  • trunk/classes/pages/Reply.php

    r9 r17  
    4040            $q->execute(); 
    4141            $row = $q->fetchObject(); 
     42            $q->closeCursor(); 
    4243            $q2 = $C->prepare('SELECT forumtitle, forum_category FROM ' . $SETTINGS['dbtableprefix'] . 'forums WHERE forumid=:forum'); 
    4344            $q2->bindParam(':forum', $row->forum, PDO::PARAM_INT, 12); 
    4445            $q2->execute(); 
    4546            $row2 = $q2->fetchObject(); 
     47            $q2->closeCursor(); 
    4648            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $row->topictitle . ' - ' . $LANG['Reply']; 
    4749            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $row->forum . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('topic') . 'id=' . $id . '">' . $row->topictitle . '</a> - <a href="' . $F->link('reply') . 'id=' . $id . '">' . $LANG['Reply'] . '</a>'; 
     
    6668                    $q->execute(); 
    6769                    $row4 = $q->fetchObject(); 
     70                    $q->closeCursor(); 
    6871                    $_quote_text = '[quote]' . $F->htmlentities($row4->post, TRUE) . '[/quote]'; 
    6972                } 
     
    7982                        $subscribed = TRUE; 
    8083                    } 
     84                    $q->closeCursor(); 
    8185                } 
    8286                // form 
  • trunk/classes/pages/Search.php

    r1 r17  
    124124                            $q->execute(); 
    125125                            $_username = $q->fetchColumn(); 
     126                            $q->closeCursor(); 
    126127                            $query = 'SELECT p.postid, p.topic, p.poster, p.posttime, p.post, t.topictitle FROM ' . $SETTINGS['dbtableprefix'] . 'posts p, ' . $SETTINGS['dbtableprefix'] . 'topics t WHERE t.topicid=p.topic AND p.poster=:username AND p.postedbymember=1 %cond% ORDER BY p.posttime DESC'; 
    127128                        break; 
     
    169170                        $q->execute(); 
    170171                        $_num_results = $q->fetchColumn(0); 
     172                        $q->closeCursor(); 
    171173                        // build page navigation 
    172174                        $pages = new Pagination($SETTINGS['postsperpage'], $page, $_num_results); 
     
    211213                    } else { 
    212214                        // errors occured -> message 
     215                        $q->closeCursor(); 
    213216                        $this->html->body->addChild('div', $_error); 
    214217                    } 
  • trunk/classes/pages/Topic.php

    r1 r17  
    3838            $q->execute(); 
    3939            $row = $q->fetchObject(); 
     40            $q->closeCursor(); 
    4041        } 
    4142        // define title and location 
     
    4546            $q2->execute(); 
    4647            $row2 = $q2->fetchObject(); 
     48            $q2->closeCursor(); 
    4749            $this->title = ' - ' . Category::getName($row2->forum_category) . ' - ' . $row2->forumtitle . ' - ' . $row->topictitle; 
    4850            $this->location = ' - <a href="' . $F->link('category') . 'id=' . $row2->forum_category . '">' . Category::getName($row2->forum_category) . '</a> - <a href="' . $F->link('forum') . 'id=' . $row->forum . '">' . $row2->forumtitle . '</a> - <a href="' . $F->link('topic') . 'id=' . $id . '">' . $row->topictitle . '</a>'; 
     
    5961            $q->execute(); 
    6062            $row = $q->fetchObject(); 
     63            $q->closeCursor(); 
    6164            // update views 
    6265            $_newviews = $row->topic_views + 1; 
     
    7376            $q2->execute(); 
    7477            $row2 = $q2->fetchObject(); 
     78            $q2->closeCursor(); 
    7579            // calculate start for this page 
    7680            if (!isset($page) || $page == '') { $page = 1; } 
     
    9397                $q2->execute(); 
    9498                $row2 = $q2->fetchObject(); 
     99                $q2->closeCursor(); 
    95100                // check if logged in member already voted 
    96101                $pollvoters = split("\n", $row2->pollvoters); 
     
    230235        $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    231236        if ($q->execute()) { 
    232             return $q->fetchColumn(); 
     237            $_title = $q->fetchColumn(); 
     238            $q->closeCursor(); 
     239            return $_title; 
    233240        } else { 
    234241            return FALSE; 
  • trunk/classes/pages/Userpanel.php

    r9 r17  
    5757                            $s = $q->execute(); 
    5858                            if ($s && $row = $q->fetchObject()) { 
     59                                $q->closeCursor(); 
    5960                                // if member has been found 
    6061                                // check if old password is correct 
     
    7172                                            $q2->execute(); 
    7273                                            $row2 = $q2->fetchObject(); 
     74                                            $q2->closeCursor(); 
    7375                                            // encrypt user name and password 
    7476                                            $e = new Encryption(); 
     
    9496                            } else { 
    9597                                // member not found by id 
     98                                $q->closeCursor(); 
    9699                                $div = $this->html->body->addChild('div', $LANG['error_id']); 
    97100                                $div->addAttribute('class', 'message'); 
     
    114117                            if ($s && $row = $q->fetchObject()) { 
    115118                                // if member has been found 
     119                                $q->closeCursor(); 
    116120                                // check if old password is correct 
    117121                                if (Member::authenticate($row->membername, $password)) { 
     
    130134                            } else { 
    131135                                // member not found by id 
     136                                $q->closeCursor(); 
    132137                                $div = $this->html->body->addChild('div', $LANG['error_id']); 
    133138                                $div->addAttribute('class', 'message'); 
     
    182187                            $s = $q->execute(); 
    183188                            if ($s && $row = $q->fetchObject()) { 
     189                                $q->closeCursor(); 
    184190                                if ($user != $row->membername) { 
    185191                                    // update membername 
     
    224230                                // success 
    225231                                $output = $LANG['profile_updated']; 
    226                             } else { $output = $LANG['error_id']; } 
     232                            } else { 
     233                                $q->closeCursor(); 
     234                                $output = $LANG['error_id']; 
     235                            } 
    227236                        } else { $output = $LANG['error_mandatory']; } 
    228237                        $div = $this->html->body->addChild('div', $output); 
     
    280289                                    $q->bindParam(':id', $key, PDO::PARAM_INT, 12); 
    281290                                    if ($q->execute() && $q->fetchColumn() == 1) { 
     291                                        $q->closeCursor(); 
    282292                                        // it is a public group, so go ahead and insert 
    283293                                        $q2 = $C->prepare('INSERT INTO ' . $SETTINGS['dbtableprefix'] . 'groupmemberships (member, usergroup) VALUES (:member, :group)'); 
     
    285295                                        $q2->bindParam(':group', $key, PDO::PARAM_INT, 12); 
    286296                                        $q2->execute(); 
     297                                    } else { 
     298                                        $q->closeCursor(); 
    287299                                    } 
    288300                                } 
     
    527539                            $q2->execute(); 
    528540                            $row2 = $q2->fetchObject(); 
     541                            $q2->closeCursor(); 
    529542                            $form->addRawTableRow(Array($row2->topictitle . ' (' . $row2->forumtitle . ')', '<td><input type="checkbox" name="newsubscribed[' . $row->topic . ']" value="1" checked="checked" /></td>')); 
    530543                        } 
     
    541554                                $_col2 .= '<option value="' . $row['topicid'] . '">' . $row['topictitle'] . ' (' . $row['forumtitle'] . ')</option>'; 
    542555                            } 
     556                            $q2->closeCursor(); 
    543557                        } 
    544558                        $_col2 .= '</select></td>'; 
     
    571585                                    $_col2 .= ' checked="checked"'; 
    572586                                } 
     587                                $q3->closeCursor(); 
    573588                                $_col2 .= ' /></td>'; 
    574589                                $form->addRawTableRow(Array('<td>' . $row['name'] . '</td>', $_col2)); 
  • trunk/includes/login.php

    r3 r17  
    2828$q->execute(); 
    2929$row = $q->fetchObject(); 
     30$q->closeCursor(); 
    3031// delete old session entry in the online table 
    3132$q = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'online WHERE onlinesession=:session'); 
  • trunk/includes/session.php

    r6 r17  
    121121$s = $q->execute(); 
    122122if ($s && $q->fetchColumn() >= 1) { 
     123    $q->closeCursor(); 
    123124    // update existing entry with new timestamp 
    124125    $q = $C->prepare('UPDATE ' . $SETTINGS['dbtableprefix'] . 'online SET onlinetime=:time WHERE onlinesession=:session'); 
     
    127128    $q->execute(); 
    128129} else { 
     130    $q->closeCursor(); 
    129131    // check if returning user who has saved credentials in cookie 
    130132    if ($_COOKIE['sb_user'] != '') { 
     
    144146        if ($s && $row2 = $q2->fetchObject()) { 
    145147            // automatic login successful 
     148            $q2->closeCursor(); 
    146149            // regenerate ID in order to ensure privileged session hasn't been fixed in advance 
    147150            session_regenerate_id(); 
     
    203206        $s = $q2->execute(); 
    204207        if ($s && $row2 = $q2->fetchObject()) { 
     208            $q2->closeCursor(); 
    205209            // delete all but the newest one 
    206210            $q = $C->prepare('DELETE FROM ' . $SETTINGS['dbtableprefix'] . 'online WHERE onlinememberid=:memberid AND onlinetime<:time'); 
     
    208212            $q->bindParam(':time', $row2->onlinetime, PDO::PARAM_INT, 12); 
    209213            $q->execute(); 
     214        } else { 
     215            $q2->closeCursor(); 
    210216        } 
    211217    } 
  • trunk/redirectors/pollvote.php

    r8 r17  
    6262            $q->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    6363            $s = $q->execute(); 
     64            $row_q = $q->fetchAll(); 
     65            $q->closeCursor(); 
    6466            $q2 = $C->prepare('SELECT * FROM ' . $SETTINGS['dbtableprefix'] . 'polls WHERE pollid=:id'); 
    6567            $q2->bindParam(':id', $id, PDO::PARAM_INT, 12); 
    6668            $s2 = $q2->execute(); 
    6769            if ($s && $s2) { 
    68                 $row_title = $q->fetchColumn()
     70                $row_title = $row_q[0]['topictitle']
    6971                $row = $q2->fetchObject(); 
     72                $q2->closeCursor(); 
    7073                // heading 
    7174                $html->body->addChild('h2', $row_title); 
     
    103106                $a->addAttribute('href', 'javascript:self.close()'); 
    104107            } else { 
     108                $q2->closeCursor(); 
    105109                $div = $html->body->addChild('div', $LANG['error_id']); 
    106110                $div->addAttribute('class', 'message'); 
     
    120124            if ($q->execute()) { 
    121125                $row = $q->fetchObject(); 
     126                $q->closeCursor(); 
    122127                // check if logged in member already voted 
    123128                $pollvoters = split("\n", $row->pollvoters); 
     
    157162            } else { 
    158163                // call error 
     164                $q->closeCursor(); 
    159165                $div = $html->body->addChild('div', $LANG['error_id']); 
    160166                $div->addAttribute('class', 'message'); 
  • trunk/redirectors/preview.php

    r8 r17  
    7272            $row->postedbymember = 0; 
    7373        } 
     74        $q->closeCursor(); 
    7475    } else { 
    7576        // logged in 
  • trunk/redirectors/showip.php

    r8 r17  
    6060    $q->execute(); 
    6161    $_ip = $q->fetchColumn(); 
     62    $q->closeCursor(); 
    6263    // output 
    6364    $html->body->addChild('h2', $LANG['IP']);