├── composer.json
├── system
├── fonts
│ ├── texb.ttf
│ └── index.html
├── .htaccess
├── index.html
├── core
│ ├── index.html
│ ├── compat
│ │ └── index.html
│ ├── Model.php
│ ├── Controller.php
│ └── Benchmark.php
├── database
│ ├── index.html
│ └── drivers
│ │ ├── index.html
│ │ ├── cubrid
│ │ ├── index.html
│ │ └── cubrid_utility.php
│ │ ├── ibase
│ │ ├── index.html
│ │ ├── ibase_utility.php
│ │ └── ibase_result.php
│ │ ├── mssql
│ │ ├── index.html
│ │ ├── mssql_utility.php
│ │ └── mssql_forge.php
│ │ ├── mysql
│ │ └── index.html
│ │ ├── mysqli
│ │ └── index.html
│ │ ├── oci8
│ │ ├── index.html
│ │ └── oci8_utility.php
│ │ ├── odbc
│ │ ├── index.html
│ │ ├── odbc_utility.php
│ │ └── odbc_forge.php
│ │ ├── pdo
│ │ ├── index.html
│ │ ├── subdrivers
│ │ │ ├── index.html
│ │ │ ├── pdo_odbc_forge.php
│ │ │ ├── pdo_ibm_forge.php
│ │ │ ├── pdo_dblib_forge.php
│ │ │ └── pdo_sqlsrv_forge.php
│ │ ├── pdo_forge.php
│ │ └── pdo_utility.php
│ │ ├── sqlite
│ │ ├── index.html
│ │ ├── sqlite_utility.php
│ │ └── sqlite_result.php
│ │ ├── sqlsrv
│ │ ├── index.html
│ │ ├── sqlsrv_utility.php
│ │ └── sqlsrv_forge.php
│ │ ├── postgre
│ │ ├── index.html
│ │ └── postgre_utility.php
│ │ └── sqlite3
│ │ ├── index.html
│ │ └── sqlite3_utility.php
├── helpers
│ ├── index.html
│ ├── language_helper.php
│ ├── email_helper.php
│ ├── path_helper.php
│ ├── xml_helper.php
│ ├── number_helper.php
│ ├── typography_helper.php
│ ├── directory_helper.php
│ ├── array_helper.php
│ ├── cookie_helper.php
│ └── security_helper.php
├── language
│ ├── index.html
│ └── english
│ │ ├── index.html
│ │ ├── number_lang.php
│ │ ├── pagination_lang.php
│ │ ├── migration_lang.php
│ │ ├── unit_test_lang.php
│ │ ├── profiler_lang.php
│ │ ├── ftp_lang.php
│ │ ├── calendar_lang.php
│ │ ├── upload_lang.php
│ │ ├── email_lang.php
│ │ ├── imglib_lang.php
│ │ ├── db_lang.php
│ │ └── form_validation_lang.php
└── libraries
│ ├── index.html
│ ├── Cache
│ ├── index.html
│ └── drivers
│ │ └── index.html
│ ├── Session
│ ├── index.html
│ ├── drivers
│ │ └── index.html
│ └── SessionHandlerInterface.php
│ └── Javascript
│ └── index.html
├── .gitignore
├── application
├── .htaccess
├── cache
│ ├── .htaccess
│ └── index.html
├── views
│ ├── errors
│ │ ├── cli
│ │ │ ├── error_404.php
│ │ │ ├── error_general.php
│ │ │ ├── error_db.php
│ │ │ ├── index.html
│ │ │ ├── error_php.php
│ │ │ └── error_exception.php
│ │ ├── index.html
│ │ └── html
│ │ │ ├── index.html
│ │ │ ├── error_php.php
│ │ │ ├── error_exception.php
│ │ │ ├── error_general.php
│ │ │ ├── error_db.php
│ │ │ └── error_404.php
│ ├── index.html
│ └── welcome_message.php
├── index.html
├── config
│ ├── index.html
│ ├── hooks.php
│ ├── profiler.php
│ ├── memcached.php
│ ├── routes.php
│ ├── doctypes.php
│ ├── foreign_chars.php
│ ├── migration.php
│ ├── smileys.php
│ ├── constants.php
│ ├── autoload.php
│ └── database.php
├── core
│ └── index.html
├── helpers
│ ├── index.html
│ └── general_helper.php
├── hooks
│ └── index.html
├── language
│ ├── index.html
│ └── english
│ │ └── index.html
├── logs
│ └── index.html
├── models
│ └── index.html
├── controllers
│ ├── index.html
│ ├── Login.php
│ ├── Tunnel.php
│ ├── User.php
│ └── Welcome.php
├── libraries
│ └── index.html
└── third_party
│ └── index.html
├── .htaccess
├── LICENSE
├── install_qcloud_sdk.php
└── README.md
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "qcloud/weapp-sdk": "v0.4.4"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/system/fonts/texb.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tencentyun/wafer-php-server-demo/HEAD/system/fonts/texb.ttf
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | sftp-config.json
2 | application/logs/*.log
3 | application/business/*.json
4 | vendor/
5 | weapp-sdk/
6 | composer.lock
--------------------------------------------------------------------------------
/system/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Require all denied
3 |
4 |
5 | Deny from all
6 |
--------------------------------------------------------------------------------
/application/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Require all denied
3 |
4 |
5 | Deny from all
6 |
--------------------------------------------------------------------------------
/application/cache/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Require all denied
3 |
4 |
5 | Deny from all
6 |
--------------------------------------------------------------------------------
/.htaccess:
--------------------------------------------------------------------------------
1 | RewriteEngine on
2 | RewriteCond $1 !^(index\.php)
3 | RewriteCond %{REQUEST_FILENAME} !-f
4 | RewriteCond %{REQUEST_FILENAME} !-d
5 | RewriteRule ^(.*)$ index.php/$1 [L,QSA]
--------------------------------------------------------------------------------
/application/views/errors/cli/error_404.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/core/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/fonts/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/helpers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/language/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/cache/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/config/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/core/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/helpers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/hooks/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/language/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/logs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/models/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/views/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/core/compat/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/controllers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/libraries/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/third_party/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/views/errors/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/language/english/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/Cache/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/Session/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/language/english/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/views/errors/cli/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/views/errors/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/cubrid/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/ibase/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/mssql/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/mysql/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/mysqli/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/oci8/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/odbc/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlite/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlsrv/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/Cache/drivers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/Javascript/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/postgre/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlite3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/libraries/Session/drivers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/subdrivers/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 403 Forbidden
5 |
6 |
7 |
8 | Directory access is forbidden.
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/application/controllers/Login.php:
--------------------------------------------------------------------------------
1 | TRUE));
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/application/config/hooks.php:
--------------------------------------------------------------------------------
1 | array(
15 | 'hostname' => '127.0.0.1',
16 | 'port' => '11211',
17 | 'weight' => '1',
18 | ),
19 | );
20 |
--------------------------------------------------------------------------------
/application/controllers/User.php:
--------------------------------------------------------------------------------
1 | 0,
17 | 'message' => 'ok',
18 | 'data' => array(
19 | 'userInfo' => $result['data']['userInfo'],
20 | ),
21 | );
22 |
23 | echo json_encode($response, JSON_FORCE_OBJECT);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/application/views/errors/cli/error_php.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | A PHP Error was encountered
4 |
5 | Severity:
6 | Message:
7 | Filename:
8 | Line Number:
9 |
10 |
11 |
12 | Backtrace:
13 |
14 |
15 | File:
16 | Line:
17 | Function:
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/application/controllers/Welcome.php:
--------------------------------------------------------------------------------
1 |
19 | * @see https://codeigniter.com/user_guide/general/urls.html
20 | */
21 | public function index()
22 | {
23 | $this->load->view('welcome_message');
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/application/views/errors/cli/error_exception.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | An uncaught Exception was encountered
4 |
5 | Type:
6 | Message:
7 | Filename: getFile(), "\n"; ?>
8 | Line Number: getLine(); ?>
9 |
10 |
11 |
12 | Backtrace:
13 | getTrace() as $error): ?>
14 |
15 | File:
16 | Line:
17 | Function:
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/application/views/errors/html/error_php.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
A PHP Error was encountered
8 |
9 |
Severity:
10 |
Message:
11 |
Filename:
12 |
Line Number:
13 |
14 |
15 |
16 |
Backtrace:
17 |
18 |
19 |
20 |
21 |
22 | File:
23 | Line:
24 | Function:
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/application/helpers/general_helper.php:
--------------------------------------------------------------------------------
1 | = 0) {
19 | $message = json_encode($message, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
20 | } else {
21 | $message = json_encode($message);
22 | }
23 | }
24 |
25 | if (is_string($message) || is_numeric($message)) {
26 | $messages[] = $message;
27 | }
28 | }
29 |
30 | log_message('debug', implode(' ', $messages) . "\n");
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/application/views/errors/html/error_exception.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
An uncaught Exception was encountered
8 |
9 |
Type:
10 |
Message:
11 |
Filename: getFile(); ?>
12 |
Line Number: getLine(); ?>
13 |
14 |
15 |
16 |
Backtrace:
17 | getTrace() as $error): ?>
18 |
19 |
20 |
21 |
22 | File:
23 | Line:
24 | Function:
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | LICENSE - "MIT License"
2 |
3 | Copyright (c) 2016 by Tencent Cloud
4 |
5 | Permission is hereby granted, free of charge, to any person
6 | obtaining a copy of this software and associated documentation
7 | files (the "Software"), to deal in the Software without
8 | restriction, including without limitation the rights to use,
9 | copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the
11 | Software is furnished to do so, subject to the following
12 | conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24 | OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/application/views/errors/html/error_general.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Error
8 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/application/views/errors/html/error_db.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Database Error
8 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/application/views/errors/html/error_404.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | 404 Page Not Found
8 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/install_qcloud_sdk.php:
--------------------------------------------------------------------------------
1 | $config['serverHost'],
38 | 'AuthServerUrl' => $config['authServerUrl'],
39 | 'TunnelServerUrl' => $config['tunnelServerUrl'],
40 | 'TunnelSignatureKey' => $config['tunnelSignatureKey'],
41 | ));
42 |
43 | /**
44 | * 也可以调用独立方法进行设置
45 | *
46 | * Conf::setServerHost($config['serverHost']);
47 | * Conf::setAuthServerUrl($config['authServerUrl']);
48 | * Conf::setTunnelServerUrl($config['tunnelServerUrl']);
49 | * Conf::setTunnelSignatureKey($config['tunnelSignatureKey']);
50 | */
51 |
52 | // 设置网络请求超时时长(可选,默认 30 秒)
53 | Conf::setNetworkTimeout($config['networkTimeout']);
54 |
55 |
56 | /**
57 | * --------------------------------------------------------------------
58 | * 设置 SDK 日志输出配置(主要是方便调试)
59 | * --------------------------------------------------------------------
60 | */
61 |
62 | // 开启日志输出功能
63 | Conf::setEnableOutputLog(TRUE);
64 |
65 | // 指定 SDK 日志输出目录(注意尾斜杠不能省略)
66 | Conf::setLogPath(APPPATH.'logs/');
67 |
68 | // 设置日志输出级别
69 | // 1 => ERROR, 2 => DEBUG, 3 => INFO, 4 => ALL
70 | Conf::setLogThresholdArray(array(2)); // output debug log only
71 |
--------------------------------------------------------------------------------
/application/views/welcome_message.php:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | 腾讯云微信小程序服务器 Demo - PHP
8 |
53 |
54 |
55 |
56 |
腾讯云微信小程序服务端 Demo - PHP
57 |
会话管理服务
58 |
62 |
信道服务
63 |
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/system/language/english/number_lang.php:
--------------------------------------------------------------------------------
1 | my_controller/index
50 | | my-controller/my-method -> my_controller/my_method
51 | */
52 | $route['default_controller'] = 'welcome';
53 | $route['404_override'] = '';
54 | $route['translate_uri_dashes'] = FALSE;
55 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlite3/sqlite3_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlite/sqlite_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/pdo_forge.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/system/database/drivers/odbc/odbc_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/application/config/doctypes.php:
--------------------------------------------------------------------------------
1 | '',
6 | 'xhtml1-strict' => '',
7 | 'xhtml1-trans' => '',
8 | 'xhtml1-frame' => '',
9 | 'xhtml-basic11' => '',
10 | 'html5' => '',
11 | 'html4-strict' => '',
12 | 'html4-trans' => '',
13 | 'html4-frame' => '',
14 | 'mathml1' => '',
15 | 'mathml2' => '',
16 | 'svg10' => '',
17 | 'svg11' => '',
18 | 'svg11-basic' => '',
19 | 'svg11-tiny' => '',
20 | 'xhtml-math-svg-xh' => '',
21 | 'xhtml-math-svg-sh' => '',
22 | 'xhtml-rdfa-1' => '',
23 | 'xhtml-rdfa-2' => ''
24 | );
25 |
--------------------------------------------------------------------------------
/system/libraries/Session/SessionHandlerInterface.php:
--------------------------------------------------------------------------------
1 | application/controllers/Welcome.php
68 |
69 | // 登录
70 | /login => application/controllers/Login.php
71 |
72 | // 获取微信用户信息
73 | /user => application/controllers/User.php
74 |
75 | // 处理信道请求
76 | /tunnel => application/controllers/Tunnel.php
77 | ```
78 |
79 | `application/business/ChatTunnelHandler.php` 是业务处理信道请求的示例代码。
80 |
81 | `application/helpers/general_helper.php` 包含简单的 `debug` 方法用于打印日志。
82 |
83 |
84 | ## 更新 SDK 版本
85 | 进入目录 `/data/release/php-weapp-demo`,然后执行命令 `composer update` 即可。
86 |
87 |
88 | ## 如果在demo基础上开发
89 | 将自己开发的接口放到如下目录下即可生效
90 | /data/release/php-weapp-demo/application/controllers/
91 |
92 | ## 重启服务:
93 | service php-fpm restart
94 |
95 |
--------------------------------------------------------------------------------
/system/database/drivers/oci8/oci8_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/subdrivers/pdo_odbc_forge.php:
--------------------------------------------------------------------------------
1 | db->hostname, $this->db->username, $this->db->password))
58 | {
59 | $res = ibase_backup($service, $this->db->database, $filename.'.fbk');
60 |
61 | // Close the service connection
62 | ibase_service_detach($service);
63 | return $res;
64 | }
65 |
66 | return FALSE;
67 | }
68 |
69 | }
70 |
--------------------------------------------------------------------------------
/system/language/english/unit_test_lang.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlsrv/sqlsrv_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
75 | }
76 |
77 | }
78 |
--------------------------------------------------------------------------------
/system/database/drivers/postgre/postgre_utility.php:
--------------------------------------------------------------------------------
1 | db->display_error('db_unsupported_feature');
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/system/core/Model.php:
--------------------------------------------------------------------------------
1 | $key;
78 | }
79 |
80 | }
81 |
--------------------------------------------------------------------------------
/system/helpers/language_helper.php:
--------------------------------------------------------------------------------
1 | lang->line($line);
67 |
68 | if ($for !== '')
69 | {
70 | $line = ''.$line.' ';
71 | }
72 |
73 | return $line;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/system/database/drivers/odbc/odbc_forge.php:
--------------------------------------------------------------------------------
1 | db->data_cache['db_names']))
57 | {
58 | return $this->db->data_cache['db_names'];
59 | }
60 |
61 | return $this->db->data_cache['db_names'] = cubrid_list_dbs($this->db->conn_id);
62 | }
63 |
64 | // --------------------------------------------------------------------
65 |
66 | /**
67 | * CUBRID Export
68 | *
69 | * @param array Preferences
70 | * @return mixed
71 | */
72 | protected function _backup($params = array())
73 | {
74 | // No SQL based support in CUBRID as of version 8.4.0. Database or
75 | // table backup can be performed using CUBRID Manager
76 | // database administration tool.
77 | return $this->db->display_error('db_unsupported_feature');
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/system/language/english/profiler_lang.php:
--------------------------------------------------------------------------------
1 | 'ae',
14 | '/ö|œ/' => 'oe',
15 | '/ü/' => 'ue',
16 | '/Ä/' => 'Ae',
17 | '/Ü/' => 'Ue',
18 | '/Ö/' => 'Oe',
19 | '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A',
20 | '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a',
21 | '/Б/' => 'B',
22 | '/б/' => 'b',
23 | '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
24 | '/ç|ć|ĉ|ċ|č/' => 'c',
25 | '/Д/' => 'D',
26 | '/д/' => 'd',
27 | '/Ð|Ď|Đ|Δ/' => 'Dj',
28 | '/ð|ď|đ|δ/' => 'dj',
29 | '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Э/' => 'E',
30 | '/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|э/' => 'e',
31 | '/Ф/' => 'F',
32 | '/ф/' => 'f',
33 | '/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G',
34 | '/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g',
35 | '/Ĥ|Ħ/' => 'H',
36 | '/ĥ|ħ/' => 'h',
37 | '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I',
38 | '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i',
39 | '/Ĵ/' => 'J',
40 | '/ĵ/' => 'j',
41 | '/Ķ|Κ|К/' => 'K',
42 | '/ķ|κ|к/' => 'k',
43 | '/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L',
44 | '/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l',
45 | '/М/' => 'M',
46 | '/м/' => 'm',
47 | '/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N',
48 | '/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n',
49 | '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O',
50 | '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o',
51 | '/П/' => 'P',
52 | '/п/' => 'p',
53 | '/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R',
54 | '/ŕ|ŗ|ř|ρ|р/' => 'r',
55 | '/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S',
56 | '/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's',
57 | '/Ț|Ţ|Ť|Ŧ|τ|Т/' => 'T',
58 | '/ț|ţ|ť|ŧ|т/' => 't',
59 | '/Þ|þ/' => 'th',
60 | '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U',
61 | '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u',
62 | '/Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y',
63 | '/ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y',
64 | '/В/' => 'V',
65 | '/в/' => 'v',
66 | '/Ŵ/' => 'W',
67 | '/ŵ/' => 'w',
68 | '/Ź|Ż|Ž|Ζ|З/' => 'Z',
69 | '/ź|ż|ž|ζ|з/' => 'z',
70 | '/Æ|Ǽ/' => 'AE',
71 | '/ß/' => 'ss',
72 | '/IJ/' => 'IJ',
73 | '/ij/' => 'ij',
74 | '/Œ/' => 'OE',
75 | '/ƒ/' => 'f',
76 | '/ξ/' => 'ks',
77 | '/π/' => 'p',
78 | '/β/' => 'v',
79 | '/μ/' => 'm',
80 | '/ψ/' => 'ps',
81 | '/Ё/' => 'Yo',
82 | '/ё/' => 'yo',
83 | '/Є/' => 'Ye',
84 | '/є/' => 'ye',
85 | '/Ї/' => 'Yi',
86 | '/Ж/' => 'Zh',
87 | '/ж/' => 'zh',
88 | '/Х/' => 'Kh',
89 | '/х/' => 'kh',
90 | '/Ц/' => 'Ts',
91 | '/ц/' => 'ts',
92 | '/Ч/' => 'Ch',
93 | '/ч/' => 'ch',
94 | '/Ш/' => 'Sh',
95 | '/ш/' => 'sh',
96 | '/Щ/' => 'Shch',
97 | '/щ/' => 'shch',
98 | '/Ъ|ъ|Ь|ь/' => '',
99 | '/Ю/' => 'Yu',
100 | '/ю/' => 'yu',
101 | '/Я/' => 'Ya',
102 | '/я/' => 'ya'
103 | );
104 |
--------------------------------------------------------------------------------
/system/helpers/email_helper.php:
--------------------------------------------------------------------------------
1 | ', '"', "'", '-'),
76 | array('&', '<', '>', '"', ''', '-'),
77 | $str
78 | );
79 |
80 | // Decode the temp markers back to entities
81 | $str = preg_replace('/'.$temp.'(\d+);/', '\\1;', $str);
82 |
83 | if ($protect_all === TRUE)
84 | {
85 | return preg_replace('/'.$temp.'(\w+);/', '&\\1;', $str);
86 | }
87 |
88 | return $str;
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/system/core/Controller.php:
--------------------------------------------------------------------------------
1 | $class)
74 | {
75 | $this->$var =& load_class($class);
76 | }
77 |
78 | $this->load =& load_class('Loader', 'core');
79 | $this->load->initialize();
80 | log_message('info', 'Controller Class Initialized');
81 | }
82 |
83 | // --------------------------------------------------------------------
84 |
85 | /**
86 | * Get the CI singleton
87 | *
88 | * @static
89 | * @return object
90 | */
91 | public static function &get_instance()
92 | {
93 | return self::$instance;
94 | }
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/application/config/migration.php:
--------------------------------------------------------------------------------
1 | migration->current() this is the version that schema will
69 | | be upgraded / downgraded to.
70 | |
71 | */
72 | $config['migration_version'] = 0;
73 |
74 | /*
75 | |--------------------------------------------------------------------------
76 | | Migrations Path
77 | |--------------------------------------------------------------------------
78 | |
79 | | Path to your migrations folder.
80 | | Typically, it will be within your application path.
81 | | Also, writing permission is required within the migrations path.
82 | |
83 | */
84 | $config['migration_path'] = APPPATH.'migrations/';
85 |
--------------------------------------------------------------------------------
/system/language/english/calendar_lang.php:
--------------------------------------------------------------------------------
1 | lang->load('number');
65 |
66 | if ($num >= 1000000000000)
67 | {
68 | $num = round($num / 1099511627776, $precision);
69 | $unit = $CI->lang->line('terabyte_abbr');
70 | }
71 | elseif ($num >= 1000000000)
72 | {
73 | $num = round($num / 1073741824, $precision);
74 | $unit = $CI->lang->line('gigabyte_abbr');
75 | }
76 | elseif ($num >= 1000000)
77 | {
78 | $num = round($num / 1048576, $precision);
79 | $unit = $CI->lang->line('megabyte_abbr');
80 | }
81 | elseif ($num >= 1000)
82 | {
83 | $num = round($num / 1024, $precision);
84 | $unit = $CI->lang->line('kilobyte_abbr');
85 | }
86 | else
87 | {
88 | $unit = $CI->lang->line('bytes');
89 | return number_format($num).' '.$unit;
90 | }
91 |
92 | return number_format($num, $precision).' '.$unit;
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/application/config/smileys.php:
--------------------------------------------------------------------------------
1 | array('grin.gif', '19', '19', 'grin'),
21 | ':lol:' => array('lol.gif', '19', '19', 'LOL'),
22 | ':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
23 | ':)' => array('smile.gif', '19', '19', 'smile'),
24 | ';-)' => array('wink.gif', '19', '19', 'wink'),
25 | ';)' => array('wink.gif', '19', '19', 'wink'),
26 | ':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
27 | ':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
28 | ':-S' => array('confused.gif', '19', '19', 'confused'),
29 | ':wow:' => array('surprise.gif', '19', '19', 'surprised'),
30 | ':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
31 | ':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
32 | '%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
33 | ';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
34 | ':P' => array('raspberry.gif', '19', '19', 'raspberry'),
35 | ':blank:' => array('blank.gif', '19', '19', 'blank stare'),
36 | ':long:' => array('longface.gif', '19', '19', 'long face'),
37 | ':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
38 | ':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
39 | ':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
40 | '8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
41 | ':down:' => array('downer.gif', '19', '19', 'downer'),
42 | ':red:' => array('embarrassed.gif', '19', '19', 'red face'),
43 | ':sick:' => array('sick.gif', '19', '19', 'sick'),
44 | ':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
45 | ':-/' => array('hmm.gif', '19', '19', 'hmmm'),
46 | '>:(' => array('mad.gif', '19', '19', 'mad'),
47 | ':mad:' => array('mad.gif', '19', '19', 'mad'),
48 | '>:-(' => array('angry.gif', '19', '19', 'angry'),
49 | ':angry:' => array('angry.gif', '19', '19', 'angry'),
50 | ':zip:' => array('zip.gif', '19', '19', 'zipper'),
51 | ':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
52 | ':ahhh:' => array('shock.gif', '19', '19', 'shock'),
53 | ':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
54 | ':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
55 | ':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
56 | ':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
57 | ':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
58 | ':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
59 | ':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
60 | ':snake:' => array('snake.gif', '19', '19', 'snake'),
61 | ':exclaim:' => array('exclaim.gif', '19', '19', 'exclaim'),
62 | ':question:' => array('question.gif', '19', '19', 'question')
63 |
64 | );
65 |
--------------------------------------------------------------------------------
/system/language/english/upload_lang.php:
--------------------------------------------------------------------------------
1 | load->library('typography');
64 | return $CI->typography->nl2br_except_pre($str);
65 | }
66 | }
67 |
68 | // ------------------------------------------------------------------------
69 |
70 | if ( ! function_exists('auto_typography'))
71 | {
72 | /**
73 | * Auto Typography Wrapper Function
74 | *
75 | * @param string $str
76 | * @param bool $reduce_linebreaks = FALSE whether to reduce multiple instances of double newlines to two
77 | * @return string
78 | */
79 | function auto_typography($str, $reduce_linebreaks = FALSE)
80 | {
81 | $CI =& get_instance();
82 | $CI->load->library('typography');
83 | return $CI->typography->auto_typography($str, $reduce_linebreaks);
84 | }
85 | }
86 |
87 | // --------------------------------------------------------------------
88 |
89 | if ( ! function_exists('entity_decode'))
90 | {
91 | /**
92 | * HTML Entities Decode
93 | *
94 | * This function is a replacement for html_entity_decode()
95 | *
96 | * @param string
97 | * @param string
98 | * @return string
99 | */
100 | function entity_decode($str, $charset = NULL)
101 | {
102 | return get_instance()->security->entity_decode($str, $charset);
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/system/helpers/directory_helper.php:
--------------------------------------------------------------------------------
1 | 0) && is_dir($source_dir.$file))
86 | {
87 | $filedata[$file] = directory_map($source_dir.$file, $new_depth, $hidden);
88 | }
89 | else
90 | {
91 | $filedata[] = $file;
92 | }
93 | }
94 |
95 | closedir($fp);
96 | return $filedata;
97 | }
98 |
99 | return FALSE;
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/system/helpers/array_helper.php:
--------------------------------------------------------------------------------
1 | input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure, $httponly);
74 | }
75 | }
76 |
77 | // --------------------------------------------------------------------
78 |
79 | if ( ! function_exists('get_cookie'))
80 | {
81 | /**
82 | * Fetch an item from the COOKIE array
83 | *
84 | * @param string
85 | * @param bool
86 | * @return mixed
87 | */
88 | function get_cookie($index, $xss_clean = NULL)
89 | {
90 | is_bool($xss_clean) OR $xss_clean = (config_item('global_xss_filtering') === TRUE);
91 | $prefix = isset($_COOKIE[$index]) ? '' : config_item('cookie_prefix');
92 | return get_instance()->input->cookie($prefix.$index, $xss_clean);
93 | }
94 | }
95 |
96 | // --------------------------------------------------------------------
97 |
98 | if ( ! function_exists('delete_cookie'))
99 | {
100 | /**
101 | * Delete a COOKIE
102 | *
103 | * @param mixed
104 | * @param string the cookie domain. Usually: .yourdomain.com
105 | * @param string the cookie path
106 | * @param string the cookie prefix
107 | * @return void
108 | */
109 | function delete_cookie($name, $domain = '', $path = '/', $prefix = '')
110 | {
111 | set_cookie($name, '', '', $domain, $path, $prefix);
112 | }
113 | }
114 |
--------------------------------------------------------------------------------
/system/helpers/security_helper.php:
--------------------------------------------------------------------------------
1 | security->xss_clean($str, $is_image);
64 | }
65 | }
66 |
67 | // ------------------------------------------------------------------------
68 |
69 | if ( ! function_exists('sanitize_filename'))
70 | {
71 | /**
72 | * Sanitize Filename
73 | *
74 | * @param string
75 | * @return string
76 | */
77 | function sanitize_filename($filename)
78 | {
79 | return get_instance()->security->sanitize_filename($filename);
80 | }
81 | }
82 |
83 | // --------------------------------------------------------------------
84 |
85 | if ( ! function_exists('do_hash'))
86 | {
87 | /**
88 | * Hash encode a string
89 | *
90 | * @todo Remove in version 3.1+.
91 | * @deprecated 3.0.0 Use PHP's native hash() instead.
92 | * @param string $str
93 | * @param string $type = 'sha1'
94 | * @return string
95 | */
96 | function do_hash($str, $type = 'sha1')
97 | {
98 | if ( ! in_array(strtolower($type), hash_algos()))
99 | {
100 | $type = 'md5';
101 | }
102 |
103 | return hash($type, $str);
104 | }
105 | }
106 |
107 | // ------------------------------------------------------------------------
108 |
109 | if ( ! function_exists('strip_image_tags'))
110 | {
111 | /**
112 | * Strip Image Tags
113 | *
114 | * @param string
115 | * @return string
116 | */
117 | function strip_image_tags($str)
118 | {
119 | return get_instance()->security->strip_image_tags($str);
120 | }
121 | }
122 |
123 | // ------------------------------------------------------------------------
124 |
125 | if ( ! function_exists('encode_php_tags'))
126 | {
127 | /**
128 | * Convert PHP tags to entities
129 | *
130 | * @param string
131 | * @return string
132 | */
133 | function encode_php_tags($str)
134 | {
135 | return str_replace(array('', '?>'), array('<?', '?>'), $str);
136 | }
137 | }
138 |
--------------------------------------------------------------------------------
/application/config/constants.php:
--------------------------------------------------------------------------------
1 | marker[$name] = microtime(TRUE);
73 | }
74 |
75 | // --------------------------------------------------------------------
76 |
77 | /**
78 | * Elapsed time
79 | *
80 | * Calculates the time difference between two marked points.
81 | *
82 | * If the first parameter is empty this function instead returns the
83 | * {elapsed_time} pseudo-variable. This permits the full system
84 | * execution time to be shown in a template. The output class will
85 | * swap the real value for this variable.
86 | *
87 | * @param string $point1 A particular marked point
88 | * @param string $point2 A particular marked point
89 | * @param int $decimals Number of decimal places
90 | *
91 | * @return string Calculated elapsed time on success,
92 | * an '{elapsed_string}' if $point1 is empty
93 | * or an empty string if $point1 is not found.
94 | */
95 | public function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
96 | {
97 | if ($point1 === '')
98 | {
99 | return '{elapsed_time}';
100 | }
101 |
102 | if ( ! isset($this->marker[$point1]))
103 | {
104 | return '';
105 | }
106 |
107 | if ( ! isset($this->marker[$point2]))
108 | {
109 | $this->marker[$point2] = microtime(TRUE);
110 | }
111 |
112 | return number_format($this->marker[$point2] - $this->marker[$point1], $decimals);
113 | }
114 |
115 | // --------------------------------------------------------------------
116 |
117 | /**
118 | * Memory Usage
119 | *
120 | * Simply returns the {memory_usage} marker.
121 | *
122 | * This permits it to be put it anywhere in a template
123 | * without the memory being calculated until the end.
124 | * The output class will swap the real value for this variable.
125 | *
126 | * @return string '{memory_usage}'
127 | */
128 | public function memory_usage()
129 | {
130 | return '{memory_usage}';
131 | }
132 |
133 | }
134 |
--------------------------------------------------------------------------------
/application/config/autoload.php:
--------------------------------------------------------------------------------
1 | 'ua');
60 | */
61 | $autoload['libraries'] = array();
62 |
63 | /*
64 | | -------------------------------------------------------------------
65 | | Auto-load Drivers
66 | | -------------------------------------------------------------------
67 | | These classes are located in system/libraries/ or in your
68 | | application/libraries/ directory, but are also placed inside their
69 | | own subdirectory and they extend the CI_Driver_Library class. They
70 | | offer multiple interchangeable driver options.
71 | |
72 | | Prototype:
73 | |
74 | | $autoload['drivers'] = array('cache');
75 | |
76 | | You can also supply an alternative property name to be assigned in
77 | | the controller:
78 | |
79 | | $autoload['drivers'] = array('cache' => 'cch');
80 | |
81 | */
82 | $autoload['drivers'] = array();
83 |
84 | /*
85 | | -------------------------------------------------------------------
86 | | Auto-load Helper Files
87 | | -------------------------------------------------------------------
88 | | Prototype:
89 | |
90 | | $autoload['helper'] = array('url', 'file');
91 | */
92 | $autoload['helper'] = array('general');
93 |
94 | /*
95 | | -------------------------------------------------------------------
96 | | Auto-load Config files
97 | | -------------------------------------------------------------------
98 | | Prototype:
99 | |
100 | | $autoload['config'] = array('config1', 'config2');
101 | |
102 | | NOTE: This item is intended for use ONLY if you have created custom
103 | | config files. Otherwise, leave it blank.
104 | |
105 | */
106 | $autoload['config'] = array();
107 |
108 | /*
109 | | -------------------------------------------------------------------
110 | | Auto-load Language files
111 | | -------------------------------------------------------------------
112 | | Prototype:
113 | |
114 | | $autoload['language'] = array('lang1', 'lang2');
115 | |
116 | | NOTE: Do not include the "_lang" part of your file. For example
117 | | "codeigniter_lang.php" would be referenced as array('codeigniter');
118 | |
119 | */
120 | $autoload['language'] = array();
121 |
122 | /*
123 | | -------------------------------------------------------------------
124 | | Auto-load Models
125 | | -------------------------------------------------------------------
126 | | Prototype:
127 | |
128 | | $autoload['model'] = array('first_model', 'second_model');
129 | |
130 | | You can also supply an alternative model name to be assigned
131 | | in the controller:
132 | |
133 | | $autoload['model'] = array('first_model' => 'first');
134 | */
135 | $autoload['model'] = array();
136 |
--------------------------------------------------------------------------------
/system/language/english/form_validation_lang.php:
--------------------------------------------------------------------------------
1 | db->last_query() and profiling of DB queries.
62 | | When you run a query, with this setting set to TRUE (default),
63 | | CodeIgniter will store the SQL statement for debugging purposes.
64 | | However, this may cause high memory usage, especially if you run
65 | | a lot of SQL queries ... disable this to avoid that problem.
66 | |
67 | | The $active_group variable lets you choose which connection group to
68 | | make active. By default there is only one group (the 'default' group).
69 | |
70 | | The $query_builder variables lets you determine whether or not to load
71 | | the query builder class.
72 | */
73 | $active_group = 'default';
74 | $query_builder = TRUE;
75 |
76 | $db['default'] = array(
77 | 'dsn' => '',
78 | 'hostname' => 'localhost',
79 | 'username' => '',
80 | 'password' => '',
81 | 'database' => '',
82 | 'dbdriver' => 'mysqli',
83 | 'dbprefix' => '',
84 | 'pconnect' => FALSE,
85 | 'db_debug' => (ENVIRONMENT !== 'production'),
86 | 'cache_on' => FALSE,
87 | 'cachedir' => '',
88 | 'char_set' => 'utf8',
89 | 'dbcollat' => 'utf8_general_ci',
90 | 'swap_pre' => '',
91 | 'encrypt' => FALSE,
92 | 'compress' => FALSE,
93 | 'stricton' => FALSE,
94 | 'failover' => array(),
95 | 'save_queries' => TRUE
96 | );
97 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/subdrivers/pdo_ibm_forge.php:
--------------------------------------------------------------------------------
1 | 'INTEGER',
63 | 'INT' => 'BIGINT',
64 | 'INTEGER' => 'BIGINT'
65 | );
66 |
67 | /**
68 | * DEFAULT value representation in CREATE/ALTER TABLE statements
69 | *
70 | * @var string
71 | */
72 | protected $_default = FALSE;
73 |
74 | // --------------------------------------------------------------------
75 |
76 | /**
77 | * ALTER TABLE
78 | *
79 | * @param string $alter_type ALTER type
80 | * @param string $table Table name
81 | * @param mixed $field Column definition
82 | * @return string|string[]
83 | */
84 | protected function _alter_table($alter_type, $table, $field)
85 | {
86 | if ($alter_type === 'CHANGE')
87 | {
88 | $alter_type = 'MODIFY';
89 | }
90 |
91 | return parent::_alter_table($alter_type, $table, $field);
92 | }
93 |
94 | // --------------------------------------------------------------------
95 |
96 | /**
97 | * Field attribute TYPE
98 | *
99 | * Performs a data type mapping between different databases.
100 | *
101 | * @param array &$attributes
102 | * @return void
103 | */
104 | protected function _attr_type(&$attributes)
105 | {
106 | switch (strtoupper($attributes['TYPE']))
107 | {
108 | case 'TINYINT':
109 | $attributes['TYPE'] = 'SMALLINT';
110 | $attributes['UNSIGNED'] = FALSE;
111 | return;
112 | case 'MEDIUMINT':
113 | $attributes['TYPE'] = 'INTEGER';
114 | $attributes['UNSIGNED'] = FALSE;
115 | return;
116 | default: return;
117 | }
118 | }
119 |
120 | // --------------------------------------------------------------------
121 |
122 | /**
123 | * Field attribute UNIQUE
124 | *
125 | * @param array &$attributes
126 | * @param array &$field
127 | * @return void
128 | */
129 | protected function _attr_unique(&$attributes, &$field)
130 | {
131 | if ( ! empty($attributes['UNIQUE']) && $attributes['UNIQUE'] === TRUE)
132 | {
133 | $field['unique'] = ' UNIQUE';
134 |
135 | // UNIQUE must be used with NOT NULL
136 | $field['null'] = ' NOT NULL';
137 | }
138 | }
139 |
140 | // --------------------------------------------------------------------
141 |
142 | /**
143 | * Field attribute AUTO_INCREMENT
144 | *
145 | * @param array &$attributes
146 | * @param array &$field
147 | * @return void
148 | */
149 | protected function _attr_auto_increment(&$attributes, &$field)
150 | {
151 | // Not supported
152 | }
153 |
154 | }
155 |
--------------------------------------------------------------------------------
/system/database/drivers/ibase/ibase_result.php:
--------------------------------------------------------------------------------
1 | result_id);
59 | }
60 |
61 | // --------------------------------------------------------------------
62 |
63 | /**
64 | * Fetch Field Names
65 | *
66 | * Generates an array of column names
67 | *
68 | * @return array
69 | */
70 | public function list_fields()
71 | {
72 | $field_names = array();
73 | for ($i = 0, $num_fields = $this->num_fields(); $i < $num_fields; $i++)
74 | {
75 | $info = ibase_field_info($this->result_id, $i);
76 | $field_names[] = $info['name'];
77 | }
78 |
79 | return $field_names;
80 | }
81 |
82 | // --------------------------------------------------------------------
83 |
84 | /**
85 | * Field data
86 | *
87 | * Generates an array of objects containing field meta-data
88 | *
89 | * @return array
90 | */
91 | public function field_data()
92 | {
93 | $retval = array();
94 | for ($i = 0, $c = $this->num_fields(); $i < $c; $i++)
95 | {
96 | $info = ibase_field_info($this->result_id, $i);
97 |
98 | $retval[$i] = new stdClass();
99 | $retval[$i]->name = $info['name'];
100 | $retval[$i]->type = $info['type'];
101 | $retval[$i]->max_length = $info['length'];
102 | }
103 |
104 | return $retval;
105 | }
106 |
107 | // --------------------------------------------------------------------
108 |
109 | /**
110 | * Free the result
111 | *
112 | * @return void
113 | */
114 | public function free_result()
115 | {
116 | ibase_free_result($this->result_id);
117 | }
118 |
119 | // --------------------------------------------------------------------
120 |
121 | /**
122 | * Result - associative array
123 | *
124 | * Returns the result set as an array
125 | *
126 | * @return array
127 | */
128 | protected function _fetch_assoc()
129 | {
130 | return ibase_fetch_assoc($this->result_id, IBASE_FETCH_BLOBS);
131 | }
132 |
133 | // --------------------------------------------------------------------
134 |
135 | /**
136 | * Result - object
137 | *
138 | * Returns the result set as an object
139 | *
140 | * @param string $class_name
141 | * @return object
142 | */
143 | protected function _fetch_object($class_name = 'stdClass')
144 | {
145 | $row = ibase_fetch_object($this->result_id, IBASE_FETCH_BLOBS);
146 |
147 | if ($class_name === 'stdClass' OR ! $row)
148 | {
149 | return $row;
150 | }
151 |
152 | $class_name = new $class_name();
153 | foreach ($row as $key => $value)
154 | {
155 | $class_name->$key = $value;
156 | }
157 |
158 | return $class_name;
159 | }
160 |
161 | }
162 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlsrv/sqlsrv_forge.php:
--------------------------------------------------------------------------------
1 | 'SMALLINT',
70 | 'SMALLINT' => 'INT',
71 | 'INT' => 'BIGINT',
72 | 'REAL' => 'FLOAT'
73 | );
74 |
75 | // --------------------------------------------------------------------
76 |
77 | /**
78 | * ALTER TABLE
79 | *
80 | * @param string $alter_type ALTER type
81 | * @param string $table Table name
82 | * @param mixed $field Column definition
83 | * @return string|string[]
84 | */
85 | protected function _alter_table($alter_type, $table, $field)
86 | {
87 | if (in_array($alter_type, array('ADD', 'DROP'), TRUE))
88 | {
89 | return parent::_alter_table($alter_type, $table, $field);
90 | }
91 |
92 | $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN ';
93 | $sqls = array();
94 | for ($i = 0, $c = count($field); $i < $c; $i++)
95 | {
96 | $sqls[] = $sql.$this->_process_column($field[$i]);
97 | }
98 |
99 | return $sqls;
100 | }
101 |
102 | // --------------------------------------------------------------------
103 |
104 | /**
105 | * Field attribute TYPE
106 | *
107 | * Performs a data type mapping between different databases.
108 | *
109 | * @param array &$attributes
110 | * @return void
111 | */
112 | protected function _attr_type(&$attributes)
113 | {
114 | if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE)
115 | {
116 | unset($attributes['CONSTRAINT']);
117 | }
118 |
119 | switch (strtoupper($attributes['TYPE']))
120 | {
121 | case 'MEDIUMINT':
122 | $attributes['TYPE'] = 'INTEGER';
123 | $attributes['UNSIGNED'] = FALSE;
124 | return;
125 | case 'INTEGER':
126 | $attributes['TYPE'] = 'INT';
127 | return;
128 | default: return;
129 | }
130 | }
131 |
132 | // --------------------------------------------------------------------
133 |
134 | /**
135 | * Field attribute AUTO_INCREMENT
136 | *
137 | * @param array &$attributes
138 | * @param array &$field
139 | * @return void
140 | */
141 | protected function _attr_auto_increment(&$attributes, &$field)
142 | {
143 | if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE)
144 | {
145 | $field['auto_increment'] = ' IDENTITY(1,1)';
146 | }
147 | }
148 |
149 | }
150 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/subdrivers/pdo_dblib_forge.php:
--------------------------------------------------------------------------------
1 | 'SMALLINT',
70 | 'SMALLINT' => 'INT',
71 | 'INT' => 'BIGINT',
72 | 'REAL' => 'FLOAT'
73 | );
74 |
75 | // --------------------------------------------------------------------
76 |
77 | /**
78 | * ALTER TABLE
79 | *
80 | * @param string $alter_type ALTER type
81 | * @param string $table Table name
82 | * @param mixed $field Column definition
83 | * @return string|string[]
84 | */
85 | protected function _alter_table($alter_type, $table, $field)
86 | {
87 | if (in_array($alter_type, array('ADD', 'DROP'), TRUE))
88 | {
89 | return parent::_alter_table($alter_type, $table, $field);
90 | }
91 |
92 | $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN ';
93 | $sqls = array();
94 | for ($i = 0, $c = count($field); $i < $c; $i++)
95 | {
96 | $sqls[] = $sql.$this->_process_column($field[$i]);
97 | }
98 |
99 | return $sqls;
100 | }
101 |
102 | // --------------------------------------------------------------------
103 |
104 | /**
105 | * Field attribute TYPE
106 | *
107 | * Performs a data type mapping between different databases.
108 | *
109 | * @param array &$attributes
110 | * @return void
111 | */
112 | protected function _attr_type(&$attributes)
113 | {
114 | if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE)
115 | {
116 | unset($attributes['CONSTRAINT']);
117 | }
118 |
119 | switch (strtoupper($attributes['TYPE']))
120 | {
121 | case 'MEDIUMINT':
122 | $attributes['TYPE'] = 'INTEGER';
123 | $attributes['UNSIGNED'] = FALSE;
124 | return;
125 | case 'INTEGER':
126 | $attributes['TYPE'] = 'INT';
127 | return;
128 | default: return;
129 | }
130 | }
131 |
132 | // --------------------------------------------------------------------
133 |
134 | /**
135 | * Field attribute AUTO_INCREMENT
136 | *
137 | * @param array &$attributes
138 | * @param array &$field
139 | * @return void
140 | */
141 | protected function _attr_auto_increment(&$attributes, &$field)
142 | {
143 | if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE)
144 | {
145 | $field['auto_increment'] = ' IDENTITY(1,1)';
146 | }
147 | }
148 |
149 | }
150 |
--------------------------------------------------------------------------------
/system/database/drivers/pdo/subdrivers/pdo_sqlsrv_forge.php:
--------------------------------------------------------------------------------
1 | 'SMALLINT',
70 | 'SMALLINT' => 'INT',
71 | 'INT' => 'BIGINT',
72 | 'REAL' => 'FLOAT'
73 | );
74 |
75 | // --------------------------------------------------------------------
76 |
77 | /**
78 | * ALTER TABLE
79 | *
80 | * @param string $alter_type ALTER type
81 | * @param string $table Table name
82 | * @param mixed $field Column definition
83 | * @return string|string[]
84 | */
85 | protected function _alter_table($alter_type, $table, $field)
86 | {
87 | if (in_array($alter_type, array('ADD', 'DROP'), TRUE))
88 | {
89 | return parent::_alter_table($alter_type, $table, $field);
90 | }
91 |
92 | $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN ';
93 | $sqls = array();
94 | for ($i = 0, $c = count($field); $i < $c; $i++)
95 | {
96 | $sqls[] = $sql.$this->_process_column($field[$i]);
97 | }
98 |
99 | return $sqls;
100 | }
101 |
102 | // --------------------------------------------------------------------
103 |
104 | /**
105 | * Field attribute TYPE
106 | *
107 | * Performs a data type mapping between different databases.
108 | *
109 | * @param array &$attributes
110 | * @return void
111 | */
112 | protected function _attr_type(&$attributes)
113 | {
114 | if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE)
115 | {
116 | unset($attributes['CONSTRAINT']);
117 | }
118 |
119 | switch (strtoupper($attributes['TYPE']))
120 | {
121 | case 'MEDIUMINT':
122 | $attributes['TYPE'] = 'INTEGER';
123 | $attributes['UNSIGNED'] = FALSE;
124 | return;
125 | case 'INTEGER':
126 | $attributes['TYPE'] = 'INT';
127 | return;
128 | default: return;
129 | }
130 | }
131 |
132 | // --------------------------------------------------------------------
133 |
134 | /**
135 | * Field attribute AUTO_INCREMENT
136 | *
137 | * @param array &$attributes
138 | * @param array &$field
139 | * @return void
140 | */
141 | protected function _attr_auto_increment(&$attributes, &$field)
142 | {
143 | if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE)
144 | {
145 | $field['auto_increment'] = ' IDENTITY(1,1)';
146 | }
147 | }
148 |
149 | }
150 |
--------------------------------------------------------------------------------
/system/database/drivers/mssql/mssql_forge.php:
--------------------------------------------------------------------------------
1 | 'SMALLINT',
72 | 'SMALLINT' => 'INT',
73 | 'INT' => 'BIGINT',
74 | 'REAL' => 'FLOAT'
75 | );
76 |
77 | // --------------------------------------------------------------------
78 |
79 | /**
80 | * ALTER TABLE
81 | *
82 | * @param string $alter_type ALTER type
83 | * @param string $table Table name
84 | * @param mixed $field Column definition
85 | * @return string|string[]
86 | */
87 | protected function _alter_table($alter_type, $table, $field)
88 | {
89 | if (in_array($alter_type, array('ADD', 'DROP'), TRUE))
90 | {
91 | return parent::_alter_table($alter_type, $table, $field);
92 | }
93 |
94 | $sql = 'ALTER TABLE '.$this->db->escape_identifiers($table).' ALTER COLUMN ';
95 | $sqls = array();
96 | for ($i = 0, $c = count($field); $i < $c; $i++)
97 | {
98 | $sqls[] = $sql.$this->_process_column($field[$i]);
99 | }
100 |
101 | return $sqls;
102 | }
103 |
104 | // --------------------------------------------------------------------
105 |
106 | /**
107 | * Field attribute TYPE
108 | *
109 | * Performs a data type mapping between different databases.
110 | *
111 | * @param array &$attributes
112 | * @return void
113 | */
114 | protected function _attr_type(&$attributes)
115 | {
116 | if (isset($attributes['CONSTRAINT']) && strpos($attributes['TYPE'], 'INT') !== FALSE)
117 | {
118 | unset($attributes['CONSTRAINT']);
119 | }
120 |
121 | switch (strtoupper($attributes['TYPE']))
122 | {
123 | case 'MEDIUMINT':
124 | $attributes['TYPE'] = 'INTEGER';
125 | $attributes['UNSIGNED'] = FALSE;
126 | return;
127 | case 'INTEGER':
128 | $attributes['TYPE'] = 'INT';
129 | return;
130 | default: return;
131 | }
132 | }
133 |
134 | // --------------------------------------------------------------------
135 |
136 | /**
137 | * Field attribute AUTO_INCREMENT
138 | *
139 | * @param array &$attributes
140 | * @param array &$field
141 | * @return void
142 | */
143 | protected function _attr_auto_increment(&$attributes, &$field)
144 | {
145 | if ( ! empty($attributes['AUTO_INCREMENT']) && $attributes['AUTO_INCREMENT'] === TRUE && stripos($field['type'], 'int') !== FALSE)
146 | {
147 | $field['auto_increment'] = ' IDENTITY(1,1)';
148 | }
149 | }
150 |
151 | }
152 |
--------------------------------------------------------------------------------
/system/database/drivers/sqlite/sqlite_result.php:
--------------------------------------------------------------------------------
1 | num_rows)
59 | ? $this->num_rows
60 | : $this->num_rows = @sqlite_num_rows($this->result_id);
61 | }
62 |
63 | // --------------------------------------------------------------------
64 |
65 | /**
66 | * Number of fields in the result set
67 | *
68 | * @return int
69 | */
70 | public function num_fields()
71 | {
72 | return @sqlite_num_fields($this->result_id);
73 | }
74 |
75 | // --------------------------------------------------------------------
76 |
77 | /**
78 | * Fetch Field Names
79 | *
80 | * Generates an array of column names
81 | *
82 | * @return array
83 | */
84 | public function list_fields()
85 | {
86 | $field_names = array();
87 | for ($i = 0, $c = $this->num_fields(); $i < $c; $i++)
88 | {
89 | $field_names[$i] = sqlite_field_name($this->result_id, $i);
90 | }
91 |
92 | return $field_names;
93 | }
94 |
95 | // --------------------------------------------------------------------
96 |
97 | /**
98 | * Field data
99 | *
100 | * Generates an array of objects containing field meta-data
101 | *
102 | * @return array
103 | */
104 | public function field_data()
105 | {
106 | $retval = array();
107 | for ($i = 0, $c = $this->num_fields(); $i < $c; $i++)
108 | {
109 | $retval[$i] = new stdClass();
110 | $retval[$i]->name = sqlite_field_name($this->result_id, $i);
111 | $retval[$i]->type = NULL;
112 | $retval[$i]->max_length = NULL;
113 | }
114 |
115 | return $retval;
116 | }
117 |
118 | // --------------------------------------------------------------------
119 |
120 | /**
121 | * Data Seek
122 | *
123 | * Moves the internal pointer to the desired offset. We call
124 | * this internally before fetching results to make sure the
125 | * result set starts at zero.
126 | *
127 | * @param int $n
128 | * @return bool
129 | */
130 | public function data_seek($n = 0)
131 | {
132 | return sqlite_seek($this->result_id, $n);
133 | }
134 |
135 | // --------------------------------------------------------------------
136 |
137 | /**
138 | * Result - associative array
139 | *
140 | * Returns the result set as an array
141 | *
142 | * @return array
143 | */
144 | protected function _fetch_assoc()
145 | {
146 | return sqlite_fetch_array($this->result_id);
147 | }
148 |
149 | // --------------------------------------------------------------------
150 |
151 | /**
152 | * Result - object
153 | *
154 | * Returns the result set as an object
155 | *
156 | * @param string $class_name
157 | * @return object
158 | */
159 | protected function _fetch_object($class_name = 'stdClass')
160 | {
161 | return sqlite_fetch_object($this->result_id, $class_name);
162 | }
163 |
164 | }
165 |
--------------------------------------------------------------------------------