金沙国际娱城平台-欢迎莅临金沙国际娱城平台

<big id="te8ri"><strike id="te8ri"><tt id="te8ri"></tt></strike></big><track id="te8ri"><ruby id="te8ri"></ruby></track>
<pre id="te8ri"></pre>

  • <acronym id="te8ri"><label id="te8ri"><xmp id="te8ri"></xmp></label></acronym>

      <p id="te8ri"></p>
      <pre id="te8ri"></pre>
              PunBB 1.3.5 to 1.3.6 changes Legend
        Lines removed 
        Lines changed
         Lines added

        punbb-1.3.5/admin/bans.php punbb-1.3.6/admin/bans.php
        383: 383: 
        384: // Setup the form384: // Setup the form
        385: $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;385: $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
        386: $forum_page['form_action'] = forum_link($forum_url['admin_bans']).'?action=more';386: $forum_page['form_action'] = forum_link($forum_url['admin_bans']).'&amp;action=more';
        387: 387: 
        388: $forum_page['hidden_fields'] = array(388: $forum_page['hidden_fields'] = array(
        389:     'csrf_token'    => '<input type="hidden" name="csrf_token" value="'.generate_form_token($forum_page['form_action']).'" />'389:     'csrf_token'    => '<input type="hidden" name="csrf_token" value="'.generate_form_token($forum_page['form_action']).'" />'
        527:                 <div class="ct-box">527:                 <div class="ct-box">
        528:                     <div class="ct-legend">528:                     <div class="ct-legend">
        529:                         <h3 class=""><span><?php printf($lang_admin_bans['Current ban head'], $forum_page['ban_creator']) ?></span></h3>529:                         <h3 class=""><span><?php printf($lang_admin_bans['Current ban head'], $forum_page['ban_creator']) ?></span></h3>
        530:                         <p><?php printf($lang_admin_bans['Edit or remove'], '<a href="'.forum_link($forum_url['admin_bans']).'?edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'?del_ban='.$cur_ban['id'].'&amp;csrf_token='.generate_form_token('del_ban'.$cur_ban['id']).'">'.$lang_admin_bans['Remove ban'].'</a>') ?></p>530:                         <p><?php printf($lang_admin_bans['Edit or remove'], '<a href="'.forum_link($forum_url['admin_bans']).'&amp;edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'&amp;del_ban='.$cur_ban['id'].'&amp;csrf_token='.generate_form_token('del_ban'.$cur_ban['id']).'">'.$lang_admin_bans['Remove ban'].'</a>') ?></p>
        531:                     </div>531:                     </div>
        532: <?php if (!empty($forum_page['ban_info'])): ?>532: <?php if (!empty($forum_page['ban_info'])): ?>
        533:                 <ul>533:                 <ul>


        punbb-1.3.5/admin/db_update.php punbb-1.3.6/admin/db_update.php
          4:  *  4:  *
          5:  * Updates the database to the latest version.  5:  * Updates the database to the latest version.
          6:  *  6:  *
          7:  * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org
          8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
          9:  * @package PunBB  9:  * @package PunBB
         10:  */ 10:  */
         11:  11: 
         12:  12: 
         13: define('UPDATE_TO', '1.3.5'); 13: define('UPDATE_TO', '1.3.6');
         14: define('UPDATE_TO_DB_REVISION', 4); 14: define('UPDATE_TO_DB_REVISION', 4);
         15:  15: 
         16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion) 16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion)


        punbb-1.3.5/admin/install.php punbb-1.3.6/admin/install.php
         10:  */ 10:  */
         11:  11: 
         12:  12: 
         13: define('FORUM_VERSION', '1.3.5'); 13: define('FORUM_VERSION', '1.3.6');
         14: define('FORUM_DB_REVISION', 4); 14: define('FORUM_DB_REVISION', 4);
         15: define('MIN_PHP_VERSION', '4.3.0'); 15: define('MIN_PHP_VERSION', '4.3.0');
         16: define('MIN_MYSQL_VERSION', '4.1.2'); 16: define('MIN_MYSQL_VERSION', '4.1.2');


        punbb-1.3.5/include/dblayer/mysqli_innodb.php punbb-1.3.6/include/dblayer/mysqli_innodb.php
           1: <?php
           2: /**
           3:  * A database layer class supporting transactions that relies on the MySQLi PHP extension.
           4:  *
           5:  * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
           6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
           7:  * @package PunBB
           8:  */
           9: 
          10: 
          11: // Make sure we have built in support for MySQL
          12: if (!function_exists('mysqli_connect'))
          13:     exit('This PHP environment doesn\'t have Improved MySQL (mysqli) support built in. Improved MySQL support is required if you want to use a MySQL 4.1 (or later) database to run this forum. Consult the PHP documentation for further assistance.');
          14: 
          15: 
          16: class DBLayer
          17: {
          18:     var $prefix;
          19:     var $link_id;
          20:     var $query_result;
          21: 
          22:     var $saved_queries = array();
          23:     var $num_queries = 0;
          24:     var $in_transaction = 0;
          25: 
          26:     var $datatype_transformations = array(
          27:         '/^SERIAL$/'    =>    'INT(10) UNSIGNED AUTO_INCREMENT'
          28:     );
          29: 
          30: 
          31:     function DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $foo)
          32:     {
          33:         $this->prefix = $db_prefix;
          34: 
          35:         // Was a custom port supplied with $db_host?
          36:         if (strpos($db_host, ':') !== false)
          37:             list($db_host, $db_port) = explode(':', $db_host);
          38: 
          39:         if (isset($db_port))
          40:             $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name, $db_port);
          41:         else
          42:             $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name);
          43: 
          44:         if (!$this->link_id)
          45:             error('Unable to connect to MySQL and select database. MySQL reported: '.mysqli_connect_error(), __FILE__, __LINE__);
          46: 
          47:         // Setup the client-server character set (UTF-8)
          48:         if (!defined('FORUM_NO_SET_NAMES'))
          49:             $this->set_names('utf8');
          50: 
          51:         return $this->link_id;
          52:     }
          53: 
          54: 
          55:     function start_transaction()
          56:     {
          57:         ++$this->in_transaction;
          58: 
          59:         mysqli_query($this->link_id, 'START TRANSACTION');
          60:         return;
          61:     }
          62: 
          63: 
          64:     function end_transaction()
          65:     {
          66:         --$this->in_transaction;
          67: 
          68:         mysqli_query($this->link_id, 'COMMIT');
          69:         return;
          70:     }
          71: 
          72: 
          73:     function query($sql, $unbuffered = false)
          74:     {
          75:         if (strlen($sql) > 140000)
          76:             exit('Insane query. Aborting.');
          77: 
          78:         if (defined('FORUM_SHOW_QUERIES'))
          79:             $q_start = get_microtime();
          80: 
          81:         $this->query_result = @mysqli_query($this->link_id, $sql);
          82: 
          83:         if ($this->query_result)
          84:         {
          85:             if (defined('FORUM_SHOW_QUERIES'))
          86:                 $this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
          87: 
          88:             ++$this->num_queries;
          89: 
          90:             return $this->query_result;
          91:         }
          92:         else
          93:         {
          94:             if (defined('FORUM_SHOW_QUERIES'))
          95:                 $this->saved_queries[] = array($sql, 0);
          96: 
          97:             // Rollback transaction
          98:             if ($this->in_transaction)
          99:                 mysqli_query($this->link_id, 'ROLLBACK');
         100: 
         101:             --$this->in_transaction;
         102: 
         103:             return false;
         104:         }
         105:     }
         106: 
         107: 
         108:     function result($query_id = 0, $row = 0, $col = 0)
         109:     {
         110:         if ($query_id)
         111:         {
         112:             if ($row)
         113:                 @mysqli_data_seek($query_id, $row);
         114: 
         115:             $cur_row = @mysqli_fetch_row($query_id);
         116:             return $cur_row[$col];
         117:         }
         118:         else
         119:             return false;
         120:     }
         121: 
         122: 
         123:     function fetch_assoc($query_id = 0)
         124:     {
         125:         return ($query_id) ? @mysqli_fetch_assoc($query_id) : false;
         126:     }
         127: 
         128: 
         129:     function fetch_row($query_id = 0)
         130:     {
         131:         return ($query_id) ? @mysqli_fetch_row($query_id) : false;
         132:     }
         133: 
         134: 
         135:     function num_rows($query_id = 0)
         136:     {
         137:         return ($query_id) ? @mysqli_num_rows($query_id) : false;
         138:     }
         139: 
         140: 
         141:     function affected_rows()
         142:     {
         143:         return ($this->link_id) ? @mysqli_affected_rows($this->link_id) : false;
         144:     }
         145: 
         146: 
         147:     function insert_id()
         148:     {
         149:         return ($this->link_id) ? @mysqli_insert_id($this->link_id) : false;
         150:     }
         151: 
         152: 
         153:     function get_num_queries()
         154:     {
         155:         return $this->num_queries;
         156:     }
         157: 
         158: 
         159:     function get_saved_queries()
         160:     {
         161:         return $this->saved_queries;
         162:     }
         163: 
         164: 
         165:     function free_result($query_id = false)
         166:     {
         167:         return ($query_id) ? @mysqli_free_result($query_id) : false;
         168:     }
         169: 
         170: 
         171:     function escape($str)
         172:     {
         173:         return is_array($str) ? '' : mysqli_real_escape_string($this->link_id, $str);
         174:     }
         175: 
         176: 
         177:     function error()
         178:     {
         179:         $result['error_sql'] = @current(@end($this->saved_queries));
         180:         $result['error_no'] = @mysqli_errno($this->link_id);
         181:         $result['error_msg'] = @mysqli_error($this->link_id);
         182: 
         183:         return $result;
         184:     }
         185: 
         186: 
         187:     function close()
         188:     {
         189:         if ($this->link_id)
         190:         {
         191:             if ($this->query_result)
         192:                 @mysqli_free_result($this->query_result);
         193: 
         194:             return @mysqli_close($this->link_id);
         195:         }
         196:         else
         197:             return false;
         198:     }
         199: 
         200: 
         201:     function set_names($names)
         202:     {
         203:         return $this->query('SET NAMES \''.$this->escape($names).'\'');
         204:     }
         205: 
         206: 
         207:     function get_version()
         208:     {
         209:         $result = $this->query('SELECT VERSION()');
         210: 
         211:         return array(
         212:             'name'        => 'MySQL Improved (InnoDB)',
         213:             'version'    => preg_replace('/^([^-]+).*$/', '\\1', $this->result($result))
         214:         );
         215:     }
         216: 
         217: 
         218:     function table_exists($table_name, $no_prefix = false)
         219:     {
         220:         $result = $this->query('SHOW TABLES LIKE \''.($no_prefix ? '' : $this->prefix).$this->escape($table_name).'\'');
         221:         return $this->num_rows($result) > 0;
         222:     }
         223: 
         224: 
         225:     function field_exists($table_name, $field_name, $no_prefix = false)
         226:     {
         227:         $result = $this->query('SHOW COLUMNS FROM '.($no_prefix ? '' : $this->prefix).$table_name.' LIKE \''.$this->escape($field_name).'\'');
         228:         return $this->num_rows($result) > 0;
         229:     }
         230: 
         231: 
         232:     function index_exists($table_name, $index_name, $no_prefix = false)
         233:     {
         234:         $exists = false;
         235: 
         236:         $result = $this->query('SHOW INDEX FROM '.($no_prefix ? '' : $this->prefix).$table_name);
         237:         while ($cur_index = $this->fetch_assoc($result))
         238:         {
         239:             if ($cur_index['Key_name'] == ($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name)
         240:             {
         241:                 $exists = true;
         242:                 break;
         243:             }
         244:         }
         245: 
         246:         return $exists;
         247:     }
         248: 
         249: 
         250:     function create_table($table_name, $schema, $no_prefix = false)
         251:     {
         252:         if ($this->table_exists($table_name, $no_prefix))
         253:             return;
         254: 
         255:         $query = 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$table_name." (\n";
         256: 
         257:         // Go through every schema element and add it to the query
         258:         foreach ($schema['FIELDS'] as $field_name => $field_data)
         259:         {
         260:             $field_data['datatype'] = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_data['datatype']);
         261: 
         262:             $query .= $field_name.' '.$field_data['datatype'];
         263: 
         264:             if (isset($field_data['collation']))
         265:                 $query .= 'CHARACTER SET utf8 COLLATE utf8_'.$field_data['collation'];
         266: 
         267:             if (!$field_data['allow_null'])
         268:                 $query .= ' NOT NULL';
         269: 
         270:             if (isset($field_data['default']))
         271:                 $query .= ' DEFAULT '.$field_data['default'];
         272: 
         273:             $query .= ",\n";
         274:         }
         275: 
         276:         // If we have a primary key, add it
         277:         if (isset($schema['PRIMARY KEY']))
         278:             $query .= 'PRIMARY KEY ('.implode(',', $schema['PRIMARY KEY']).'),'."\n";
         279: 
         280:         // Add unique keys
         281:         if (isset($schema['UNIQUE KEYS']))
         282:         {
         283:             foreach ($schema['UNIQUE KEYS'] as $key_name => $key_fields)
         284:                 $query .= 'UNIQUE KEY '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$key_name.'('.implode(',', $key_fields).'),'."\n";
         285:         }
         286: 
         287:         // Add indexes
         288:         if (isset($schema['INDEXES']))
         289:         {
         290:             foreach ($schema['INDEXES'] as $index_name => $index_fields)
         291:                 $query .= 'KEY '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name.'('.implode(',', $index_fields).'),'."\n";
         292:         }
         293: 
         294:         // We remove the last two characters (a newline and a comma) and add on the ending
         295:         $query = substr($query, 0, strlen($query) - 2)."\n".') ENGINE = '.(isset($schema['ENGINE']) ? $schema['ENGINE'] : 'InnoDB').' CHARACTER SET utf8';
         296: 
         297:         $this->query($query) or error(__FILE__, __LINE__);
         298:     }
         299: 
         300: 
         301:     function drop_table($table_name, $no_prefix = false)
         302:     {
         303:         if (!$this->table_exists($table_name, $no_prefix))
         304:             return;
         305: 
         306:         $this->query('DROP TABLE '.($no_prefix ? '' : $this->prefix).$table_name) or error(__FILE__, __LINE__);
         307:     }
         308: 
         309: 
         310:     function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
         311:     {
         312:         if ($this->field_exists($table_name, $field_name, $no_prefix))
         313:             return;
         314: 
         315:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);
         316: 
         317:         if ($default_value !== null && !is_int($default_value) && !is_float($default_value))
         318:             $default_value = '\''.$this->escape($default_value).'\'';
         319: 
         320:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').($default_value !== null ? ' DEFAULT '.$default_value : ' ').($after_field != null ? ' AFTER '.$after_field : '')) or error(__FILE__, __LINE__);
         321:     }
         322: 
         323: 
         324:     function alter_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
         325:     {
         326:         if (!$this->field_exists($table_name, $field_name, $no_prefix))
         327:             return;
         328: 
         329:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);
         330: 
         331:         if ($default_value !== null && !is_int($default_value) && !is_float($default_value))
         332:             $default_value = '\''.$this->escape($default_value).'\'';
         333: 
         334:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').($default_value !== null ? ' DEFAULT '.$default_value : ' ').($after_field != null ? ' AFTER '.$after_field : '')) or error(__FILE__, __LINE__);
         335:     }
         336: 
         337: 
         338:     function drop_field($table_name, $field_name, $no_prefix = false)
         339:     {
         340:         if (!$this->field_exists($table_name, $field_name, $no_prefix))
         341:             return;
         342: 
         343:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' DROP '.$field_name) or error(__FILE__, __LINE__);
         344:     }
         345: 
         346: 
         347:     function add_index($table_name, $index_name, $index_fields, $unique = false, $no_prefix = false)
         348:     {
         349:         if ($this->index_exists($table_name, $index_name, $no_prefix))
         350:             return;
         351: 
         352:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.($unique ? 'UNIQUE ' : '').'INDEX '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name.' ('.implode(',', $index_fields).')') or error(__FILE__, __LINE__);
         353:     }
         354: 
         355: 
         356:     function drop_index($table_name, $index_name, $no_prefix = false)
         357:     {
         358:         if (!$this->index_exists($table_name, $index_name, $no_prefix))
         359:             return;
         360: 
         361:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' DROP INDEX '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name) or error(__FILE__, __LINE__);
         362:     }
         363: }


        punbb-1.3.5/include/dblayer/mysql_innodb.php punbb-1.3.6/include/dblayer/mysql_innodb.php
           1: <?php
           2: /**
           3:  * A database layer class supporting transactions that relies on the MySQL PHP extension.
           4:  *
           5:  * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org
           6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
           7:  * @package PunBB
           8:  */
           9: 
          10: 
          11: // Make sure we have built in support for MySQL
          12: if (!function_exists('mysql_connect'))
          13:     exit('This PHP environment doesn\'t have MySQL support built in. MySQL support is required if you want to use a MySQL database to run this forum. Consult the PHP documentation for further assistance.');
          14: 
          15: 
          16: class DBLayer
          17: {
          18:     var $prefix;
          19:     var $link_id;
          20:     var $query_result;
          21:     var $in_transaction = 0;
          22: 
          23:     var $saved_queries = array();
          24:     var $num_queries = 0;
          25: 
          26:     var $datatype_transformations = array(
          27:         '/^SERIAL$/'    =>    'INT(10) UNSIGNED AUTO_INCREMENT'
          28:     );
          29: 
          30: 
          31:     function DBLayer($db_host, $db_username, $db_password, $db_name, $db_prefix, $p_connect)
          32:     {
          33:         $this->prefix = $db_prefix;
          34: 
          35:         if ($p_connect)
          36:             $this->link_id = @mysql_pconnect($db_host, $db_username, $db_password);
          37:         else
          38:             $this->link_id = @mysql_connect($db_host, $db_username, $db_password);
          39: 
          40:         if ($this->link_id)
          41:         {
          42:             if (!@mysql_select_db($db_name, $this->link_id))
          43:                 error('Unable to select database. MySQL reported: '.mysql_error(), __FILE__, __LINE__);
          44:         }
          45:         else
          46:             error('Unable to connect to MySQL server. MySQL reported: '.mysql_error(), __FILE__, __LINE__);
          47: 
          48:         // Setup the client-server character set (UTF-8)
          49:         if (!defined('FORUM_NO_SET_NAMES'))
          50:             $this->set_names('utf8');
          51: 
          52:         return $this->link_id;
          53:     }
          54: 
          55: 
          56:     function start_transaction()
          57:     {
          58:         ++$this->in_transaction;
          59: 
          60:         mysql_query('START TRANSACTION', $this->link_id);
          61:         return;
          62:     }
          63: 
          64: 
          65:     function end_transaction()
          66:     {
          67:         --$this->in_transaction;
          68: 
          69:         mysql_query('COMMIT', $this->link_id);
          70:         return;
          71:     }
          72: 
          73: 
          74:     function query($sql, $unbuffered = false)
          75:     {
          76:         if (strlen($sql) > 140000)
          77:             exit('Insane query. Aborting.');
          78: 
          79:         if (defined('FORUM_SHOW_QUERIES'))
          80:             $q_start = get_microtime();
          81: 
          82:         if ($unbuffered)
          83:             $this->query_result = @mysql_unbuffered_query($sql, $this->link_id);
          84:         else
          85:             $this->query_result = @mysql_query($sql, $this->link_id);
          86: 
          87:         if ($this->query_result)
          88:         {
          89:             if (defined('FORUM_SHOW_QUERIES'))
          90:                 $this->saved_queries[] = array($sql, sprintf('%.5f', get_microtime() - $q_start));
          91: 
          92:             ++$this->num_queries;
          93: 
          94:             return $this->query_result;
          95:         }
          96:         else
          97:         {
          98:             if (defined('FORUM_SHOW_QUERIES'))
          99:                 $this->saved_queries[] = array($sql, 0);
         100: 
         101:             // Rollback transaction
         102:             if ($this->in_transaction)
         103:                 mysql_query('ROLLBACK', $this->link_id);
         104: 
         105:             --$this->in_transaction;
         106: 
         107:             return false;
         108:         }
         109:     }
         110: 
         111: 
         112:     function result($query_id = 0, $row = 0, $col = 0)
         113:     {
         114:         return ($query_id) ? @mysql_result($query_id, $row, $col) : false;
         115:     }
         116: 
         117: 
         118:     function fetch_assoc($query_id = 0)
         119:     {
         120:         return ($query_id) ? @mysql_fetch_assoc($query_id) : false;
         121:     }
         122: 
         123: 
         124:     function fetch_row($query_id = 0)
         125:     {
         126:         return ($query_id) ? @mysql_fetch_row($query_id) : false;
         127:     }
         128: 
         129: 
         130:     function num_rows($query_id = 0)
         131:     {
         132:         return ($query_id) ? @mysql_num_rows($query_id) : false;
         133:     }
         134: 
         135: 
         136:     function affected_rows()
         137:     {
         138:         return ($this->link_id) ? @mysql_affected_rows($this->link_id) : false;
         139:     }
         140: 
         141: 
         142:     function insert_id()
         143:     {
         144:         return ($this->link_id) ? @mysql_insert_id($this->link_id) : false;
         145:     }
         146: 
         147: 
         148:     function get_num_queries()
         149:     {
         150:         return $this->num_queries;
         151:     }
         152: 
         153: 
         154:     function get_saved_queries()
         155:     {
         156:         return $this->saved_queries;
         157:     }
         158: 
         159: 
         160:     function free_result($query_id = false)
         161:     {
         162:         return ($query_id) ? @mysql_free_result($query_id) : false;
         163:     }
         164: 
         165: 
         166:     function escape($str)
         167:     {
         168:         if (is_array($str))
         169:             return '';
         170:         else if (function_exists('mysql_real_escape_string'))
         171:             return mysql_real_escape_string($str, $this->link_id);
         172:         else
         173:             return mysql_escape_string($str);
         174:     }
         175: 
         176: 
         177:     function error()
         178:     {
         179:         $result['error_sql'] = @current(@end($this->saved_queries));
         180:         $result['error_no'] = @mysql_errno($this->link_id);
         181:         $result['error_msg'] = @mysql_error($this->link_id);
         182: 
         183:         return $result;
         184:     }
         185: 
         186: 
         187:     function close()
         188:     {
         189:         if ($this->link_id)
         190:         {
         191:             if ($this->query_result)
         192:                 @mysql_free_result($this->query_result);
         193: 
         194:             return @mysql_close($this->link_id);
         195:         }
         196:         else
         197:             return false;
         198:     }
         199: 
         200: 
         201:     function set_names($names)
         202:     {
         203:         return $this->query('SET NAMES \''.$this->escape($names).'\'');
         204:     }
         205: 
         206: 
         207:     function get_version()
         208:     {
         209:         $result = $this->query('SELECT VERSION()');
         210: 
         211:         return array(
         212:             'name'        => 'MySQL Standard (InnoDB)',
         213:             'version'    => preg_replace('/^([^-]+).*$/', '\\1', $this->result($result))
         214:         );
         215:     }
         216: 
         217: 
         218:     function table_exists($table_name, $no_prefix = false)
         219:     {
         220:         $result = $this->query('SHOW TABLES LIKE \''.($no_prefix ? '' : $this->prefix).$this->escape($table_name).'\'');
         221:         return $this->num_rows($result) > 0;
         222:     }
         223: 
         224: 
         225:     function field_exists($table_name, $field_name, $no_prefix = false)
         226:     {
         227:         $result = $this->query('SHOW COLUMNS FROM '.($no_prefix ? '' : $this->prefix).$table_name.' LIKE \''.$this->escape($field_name).'\'');
         228:         return $this->num_rows($result) > 0;
         229:     }
         230: 
         231: 
         232:     function index_exists($table_name, $index_name, $no_prefix = false)
         233:     {
         234:         $exists = false;
         235: 
         236:         $result = $this->query('SHOW INDEX FROM '.($no_prefix ? '' : $this->prefix).$table_name);
         237:         while ($cur_index = $this->fetch_assoc($result))
         238:         {
         239:             if ($cur_index['Key_name'] == ($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name)
         240:             {
         241:                 $exists = true;
         242:                 break;
         243:             }
         244:         }
         245: 
         246:         return $exists;
         247:     }
         248: 
         249: 
         250:     function create_table($table_name, $schema, $no_prefix = false)
         251:     {
         252:         if ($this->table_exists($table_name, $no_prefix))
         253:             return;
         254: 
         255:         $query = 'CREATE TABLE '.($no_prefix ? '' : $this->prefix).$table_name." (\n";
         256: 
         257:         // Go through every schema element and add it to the query
         258:         foreach ($schema['FIELDS'] as $field_name => $field_data)
         259:         {
         260:             $field_data['datatype'] = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_data['datatype']);
         261: 
         262:             $query .= $field_name.' '.$field_data['datatype'];
         263: 
         264:             if (isset($field_data['collation']))
         265:                 $query .= 'CHARACTER SET utf8 COLLATE utf8_'.$field_data['collation'];
         266: 
         267:             if (!$field_data['allow_null'])
         268:                 $query .= ' NOT NULL';
         269: 
         270:             if (isset($field_data['default']))
         271:                 $query .= ' DEFAULT '.$field_data['default'];
         272: 
         273:             $query .= ",\n";
         274:         }
         275: 
         276:         // If we have a primary key, add it
         277:         if (isset($schema['PRIMARY KEY']))
         278:             $query .= 'PRIMARY KEY ('.implode(',', $schema['PRIMARY KEY']).'),'."\n";
         279: 
         280:         // Add unique keys
         281:         if (isset($schema['UNIQUE KEYS']))
         282:         {
         283:             foreach ($schema['UNIQUE KEYS'] as $key_name => $key_fields)
         284:                 $query .= 'UNIQUE KEY '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$key_name.'('.implode(',', $key_fields).'),'."\n";
         285:         }
         286: 
         287:         // Add indexes
         288:         if (isset($schema['INDEXES']))
         289:         {
         290:             foreach ($schema['INDEXES'] as $index_name => $index_fields)
         291:                 $query .= 'KEY '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name.'('.implode(',', $index_fields).'),'."\n";
         292:         }
         293: 
         294:         // We remove the last two characters (a newline and a comma) and add on the ending
         295:         $query = substr($query, 0, strlen($query) - 2)."\n".') ENGINE = '.(isset($schema['ENGINE']) ? $schema['ENGINE'] : 'InnoDB').' CHARACTER SET utf8';
         296: 
         297:         $this->query($query) or error(__FILE__, __LINE__);
         298:     }
         299: 
         300: 
         301:     function drop_table($table_name, $no_prefix = false)
         302:     {
         303:         if (!$this->table_exists($table_name, $no_prefix))
         304:             return;
         305: 
         306:         $this->query('DROP TABLE '.($no_prefix ? '' : $this->prefix).$table_name) or error(__FILE__, __LINE__);
         307:     }
         308: 
         309: 
         310:     function add_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
         311:     {
         312:         if ($this->field_exists($table_name, $field_name, $no_prefix))
         313:             return;
         314: 
         315:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);
         316: 
         317:         if ($default_value !== null && !is_int($default_value) && !is_float($default_value))
         318:             $default_value = '\''.$this->escape($default_value).'\'';
         319: 
         320:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').($default_value !== null ? ' DEFAULT '.$default_value : ' ').($after_field != null ? ' AFTER '.$after_field : '')) or error(__FILE__, __LINE__);
         321:     }
         322: 
         323: 
         324:     function alter_field($table_name, $field_name, $field_type, $allow_null, $default_value = null, $after_field = null, $no_prefix = false)
         325:     {
         326:         if (!$this->field_exists($table_name, $field_name, $no_prefix))
         327:             return;
         328: 
         329:         $field_type = preg_replace(array_keys($this->datatype_transformations), array_values($this->datatype_transformations), $field_type);
         330: 
         331:         if ($default_value !== null && !is_int($default_value) && !is_float($default_value))
         332:             $default_value = '\''.$this->escape($default_value).'\'';
         333: 
         334:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' MODIFY '.$field_name.' '.$field_type.($allow_null ? ' ' : ' NOT NULL').($default_value !== null ? ' DEFAULT '.$default_value : ' ').($after_field != null ? ' AFTER '.$after_field : '')) or error(__FILE__, __LINE__);
         335:     }
         336: 
         337: 
         338:     function drop_field($table_name, $field_name, $no_prefix = false)
         339:     {
         340:         if (!$this->field_exists($table_name, $field_name, $no_prefix))
         341:             return;
         342: 
         343:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' DROP '.$field_name) or error(__FILE__, __LINE__);
         344:     }
         345: 
         346: 
         347:     function add_index($table_name, $index_name, $index_fields, $unique = false, $no_prefix = false)
         348:     {
         349:         if ($this->index_exists($table_name, $index_name, $no_prefix))
         350:             return;
         351: 
         352:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' ADD '.($unique ? 'UNIQUE ' : '').'INDEX '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name.' ('.implode(',', $index_fields).')') or error(__FILE__, __LINE__);
         353:     }
         354: 
         355: 
         356:     function drop_index($table_name, $index_name, $no_prefix = false)
         357:     {
         358:         if (!$this->index_exists($table_name, $index_name, $no_prefix))
         359:             return;
         360: 
         361:         $this->query('ALTER TABLE '.($no_prefix ? '' : $this->prefix).$table_name.' DROP INDEX '.($no_prefix ? '' : $this->prefix).$table_name.'_'.$index_name) or error(__FILE__, __LINE__);
         362:     }
         363: }


        punbb-1.3.5/include/functions.php punbb-1.3.6/include/functions.php
          2: /**  2: /**
          3:  * Loads common functions used throughout the site.  3:  * Loads common functions used throughout the site.
          4:  *  4:  *
          5:  * @copyright (C) 2008-2009 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org
          6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
          7:  * @package PunBB  7:  * @package PunBB
          8:  */  8:  */
        2672:         <div class="ct-box info-box">2672:         <div class="ct-box info-box">
        2673:             <p><?php echo $lang_common['CSRF token mismatch'] ?></p>2673:             <p><?php echo $lang_common['CSRF token mismatch'] ?></p>
        2674:         </div>2674:         </div>
        2675:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">2675:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_htmlencode($forum_page['form_action']) ?>">
        2676:             <div class="hidden">2676:             <div class="hidden">
        2677:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>2677:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>
        2678:             </div>2678:             </div>


        punbb-1.3.5/profile.php punbb-1.3.6/profile.php
        847: 847: 
        848:     ($hook = get_hook('pf_ban_user_selected')) ? eval($hook) : null;848:     ($hook = get_hook('pf_ban_user_selected')) ? eval($hook) : null;
        849: 849: 
        850:     redirect(forum_link($forum_url['admin_bans']).'?add_ban='.$id, $lang_profile['Ban redirect']);850:     redirect(forum_link($forum_url['admin_bans']).'&amp;add_ban='.$id, $lang_profile['Ban redirect']);
        851: }851: }
        852: 852: 
        853: 853: 
        2314: 2314: 
        2315: ?>2315: ?>
        2316:         <div class="ct-box error-box">2316:         <div class="ct-box error-box">
        2317:             <h2 class="warn hn"><?php echo $lang_profile['Profile update errors'] ?></h3>2317:             <h2 class="warn hn"><?php echo $lang_profile['Profile update errors'] ?></h2>
        2318:             <ul class="error-list">2318:             <ul class="error-list">
        2319:                 <?php echo implode("\n\t\t\t\t\t", $forum_page['errors'])."\n" ?>2319:                 <?php echo implode("\n\t\t\t\t\t", $forum_page['errors'])."\n" ?>
        2320:             </ul>2320:             </ul>
        2519:         $forum_page['user_management'] = array();2519:         $forum_page['user_management'] = array();
        2520: 2520: 
        2521:         if ($forum_user['g_moderator'] == '1')2521:         if ($forum_user['g_moderator'] == '1')
        2522:             $forum_page['user_management']['ban'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Ban user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['admin_bans']).'?add_ban='.$id.'">'.$lang_profile['Ban user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';2522:             $forum_page['user_management']['ban'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Ban user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['admin_bans']).'&amp;add_ban='.$id.'">'.$lang_profile['Ban user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';
        2523:         else if ($forum_user['g_moderator'] != '1' && $user['g_id'] != FORUM_ADMIN )2523:         else if ($forum_user['g_moderator'] != '1' && $user['g_id'] != FORUM_ADMIN )
        2524:         {2524:         {
        2525:             $forum_page['user_management']['ban'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Ban user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['admin_bans']).'?add_ban='.$id.'">'.$lang_profile['Ban user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';2525:             $forum_page['user_management']['ban'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Ban user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['admin_bans']).'&amp;add_ban='.$id.'">'.$lang_profile['Ban user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';
        2526:             $forum_page['user_management']['delete'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Delete user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['delete_user'], $id).'">'.$lang_profile['Delete user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';2526:             $forum_page['user_management']['delete'] = '<div class="ct-set set'.++$forum_page['item_count'].'">'."\n\t\t\t\t".'<div class="ct-box">'."\n\t\t\t\t\t".'<h3 class="ct-legend hn">'.$lang_profile['Delete user'].'</h3>'."\n\t\t\t\t".'<p><a href="'.forum_link($forum_url['delete_user'], $id).'">'.$lang_profile['Delete user info'].'</a></p>'."\n\t\t\t\t".'</div>'."\n\t\t\t".'</div>';
        2527:         }2527:         }
        2528: 2528: 


        hdiff - version: 2.1.0 (modified)

        金沙国际娱城平台