apply new code formatter

phpfmt using PSR-2 coding style
This commit is contained in:
Claude 2019-11-24 11:58:37 +01:00
parent c687068fd4
commit 26cd691cea
36 changed files with 4926 additions and 5579 deletions

View File

@ -2,9 +2,5 @@ You want to improve Stikked? Always welcome! Send us your pull request and you w
Some guidelines: Some guidelines:
* For PHP only files (not views/themes), please run the PHP Beautifier (http://pear.php.net/package/PHP_Beautifier) with the following parameters: * Coding style: PSR-2. For PHP files (not views/themes), please run phpfmt (https://marketplace.visualstudio.com/items?itemName=kokororin.vscode-phpfmt).
```
php_beautifier --indent_tabs -l "IndentStyles(style=bsd) ArrayNested() NewLines(before=function:T_CLASS:if,after=T_COMMENT) ListClassFunction()"
```
* Optionally, use https://phpbeautifier.com/ with "Allman style" formatting for smaller segments of PHP-only code
* Other people may modify your contribution. Don't take that personal; we all want to improve Stikked. Your input is always welcome! * Other people may modify your contribution. Don't take that personal; we all want to improve Stikked. Your input is always welcome!

View File

@ -1,11 +1,13 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/** /**
* Site Name * Site Name
* *
* The name of your site * The name of your site
* *
*/ */
$config['site_name'] = 'Stikked'; $config['site_name'] = 'Stikked';
/** /**
@ -13,7 +15,7 @@ $config['site_name'] = 'Stikked';
* *
* Set the base URL of Stikked. WITH trailing slash! * Set the base URL of Stikked. WITH trailing slash!
* *
*/ */
$config['base_url'] = 'http://localhost/'; $config['base_url'] = 'http://localhost/';
/** /**
@ -22,7 +24,7 @@ $config['base_url'] = 'http://localhost/';
* Credentials for your database * Credentials for your database
* The database structure will be created automatically * The database structure will be created automatically
* *
*/ */
$config['db_hostname'] = 'mysql'; $config['db_hostname'] = 'mysql';
$config['db_database'] = 'stikked'; $config['db_database'] = 'stikked';
$config['db_username'] = 'stikked'; $config['db_username'] = 'stikked';
@ -39,7 +41,7 @@ $config['db_password'] = 'stikked';
* Use underscore as suffix to easily see the tables. * Use underscore as suffix to easily see the tables.
* example: $config['db_prefix'] = 'stikked_'; * example: $config['db_prefix'] = 'stikked_';
* use $config['db_prefix'] = ''; if you don't want to use table prefix. * use $config['db_prefix'] = ''; if you don't want to use table prefix.
*/ */
$config['db_prefix'] = ''; $config['db_prefix'] = '';
/** /**
@ -49,7 +51,7 @@ $config['db_prefix'] = '';
* Folder name in htdocs/themes/ * Folder name in htdocs/themes/
* Currently: default, bootstrap, gabdark, gabdark3, geocities, snowkat, stikkedizr, cleanwhite, i386 * Currently: default, bootstrap, gabdark, gabdark3, geocities, snowkat, stikkedizr, cleanwhite, i386
* *
*/ */
$config['theme'] = 'default'; $config['theme'] = 'default';
/** /**
@ -57,7 +59,7 @@ $config['theme'] = 'default';
* *
* Whether or not to display the QR code * Whether or not to display the QR code
* *
*/ */
$config['qr_enabled'] = true; $config['qr_enabled'] = true;
/** /**
@ -70,7 +72,7 @@ $config['qr_enabled'] = true;
* CodeMirror: ~300kb JS * CodeMirror: ~300kb JS
* ACE: >800kb JS * ACE: >800kb JS
* *
*/ */
$config['js_editor'] = ''; // codemirror, ace, '' $config['js_editor'] = ''; // codemirror, ace, ''
/** /**
@ -80,7 +82,7 @@ $config['js_editor'] = ''; // codemirror, ace, ''
* Translate Stikked to your own language, see htdocs/application/language files * Translate Stikked to your own language, see htdocs/application/language files
* Currently: english, german, swissgerman, spanish, norwegian, danish, portuguese, turkish, french, japanese, polish, russian, chinese-simplified, chinese-traditional, indonesia * Currently: english, german, swissgerman, spanish, norwegian, danish, portuguese, turkish, french, japanese, polish, russian, chinese-simplified, chinese-traditional, indonesia
* *
*/ */
$config['language'] = 'english'; $config['language'] = 'english';
/** /**
@ -88,7 +90,7 @@ $config['language'] = 'english';
* *
* htdocs/static/asset/ folder must be writeable * htdocs/static/asset/ folder must be writeable
* *
*/ */
$config['combine_assets'] = false; $config['combine_assets'] = false;
/** /**
@ -98,7 +100,7 @@ $config['combine_assets'] = false;
* Format: http://php.net/manual/en/function.strtotime.php * Format: http://php.net/manual/en/function.strtotime.php
* Examples: '+10 seconds', '+1 year', '-1 week' * Examples: '+10 seconds', '+1 year', '-1 week'
* *
*/ */
$config['content_expiration'] = '-1 week'; $config['content_expiration'] = '-1 week';
/** /**
@ -155,11 +157,10 @@ $config['cron_key'] = '';
* polr_url: Your own instance of polr URL-shortener (Download: https://github.com/cydrobolt/polr) * polr_url: Your own instance of polr URL-shortener (Download: https://github.com/cydrobolt/polr)
* polr_api: Your polr api key * polr_api: Your polr api key
* *
**/ **/
$config['url_shortening_use'] = 'off'; $config['url_shortening_use'] = 'off';
$config['random_url_engines'] = 'googl,bitly'; // Used only in random mode, read comment above for more info $config['random_url_engines'] = 'googl,bitly'; // Used only in random mode, read comment above for more info
// Yourls // Yourls
$config['yourls_url'] = ''; $config['yourls_url'] = '';
$config['yourls_signature'] = ''; $config['yourls_signature'] = '';
@ -178,13 +179,12 @@ $config['bitly_url_api'] = '';
$config['polr_url'] = ''; $config['polr_url'] = '';
$config['polr_api'] = ''; $config['polr_api'] = '';
/** /**
* Credentials for the backup URL * Credentials for the backup URL
* *
* Basic auth user & pass for the backup URL, accessible via http://yoursite.com/backup * Basic auth user & pass for the backup URL, accessible via http://yoursite.com/backup
* *
**/ **/
$config['backup_user'] = ''; $config['backup_user'] = '';
$config['backup_pass'] = ''; $config['backup_pass'] = '';
@ -193,7 +193,7 @@ $config['backup_pass'] = '';
* *
* Number of pastes per page, on the recent pastes listings. * Number of pastes per page, on the recent pastes listings.
* *
**/ **/
$config['per_page'] = 15; $config['per_page'] = 15;
/** /**
@ -202,7 +202,7 @@ $config['per_page'] = 15;
* Require a key to interact with the API. * Require a key to interact with the API.
* Append to all API requests: ?apikey=[yourkey] * Append to all API requests: ?apikey=[yourkey]
* *
**/ **/
$config['apikey'] = ''; $config['apikey'] = '';
/** /**
@ -215,7 +215,7 @@ $config['apikey'] = '';
* This is useful to maintain a restrictive blocklist * This is useful to maintain a restrictive blocklist
* for spammers and bypass it using the apikey. * for spammers and bypass it using the apikey.
* *
**/ **/
$config['soft_api'] = false; $config['soft_api'] = false;
/** /**
@ -230,7 +230,7 @@ $config['soft_api'] = false;
* disable_shorturl: "Create Shorturl" option will be disabled * disable_shorturl: "Create Shorturl" option will be disabled
* disallow_search_engines: displays a robots.txt that forbids indexing * disallow_search_engines: displays a robots.txt that forbids indexing
* *
**/ **/
$config['private_only'] = false; $config['private_only'] = false;
$config['enable_captcha'] = true; $config['enable_captcha'] = true;
$config['recaptcha_publickey'] = ''; $config['recaptcha_publickey'] = '';
@ -257,7 +257,7 @@ $config['spamadmin_pass'] = '';
* 40320 (1 month) * 40320 (1 month)
* 483840 (1 year) * 483840 (1 year)
* 0 (keep forever) * 0 (keep forever)
**/ **/
$config['default_expiration'] = 0; $config['default_expiration'] = 0;
/** /**
@ -265,7 +265,7 @@ $config['default_expiration'] = 0;
* *
* Preselected language. See application/config/geshi_languages.php for valid values (array keys) * Preselected language. See application/config/geshi_languages.php for valid values (array keys)
* *
**/ **/
$config['default_language'] = 'text'; $config['default_language'] = 'text';
/** /**
@ -276,7 +276,7 @@ $config['default_language'] = 'text';
* Set to random for a random paste to be generated * Set to random for a random paste to be generated
* NOTE: if changed only pastes from then on will be updated. * NOTE: if changed only pastes from then on will be updated.
* *
**/ **/
$config['unknown_poster'] = 'random'; $config['unknown_poster'] = 'random';
/** /**
@ -285,7 +285,7 @@ $config['unknown_poster'] = 'random';
* What name is to be set for untitled pastes. * What name is to be set for untitled pastes.
* DO NOT SET BLANK * DO NOT SET BLANK
* NOTE: if changed only pastes from then on will be updated. * NOTE: if changed only pastes from then on will be updated.
**/ **/
$config['unknown_title'] = 'Untitled'; $config['unknown_title'] = 'Untitled';
/** /**
@ -294,7 +294,7 @@ $config['unknown_title'] = 'Untitled';
* Weather to require LDAP authenticaiton or not. * Weather to require LDAP authenticaiton or not.
* Set to either 'true' to require authentication or 'false' not to. * Set to either 'true' to require authentication or 'false' not to.
* NOTE: if changed, set LDAP settings in auth_ldap.php * NOTE: if changed, set LDAP settings in auth_ldap.php
**/ **/
$config['require_auth'] = false; $config['require_auth'] = false;
/** /**
@ -304,7 +304,7 @@ $config['require_auth'] = false;
* Variable $id: the paste_id * Variable $id: the paste_id
* Example: 'http://example.com/$id' * Example: 'http://example.com/$id'
* *
**/ **/
$config['displayurl_override'] = ''; $config['displayurl_override'] = '';
/** /**
@ -313,36 +313,36 @@ $config['displayurl_override'] = '';
* Words used for when unknown_poster is set to random * Words used for when unknown_poster is set to random
* *
* *
**/ **/
$config['nouns'] = array('Hornbill', 'Elephant', 'Bison', 'Lion', 'Camel', 'Sheep', $config['nouns'] = array('Hornbill', 'Elephant', 'Bison', 'Lion', 'Camel', 'Sheep',
'Monkey', 'Prairie Dog', 'Plover', 'Tapir', 'Capybara', 'Cheetah', 'Flamingo', 'Peccary', 'Eider', 'Porcupine', 'Pelican', 'Dove', 'Crane', 'Tortoise', 'Agouti', 'Monkey', 'Prairie Dog', 'Plover', 'Tapir', 'Capybara', 'Cheetah', 'Flamingo', 'Peccary', 'Eider', 'Porcupine', 'Pelican', 'Dove', 'Crane', 'Tortoise', 'Agouti',
'Tamarin', 'Pheasant', 'Owl', 'Gibbon', 'Goose', 'Baboon', 'Hamerkop', 'Zebra', 'Tamarin', 'Pheasant', 'Owl', 'Gibbon', 'Goose', 'Baboon', 'Hamerkop', 'Zebra',
'Macaw', 'Gibbon', 'Madrill', 'Wolf', 'Stork', 'Armadillo', 'Ostrich', 'Marmoset', 'Macaw', 'Gibbon', 'Madrill', 'Wolf', 'Stork', 'Armadillo', 'Ostrich', 'Marmoset',
'Lizard', 'Panda', 'Giraffe', 'Cassowary', 'Kangaroo', 'Gorilla', 'Pheasant', 'Lizard', 'Panda', 'Giraffe', 'Cassowary', 'Kangaroo', 'Gorilla', 'Pheasant',
'Finch', 'Duck', 'Matamata', 'Teal', 'Macaque', 'Goat', 'Lechwe', 'Ibis', 'Parrot', 'Finch', 'Duck', 'Matamata', 'Teal', 'Macaque', 'Goat', 'Lechwe', 'Ibis', 'Parrot',
'Parakeet', 'Bongo', 'Pudu', 'Echidna', 'Lemur', 'Bat', 'Curlew', 'Terrapin', 'Parakeet', 'Bongo', 'Pudu', 'Echidna', 'Lemur', 'Bat', 'Curlew', 'Terrapin',
'Peafowl', 'Duck', 'Owl', 'Parakeet', 'Meerkat', 'Tern', 'Wigeon', 'Pintail', 'Peafowl', 'Duck', 'Owl', 'Parakeet', 'Meerkat', 'Tern', 'Wigeon', 'Pintail',
'Meerkat', 'Motmot', 'Motmot', 'Shama', 'Dormouse', 'Horse', 'Rhinoceros', 'Sloth', 'Meerkat', 'Motmot', 'Motmot', 'Shama', 'Dormouse', 'Horse', 'Rhinoceros', 'Sloth',
'Mousedeer', 'Treeshrew', 'Bushbaby', 'Guinea Pig', 'Agouti', 'Water Vole', 'Hog', 'Mousedeer', 'Treeshrew', 'Bushbaby', 'Guinea Pig', 'Agouti', 'Water Vole', 'Hog',
'Pig', 'Anoa', 'Octupus', 'Butterfly', 'Cat', 'Kitten', 'Coyote', 'Crocodile', 'Pig', 'Anoa', 'Octupus', 'Butterfly', 'Cat', 'Kitten', 'Coyote', 'Crocodile',
'Cockroach', 'Crow', 'Bird', 'Dolphin', 'Earthworm', 'Frog', 'Hamster', 'Hedgehog', 'Cockroach', 'Crow', 'Bird', 'Dolphin', 'Earthworm', 'Frog', 'Hamster', 'Hedgehog',
'Hog', 'Human', 'Hummingbird', 'Iguana', 'Leech', 'Leopard', ' Marten', 'Hog', 'Human', 'Hummingbird', 'Iguana', 'Leech', 'Leopard', ' Marten',
'Mockingbird', 'Mockingjay', 'Mosquito', 'Moth', 'Partdridge', 'Bee', 'Penguin'); 'Mockingbird', 'Mockingjay', 'Mosquito', 'Moth', 'Partdridge', 'Bee', 'Penguin');
$config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious', $config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious',
'Colossal', 'Commodious', 'Thundering', 'Mammoth', 'Mungo', 'Voluminous', 'Colossal', 'Commodious', 'Thundering', 'Mammoth', 'Mungo', 'Voluminous',
'Walloping', 'Tiny', 'Baby', 'Bitty', 'Diminutive', 'Little', 'Paltry', 'Scanty', 'Walloping', 'Tiny', 'Baby', 'Bitty', 'Diminutive', 'Little', 'Paltry', 'Scanty',
'Trivial', 'Scribby', 'Blush', 'Tinct', 'Colorant', 'Aqua', 'Beige', 'Bistre', 'Trivial', 'Scribby', 'Blush', 'Tinct', 'Colorant', 'Aqua', 'Beige', 'Bistre',
'Buff', 'Bistre', 'Chartreuse', 'Chocolate', 'Cobalt', 'Coral', 'Cream', 'Crimson', 'Buff', 'Bistre', 'Chartreuse', 'Chocolate', 'Cobalt', 'Coral', 'Cream', 'Crimson',
'Denim', 'Emerald', 'Gray', 'Gamboge', 'Ivory', 'Mustard', 'Silly', 'Perl', 'Denim', 'Emerald', 'Gray', 'Gamboge', 'Ivory', 'Mustard', 'Silly', 'Perl',
'Whipped', 'Violet', 'Harmless', 'Gentle', 'Innocent', 'Reliable', 'Unreliable', 'Whipped', 'Violet', 'Harmless', 'Gentle', 'Innocent', 'Reliable', 'Unreliable',
'Soft', 'Toxic', 'Anorexic', 'Beefy', 'Sexy', 'Morose', 'Rude', 'Ungracious', 'Soft', 'Toxic', 'Anorexic', 'Beefy', 'Sexy', 'Morose', 'Rude', 'Ungracious',
'Abrupt', 'Gracious', 'Queen', 'Cute', 'Edgy', 'Insensitive', 'Round', 'Sharp', 'Abrupt', 'Gracious', 'Queen', 'Cute', 'Edgy', 'Insensitive', 'Round', 'Sharp',
'Gruff', 'Subtle', 'Crippled', 'Eratic', 'Social', 'Jittery', 'Sole', 'Unique', 'Gruff', 'Subtle', 'Crippled', 'Eratic', 'Social', 'Jittery', 'Sole', 'Unique',
'Botched', 'Tacky', 'Sludgy', 'Stained', 'Wet', 'Soiled', 'Big', 'Small', 'Sloppy', 'Botched', 'Tacky', 'Sludgy', 'Stained', 'Wet', 'Soiled', 'Big', 'Small', 'Sloppy',
'Smelly', 'Funky', 'Putrid', 'Melodic', 'Corrupt', 'Lousy', 'Fiery', 'Red', 'Smelly', 'Funky', 'Putrid', 'Melodic', 'Corrupt', 'Lousy', 'Fiery', 'Red',
'Sweet', 'Hot', 'Scorching', 'Sweltering', 'Torrid', 'Obese', 'Speedy', 'Flying', 'Sweet', 'Hot', 'Scorching', 'Sweltering', 'Torrid', 'Obese', 'Speedy', 'Flying',
'Idiotic', 'Chunky', 'Forensic'); 'Idiotic', 'Chunky', 'Forensic');
/** /**
* *
@ -350,9 +350,9 @@ $config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious',
* Words used for expiring pastes * Words used for expiring pastes
* *
* *
**/ **/
$config['expires'] = array('expire', 'perish', 'go to its last resting place', $config['expires'] = array('expire', 'perish', 'go to its last resting place',
'go to meet its maker', 'cross the great divide', 'slip away', 'give up the ghost', 'go to meet its maker', 'cross the great divide', 'slip away', 'give up the ghost',
'kick the bucket', 'croak', 'bite the big one', 'check out', 'buy the farm', 'kick the bucket', 'croak', 'bite the big one', 'check out', 'buy the farm',
'join the choir invisible', 'shuffle off the mortal coil', 'hop the perch', 'join the choir invisible', 'shuffle off the mortal coil', 'hop the perch',
'run down the curtain', 'die', 'self destruct', 'explode'); 'run down the curtain', 'die', 'self destruct', 'explode');

View File

@ -1,82 +1,77 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* Classes list:
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
//codemirror languages //codemirror languages
$config['ace_languages'] = array( $config['ace_languages'] = array(
'text' => 'text', 'text' => 'text',
'html5' => 'html', 'html5' => 'html',
'css' => 'css', 'css' => 'css',
'javascript' => 'javascript', 'javascript' => 'javascript',
'php' => 'php', 'php' => 'php',
'python' => 'python', 'python' => 'python',
'ruby' => 'ruby', 'ruby' => 'ruby',
'lua' => 'lua', 'lua' => 'lua',
'bash' => 'sh', 'bash' => 'sh',
'erlang' => 'erlang', 'erlang' => 'erlang',
'go' => 'golang', 'go' => 'golang',
'c' => 'c_cpp', 'c' => 'c_cpp',
'cpp' => 'c_cpp', 'cpp' => 'c_cpp',
'diff' => 'diff', 'diff' => 'diff',
'latex' => 'latex', 'latex' => 'latex',
'sql' => 'sql', 'sql' => 'sql',
'xml' => 'xml', 'xml' => 'xml',
'0' => 'text', '0' => 'text',
'abap' => 'abap', 'abap' => 'abap',
'actionscript' => 'actionscript', 'actionscript' => 'actionscript',
'actionscript3' => 'actionscript', 'actionscript3' => 'actionscript',
'ada' => 'ada', 'ada' => 'ada',
'apache' => 'apache_conf', 'apache' => 'apache_conf',
'applescript' => 'applescript', 'applescript' => 'applescript',
'asm' => 'assembly_x86', 'asm' => 'assembly_x86',
'autohotkey' => 'autohotkey', 'autohotkey' => 'autohotkey',
'closure' => 'closure', 'closure' => 'closure',
'cobol' => 'cobol', 'cobol' => 'cobol',
'coffeescript' => 'coffee', 'coffeescript' => 'coffee',
'coffeescript' => 'coffee', 'coffeescript' => 'coffee',
'cpp-winapi' => 'c_cpp', 'cpp-winapi' => 'c_cpp',
'c_loadrunner' => 'c_cpp', 'c_loadrunner' => 'c_cpp',
'c_mac' => 'c_cpp', 'c_mac' => 'c_cpp',
'c_winapi' => 'c_cpp', 'c_winapi' => 'c_cpp',
'csharp' => 'csharp', 'csharp' => 'csharp',
'd' => 'd', 'd' => 'd',
'dart' => 'dart', 'dart' => 'dart',
'dot' => 'dot', 'dot' => 'dot',
'eiffel' => 'eiffel', 'eiffel' => 'eiffel',
'fortran' => 'fortran', 'fortran' => 'fortran',
'groovy' => 'groovy', 'groovy' => 'groovy',
'haskell' => 'haskell', 'haskell' => 'haskell',
'haxe' => 'haxe', 'haxe' => 'haxe',
'ini' => 'ini', 'ini' => 'ini',
'io' => 'io', 'io' => 'io',
'java' => 'java', 'java' => 'java',
'java5' => 'java', 'java5' => 'java',
'make' => 'makefile', 'make' => 'makefile',
'matlab' => 'matlab', 'matlab' => 'matlab',
'mysql' => 'mysql', 'mysql' => 'mysql',
'objc' => 'objectivec', 'objc' => 'objectivec',
'ocaml' => 'ocaml', 'ocaml' => 'ocaml',
'pascal' => 'pascal', 'pascal' => 'pascal',
'perl' => 'perl', 'perl' => 'perl',
'perl6' => 'perl', 'perl6' => 'perl',
'postgresql' => 'pgsql', 'postgresql' => 'pgsql',
'powershell' => 'powershell', 'powershell' => 'powershell',
'prolog' => 'prolog', 'prolog' => 'prolog',
'properties' => 'properties', 'properties' => 'properties',
'rails' => 'ruby', 'rails' => 'ruby',
'rust' => 'rust', 'rust' => 'rust',
'scala' => 'scala', 'scala' => 'scala',
'scheme' => 'scheme', 'scheme' => 'scheme',
'smarty' => 'smarty', 'smarty' => 'smarty',
'tcl' => 'tcl', 'tcl' => 'tcl',
'vala' => 'vala', 'vala' => 'vala',
'vb' => 'vbscript', 'vb' => 'vbscript',
'verilog' => 'verilog', 'verilog' => 'verilog',
'vhdl' => 'vhdl', 'vhdl' => 'vhdl',
'yaml' => 'yaml', 'yaml' => 'yaml',
); );

View File

@ -1,20 +1,23 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
* This file is part of Auth_Ldap. * This file is part of Auth_Ldap.
Auth_Ldap is free software: you can redistribute it and/or modify Auth_Ldap is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
Auth_Ldap is distributed in the hope that it will be useful, Auth_Ldap is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with Auth_Ldap. If not, see <http://www.gnu.org/licenses/>. along with Auth_Ldap. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
/** /**
@ -33,27 +36,26 @@
* login_attribute - LDAP attribute used to check usernames against * login_attribute - LDAP attribute used to check usernames against
* proxy_user - Distinguised name of a proxy user if your LDAP server does not allow anonymous binds * proxy_user - Distinguised name of a proxy user if your LDAP server does not allow anonymous binds
* proxy pass - Password to use with above * proxy pass - Password to use with above
* roles - An array of role names to use within your app. The values are arbitrary. * roles - An array of role names to use within your app. The values are arbitrary.
* The keys themselves represent the * The keys themselves represent the
* "security level," ie * "security level," ie
* if( $security_level >= 3 ) { * if( $security_level >= 3 ) {
* // Is a power user * // Is a power user
* echo display_info_for_power_users_or_admins(); * echo display_info_for_power_users_or_admins();
* } * }
* member_attribute - Attribute to search to determine allowance after successful authentication * member_attribute - Attribute to search to determine allowance after successful authentication
* auditlog - Location to log auditable events. Needs to be writeable * auditlog - Location to log auditable events. Needs to be writeable
* by the web server * by the web server
*/ */
$config['hosts'] = array('ldap.mycompany.com'); $config['hosts'] = array('ldap.mycompany.com');
$config['ports'] = array(389); $config['ports'] = array(389);
$config['basedn'] = 'dc=mycompany,dc=com'; $config['basedn'] = 'dc=mycompany,dc=com';
$config['login_attribute'] = 'uid'; $config['login_attribute'] = 'uid';
$config['proxy_user'] = ''; $config['proxy_user'] = '';
$config['proxy_pass'] = ''; $config['proxy_pass'] = '';
$config['roles'] = array(1 => 'User', $config['roles'] = array(1 => 'User',
3 => 'Power User', 3 => 'Power User',
5 => 'Administrator'); 5 => 'Administrator');
$config['member_attribute'] = 'memberUid'; $config['member_attribute'] = 'memberUid';
$config['auditlog'] = 'application/logs/audit.log'; // Some place to log attempted logins (separate from message log) $config['auditlog'] = 'application/logs/audit.log'; // Some place to log attempted logins (separate from message log)
?>

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| AUTO-LOADER | AUTO-LOADER
@ -25,7 +28,7 @@
| 5. Language files | 5. Language files
| 6. Models | 6. Models
| |
*/ */
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
@ -35,11 +38,10 @@
| |
| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared'); | $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
| |
*/ */
$autoload['packages'] = array(); $autoload['packages'] = array();
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Auto-load Libraries | Auto-load Libraries
@ -49,68 +51,63 @@ $autoload['packages'] = array();
| |
| Prototype: | Prototype:
| |
| $autoload['libraries'] = array('database', 'session', 'xmlrpc'); | $autoload['libraries'] = array('database', 'session', 'xmlrpc');
*/ */
$autoload['libraries'] = array('database', 'carabiner'); $autoload['libraries'] = array('database', 'carabiner');
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Auto-load Helper Files | Auto-load Helper Files
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Prototype: | Prototype:
| |
| $autoload['helper'] = array('url', 'file'); | $autoload['helper'] = array('url', 'file');
*/ */
$autoload['helper'] = array('url', 'date', 'language'); $autoload['helper'] = array('url', 'date', 'language');
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Auto-load Config files | Auto-load Config files
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Prototype: | Prototype:
| |
| $autoload['config'] = array('config1', 'config2'); | $autoload['config'] = array('config1', 'config2');
| |
| NOTE: This item is intended for use ONLY if you have created custom | NOTE: This item is intended for use ONLY if you have created custom
| config files. Otherwise, leave it blank. | config files. Otherwise, leave it blank.
| |
*/ */
$autoload['config'] = array('stikked'); $autoload['config'] = array('stikked');
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Auto-load Language files | Auto-load Language files
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Prototype: | Prototype:
| |
| $autoload['language'] = array('lang1', 'lang2'); | $autoload['language'] = array('lang1', 'lang2');
| |
| NOTE: Do not include the "_lang" part of your file. For example | NOTE: Do not include the "_lang" part of your file. For example
| "codeigniter_lang.php" would be referenced as array('codeigniter'); | "codeigniter_lang.php" would be referenced as array('codeigniter');
| |
*/ */
$autoload['language'] = array('stikked'); $autoload['language'] = array('stikked');
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Auto-load Models | Auto-load Models
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Prototype: | Prototype:
| |
| $autoload['model'] = array('model1', 'model2'); | $autoload['model'] = array('model1', 'model2');
| |
*/ */
$autoload['model'] = array(); $autoload['model'] = array();
/* End of file autoload.php */ /* End of file autoload.php */
/* Location: ./application/config/autoload.php */ /* Location: ./application/config/autoload.php */

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,6 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -8,13 +10,13 @@
| URL to your CodeIgniter root. Typically this will be your base URL, | URL to your CodeIgniter root. Typically this will be your base URL,
| WITH a trailing slash: | WITH a trailing slash:
| |
| http://example.com/ | http://example.com/
| |
| If this is not set then CodeIgniter will guess the protocol, domain and | If this is not set then CodeIgniter will guess the protocol, domain and
| path to your installation. | path to your installation.
| |
*/ */
$config['base_url'] = ''; $config['base_url'] = '';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -23,7 +25,7 @@ $config['base_url'] = '';
| |
| So that we can track your version. | So that we can track your version.
| |
*/ */
$config['stikked_version'] = '0.13.0'; $config['stikked_version'] = '0.13.0';
/* /*
@ -35,7 +37,7 @@ $config['stikked_version'] = '0.13.0';
| something else. If you are using mod_rewrite to remove the page set this | something else. If you are using mod_rewrite to remove the page set this
| variable so that it is blank. | variable so that it is blank.
| |
*/ */
$config['index_page'] = ''; $config['index_page'] = '';
/* /*
@ -47,14 +49,14 @@ $config['index_page'] = '';
| URI string. The default setting of 'AUTO' works for most servers. | URI string. The default setting of 'AUTO' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors: | If your links do not seem to work, try one of the other delicious flavors:
| |
| 'AUTO' Default - auto detects | 'AUTO' Default - auto detects
| 'PATH_INFO' Uses the PATH_INFO | 'PATH_INFO' Uses the PATH_INFO
| 'QUERY_STRING' Uses the QUERY_STRING | 'QUERY_STRING' Uses the QUERY_STRING
| 'REQUEST_URI' Uses the REQUEST_URI | 'REQUEST_URI' Uses the REQUEST_URI
| 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO | 'ORIG_PATH_INFO' Uses the ORIG_PATH_INFO
| |
*/ */
$config['uri_protocol'] = 'AUTO'; $config['uri_protocol'] = 'AUTO';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -65,7 +67,7 @@ $config['uri_protocol'] = 'AUTO';
| For more information please see the user guide: | For more information please see the user guide:
| |
| http://codeigniter.com/user_guide/general/urls.html | http://codeigniter.com/user_guide/general/urls.html
*/ */
$config['url_suffix'] = ''; $config['url_suffix'] = '';
@ -78,8 +80,8 @@ $config['url_suffix'] = '';
| there is an available translation if you intend to use something other | there is an available translation if you intend to use something other
| than english. | than english.
| |
*/ */
#$config['language'] = 'english'; #this is configured in config/stikked.php #$config['language'] = 'english'; #this is configured in config/stikked.php
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -89,7 +91,7 @@ $config['url_suffix'] = '';
| This determines which character set is used by default in various methods | This determines which character set is used by default in various methods
| that require a character set to be provided. | that require a character set to be provided.
| |
*/ */
$config['charset'] = 'UTF-8'; $config['charset'] = 'UTF-8';
/* /*
@ -100,9 +102,8 @@ $config['charset'] = 'UTF-8';
| If you would like to use the 'hooks' feature you must enable it by | If you would like to use the 'hooks' feature you must enable it by
| setting this variable to TRUE (boolean). See the user guide for details. | setting this variable to TRUE (boolean). See the user guide for details.
| |
*/ */
$config['enable_hooks'] = FALSE; $config['enable_hooks'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -115,10 +116,9 @@ $config['enable_hooks'] = FALSE;
| http://codeigniter.com/user_guide/general/core_classes.html | http://codeigniter.com/user_guide/general/core_classes.html
| http://codeigniter.com/user_guide/general/creating_libraries.html | http://codeigniter.com/user_guide/general/creating_libraries.html
| |
*/ */
$config['subclass_prefix'] = 'MY_'; $config['subclass_prefix'] = 'MY_';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Allowed URL Characters | Allowed URL Characters
@ -135,10 +135,9 @@ $config['subclass_prefix'] = 'MY_';
| |
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
| |
*/ */
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Enable Query Strings | Enable Query Strings
@ -163,12 +162,12 @@ $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
| this feature is enabled, since CodeIgniter is designed primarily to | this feature is enabled, since CodeIgniter is designed primarily to
| use segment based URLs. | use segment based URLs.
| |
*/ */
$config['allow_get_array'] = TRUE; $config['allow_get_array'] = true;
$config['enable_query_strings'] = FALSE; $config['enable_query_strings'] = false;
$config['controller_trigger'] = 'c'; $config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm'; $config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd'; // experimental not currently in use $config['directory_trigger'] = 'd'; // experimental not currently in use
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -180,16 +179,16 @@ $config['directory_trigger'] = 'd'; // experimental not currently in use
| You can enable error logging by setting a threshold over zero. The | You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are: | threshold determines what gets logged. Threshold options are:
| |
| 0 = Disables logging, Error logging TURNED OFF | 0 = Disables logging, Error logging TURNED OFF
| 1 = Error Messages (including PHP errors) | 1 = Error Messages (including PHP errors)
| 2 = Debug Messages | 2 = Debug Messages
| 3 = Informational Messages | 3 = Informational Messages
| 4 = All Messages | 4 = All Messages
| |
| For a live site you'll usually only enable Errors (1) to be logged otherwise | For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast. | your log files will fill up very fast.
| |
*/ */
$config['log_threshold'] = 4; $config['log_threshold'] = 4;
/* /*
@ -200,7 +199,7 @@ $config['log_threshold'] = 4;
| Leave this BLANK unless you would like to set something other than the default | Leave this BLANK unless you would like to set something other than the default
| application/logs/ folder. Use a full server path with trailing slash. | application/logs/ folder. Use a full server path with trailing slash.
| |
*/ */
$config['log_path'] = ''; $config['log_path'] = '';
/* /*
@ -211,7 +210,7 @@ $config['log_path'] = '';
| Each item that is logged has an associated date. You can use PHP date | Each item that is logged has an associated date. You can use PHP date
| codes to set your own date formatting | codes to set your own date formatting
| |
*/ */
$config['log_date_format'] = 'Y-m-d H:i:s'; $config['log_date_format'] = 'Y-m-d H:i:s';
/* /*
@ -222,7 +221,7 @@ $config['log_date_format'] = 'Y-m-d H:i:s';
| Leave this BLANK unless you would like to set something other than the default | Leave this BLANK unless you would like to set something other than the default
| system/cache/ folder. Use a full server path with trailing slash. | system/cache/ folder. Use a full server path with trailing slash.
| |
*/ */
$config['cache_path'] = ''; $config['cache_path'] = '';
/* /*
@ -233,7 +232,7 @@ $config['cache_path'] = '';
| If you use the Encryption class or the Session class you | If you use the Encryption class or the Session class you
| MUST set an encryption key. See the user guide for info. | MUST set an encryption key. See the user guide for info.
| |
*/ */
$config['encryption_key'] = ''; $config['encryption_key'] = '';
/* /*
@ -243,54 +242,54 @@ $config['encryption_key'] = '';
| |
| 'sess_driver' | 'sess_driver'
| |
| The storage driver to use: files, database, redis, memcached | The storage driver to use: files, database, redis, memcached
| |
| 'sess_cookie_name' | 'sess_cookie_name'
| |
| The session cookie name, must contain only [0-9a-z_-] characters | The session cookie name, must contain only [0-9a-z_-] characters
| |
| 'sess_expiration' | 'sess_expiration'
| |
| The number of SECONDS you want the session to last. | The number of SECONDS you want the session to last.
| Setting to 0 (zero) means expire when the browser is closed. | Setting to 0 (zero) means expire when the browser is closed.
| |
| 'sess_save_path' | 'sess_save_path'
| |
| The location to save sessions to, driver dependent. | The location to save sessions to, driver dependent.
| |
| For the 'files' driver, it's a path to a writable directory. | For the 'files' driver, it's a path to a writable directory.
| WARNING: Only absolute paths are supported! | WARNING: Only absolute paths are supported!
| |
| For the 'database' driver, it's a table name. | For the 'database' driver, it's a table name.
| Please read up the manual for the format with other session drivers. | Please read up the manual for the format with other session drivers.
| |
| IMPORTANT: You are REQUIRED to set a valid save path! | IMPORTANT: You are REQUIRED to set a valid save path!
| |
| 'sess_match_ip' | 'sess_match_ip'
| |
| Whether to match the user's IP address when reading the session data. | Whether to match the user's IP address when reading the session data.
| |
| 'sess_time_to_update' | 'sess_time_to_update'
| |
| How many seconds between CI regenerating the session ID. | How many seconds between CI regenerating the session ID.
| |
| 'sess_regenerate_destroy' | 'sess_regenerate_destroy'
| |
| Whether to destroy session data associated with the old session ID | Whether to destroy session data associated with the old session ID
| when auto-regenerating the session ID. When set to FALSE, the data | when auto-regenerating the session ID. When set to FALSE, the data
| will be later deleted by the garbage collector. | will be later deleted by the garbage collector.
| |
| Other session cookie settings are shared with the rest of the application, | Other session cookie settings are shared with the rest of the application,
| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here. | except for 'cookie_prefix' and 'cookie_httponly', which are ignored here.
| |
*/ */
$config['sess_driver'] = 'database'; $config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'stikked'; $config['sess_cookie_name'] = 'stikked';
$config['sess_expiration'] = 60*60*24*1; $config['sess_expiration'] = 60 * 60 * 24 * 1;
$config['sess_save_path'] = 'sessions'; $config['sess_save_path'] = 'sessions';
$config['sess_match_ip'] = FALSE; $config['sess_match_ip'] = false;
$config['sess_time_to_update'] = 300; $config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE; $config['sess_regenerate_destroy'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -306,12 +305,12 @@ $config['sess_regenerate_destroy'] = FALSE;
| Note: These settings (with the exception of 'cookie_prefix' and | Note: These settings (with the exception of 'cookie_prefix' and
| 'cookie_httponly') will also affect sessions. | 'cookie_httponly') will also affect sessions.
| |
*/ */
$config['cookie_prefix'] = ''; $config['cookie_prefix'] = '';
$config['cookie_domain'] = ''; $config['cookie_domain'] = '';
$config['cookie_path'] = '/'; $config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE; $config['cookie_secure'] = false;
$config['cookie_httponly'] = FALSE; $config['cookie_httponly'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -321,8 +320,8 @@ $config['cookie_httponly'] = FALSE;
| Determines whether the XSS filter is always active when GET, POST or | Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered | COOKIE data is encountered
| |
*/ */
$config['global_xss_filtering'] = FALSE; $config['global_xss_filtering'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -335,8 +334,8 @@ $config['global_xss_filtering'] = FALSE;
| 'csrf_token_name' = The token name | 'csrf_token_name' = The token name
| 'csrf_cookie_name' = The cookie name | 'csrf_cookie_name' = The cookie name
| 'csrf_expire' = The number in seconds the token should expire. | 'csrf_expire' = The number in seconds the token should expire.
*/ */
$config['csrf_protection'] = FALSE; $config['csrf_protection'] = false;
$config['csrf_token_name'] = 'csrf_test_name'; $config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name'; $config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200; $config['csrf_expire'] = 7200;
@ -357,8 +356,8 @@ $config['csrf_expire'] = 7200;
| compression to work, nothing can be sent before the output buffer is called | compression to work, nothing can be sent before the output buffer is called
| by the output class. Do not 'echo' any values with compression enabled. | by the output class. Do not 'echo' any values with compression enabled.
| |
*/ */
$config['compress_output'] = FALSE; $config['compress_output'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -370,10 +369,9 @@ $config['compress_output'] = FALSE;
| GMT. See the 'date helper' page of the user guide for information | GMT. See the 'date helper' page of the user guide for information
| regarding date handling. | regarding date handling.
| |
*/ */
$config['time_reference'] = 'local'; $config['time_reference'] = 'local';
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Rewrite PHP Short Tags | Rewrite PHP Short Tags
@ -383,9 +381,8 @@ $config['time_reference'] = 'local';
| can rewrite the tags on-the-fly, enabling you to utilize that syntax | can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files. Options are TRUE or FALSE (boolean) | in your view files. Options are TRUE or FALSE (boolean)
| |
*/ */
$config['rewrite_short_tags'] = FALSE; $config['rewrite_short_tags'] = false;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -397,7 +394,7 @@ $config['rewrite_short_tags'] = FALSE;
| header in order to properly identify the visitor's IP address. | header in order to properly identify the visitor's IP address.
| Comma-delimited, e.g. '10.0.1.200,10.0.1.201' | Comma-delimited, e.g. '10.0.1.200,10.0.1.201'
| |
*/ */
$config['proxy_ips'] = ''; $config['proxy_ips'] = '';
/* /*
@ -407,9 +404,9 @@ $config['proxy_ips'] = '';
| |
| The favorite languages, that's at the beginning of the list. | The favorite languages, that's at the beginning of the list.
| |
*/ */
$config['favorite_languages'] = array('text', 'html5', 'css', 'javascript', 'php', 'python', 'ruby', $config['favorite_languages'] = array('text', 'html5', 'css', 'javascript', 'php', 'python', 'ruby',
'lua', 'bash', 'erlang', 'go', 'c', 'cpp', 'diff', 'latex', 'sql', 'xml'); 'lua', 'bash', 'erlang', 'go', 'c', 'cpp', 'diff', 'latex', 'sql', 'xml');
/* End of file config.php */ /* End of file config.php */
/* Location: ./application/config/config.php */ /* Location: ./application/config/config.php */

View File

@ -1,5 +1,4 @@
<?php <?php defined('BASEPATH') or exit('No direct script access allowed');
defined('BASEPATH') OR exit('No direct script access allowed');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -10,8 +9,8 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| error_reporting is disabled, the backtrace will not display, regardless | error_reporting is disabled, the backtrace will not display, regardless
| of this setting | of this setting
| |
*/ */
defined('SHOW_DEBUG_BACKTRACE') OR define('SHOW_DEBUG_BACKTRACE', TRUE); defined('SHOW_DEBUG_BACKTRACE') or define('SHOW_DEBUG_BACKTRACE', true);
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -25,11 +24,11 @@ defined('SHOW_DEBUG_BACKTRACE') OR define('SHOW_DEBUG_BACKTRACE', TRUE);
| user, PHP under CGI with Apache suEXEC, etc.). Octal values should | user, PHP under CGI with Apache suEXEC, etc.). Octal values should
| always be used to set the mode correctly. | always be used to set the mode correctly.
| |
*/ */
defined('FILE_READ_MODE') OR define('FILE_READ_MODE', 0644); defined('FILE_READ_MODE') or define('FILE_READ_MODE', 0644);
defined('FILE_WRITE_MODE') OR define('FILE_WRITE_MODE', 0666); defined('FILE_WRITE_MODE') or define('FILE_WRITE_MODE', 0666);
defined('DIR_READ_MODE') OR define('DIR_READ_MODE', 0755); defined('DIR_READ_MODE') or define('DIR_READ_MODE', 0755);
defined('DIR_WRITE_MODE') OR define('DIR_WRITE_MODE', 0755); defined('DIR_WRITE_MODE') or define('DIR_WRITE_MODE', 0755);
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -38,15 +37,15 @@ defined('DIR_WRITE_MODE') OR define('DIR_WRITE_MODE', 0755);
| |
| These modes are used when working with fopen()/popen() | These modes are used when working with fopen()/popen()
| |
*/ */
defined('FOPEN_READ') OR define('FOPEN_READ', 'rb'); defined('FOPEN_READ') or define('FOPEN_READ', 'rb');
defined('FOPEN_READ_WRITE') OR define('FOPEN_READ_WRITE', 'r+b'); defined('FOPEN_READ_WRITE') or define('FOPEN_READ_WRITE', 'r+b');
defined('FOPEN_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care defined('FOPEN_WRITE_CREATE_DESTRUCTIVE') or define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
defined('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care defined('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE') or define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
defined('FOPEN_WRITE_CREATE') OR define('FOPEN_WRITE_CREATE', 'ab'); defined('FOPEN_WRITE_CREATE') or define('FOPEN_WRITE_CREATE', 'ab');
defined('FOPEN_READ_WRITE_CREATE') OR define('FOPEN_READ_WRITE_CREATE', 'a+b'); defined('FOPEN_READ_WRITE_CREATE') or define('FOPEN_READ_WRITE_CREATE', 'a+b');
defined('FOPEN_WRITE_CREATE_STRICT') OR define('FOPEN_WRITE_CREATE_STRICT', 'xb'); defined('FOPEN_WRITE_CREATE_STRICT') or define('FOPEN_WRITE_CREATE_STRICT', 'xb');
defined('FOPEN_READ_WRITE_CREATE_STRICT') OR define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b'); defined('FOPEN_READ_WRITE_CREATE_STRICT') or define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -72,14 +71,14 @@ defined('FOPEN_READ_WRITE_CREATE_STRICT') OR define('FOPEN_READ_WRITE_CREA
| Bash scripting: | Bash scripting:
| http://tldp.org/LDP/abs/html/exitcodes.html | http://tldp.org/LDP/abs/html/exitcodes.html
| |
*/ */
defined('EXIT_SUCCESS') OR define('EXIT_SUCCESS', 0); // no errors defined('EXIT_SUCCESS') or define('EXIT_SUCCESS', 0); // no errors
defined('EXIT_ERROR') OR define('EXIT_ERROR', 1); // generic error defined('EXIT_ERROR') or define('EXIT_ERROR', 1); // generic error
defined('EXIT_CONFIG') OR define('EXIT_CONFIG', 3); // configuration error defined('EXIT_CONFIG') or define('EXIT_CONFIG', 3); // configuration error
defined('EXIT_UNKNOWN_FILE') OR define('EXIT_UNKNOWN_FILE', 4); // file not found defined('EXIT_UNKNOWN_FILE') or define('EXIT_UNKNOWN_FILE', 4); // file not found
defined('EXIT_UNKNOWN_CLASS') OR define('EXIT_UNKNOWN_CLASS', 5); // unknown class defined('EXIT_UNKNOWN_CLASS') or define('EXIT_UNKNOWN_CLASS', 5); // unknown class
defined('EXIT_UNKNOWN_METHOD') OR define('EXIT_UNKNOWN_METHOD', 6); // unknown class member defined('EXIT_UNKNOWN_METHOD') or define('EXIT_UNKNOWN_METHOD', 6); // unknown class member
defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user input defined('EXIT_USER_INPUT') or define('EXIT_USER_INPUT', 7); // invalid user input
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error defined('EXIT_DATABASE') or define('EXIT_DATABASE', 8); // database error
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code defined('EXIT__AUTO_MIN') or define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code defined('EXIT__AUTO_MAX') or define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code

View File

@ -1,5 +1,7 @@
<?php <?php if (!defined('BASEPATH')) {
if (!defined('BASEPATH')) exit('No direct script access allowed'); exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS | DATABASE CONNECTIVITY SETTINGS
@ -13,97 +15,91 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
| EXPLANATION OF VARIABLES | EXPLANATION OF VARIABLES
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| |
| ['dsn'] The full DSN string describe a connection to the database. | ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server. | ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database | ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database | ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to | ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli. | ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported: | Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8, | cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv | odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added | ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder class | to the table name when using the Query Builder class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection | ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed. | ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching | ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored | ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database | ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database | ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used | NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7 | as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge). | (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which | There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a | can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these. | multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected. | Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix | ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['encrypt'] Whether or not to use an encrypted connection. | ['encrypt'] Whether or not to use an encrypted connection.
| |
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE | 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options: | 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
| |
| 'ssl_key' - Path to the private key file | 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file | 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file | 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format | 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':') | 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only) | 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
| |
| ['compress'] Whether or not to use client compression (MySQL only) | ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections | ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing | - good for ensuring strict SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections. | ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the main should fail. | ['failover'] array - A array with 0 or more data for connections if the main should fail.
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries. | ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| NOTE: Disabling this will also effectively disable both | NOTE: Disabling this will also effectively disable both
| $this->db->last_query() and profiling of DB queries. | $this->db->last_query() and profiling of DB queries.
| When you run a query, with this setting set to TRUE (default), | When you run a query, with this setting set to TRUE (default),
| CodeIgniter will store the SQL statement for debugging purposes. | CodeIgniter will store the SQL statement for debugging purposes.
| However, this may cause high memory usage, especially if you run | However, this may cause high memory usage, especially if you run
| a lot of SQL queries ... disable this to avoid that problem. | a lot of SQL queries ... disable this to avoid that problem.
| |
| The $active_group variable lets you choose which connection group to | The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group). | make active. By default there is only one group (the 'default' group).
| |
| The $query_builder variables lets you determine whether or not to load | The $query_builder variables lets you determine whether or not to load
| the query builder class. | the query builder class.
*/ */
$active_group = 'default'; $active_group = 'default';
$query_builder = TRUE; $query_builder = true;
$CI = & get_instance(); $CI = &get_instance();
if ($CI->config->item('db_driver') == 'sqlite') if ($CI->config->item('db_driver') == 'sqlite') {
{ $db['default']['database'] = $CI->config->item('db_database') . '.db';
$db['default']['database'] = $CI->config->item('db_database') . '.db'; $db['default']['dbdriver'] = 'sqlite3';
$db['default']['dbdriver'] = 'sqlite3'; } else {
} $db['default']['hostname'] = $CI->config->item('db_hostname');
else $db['default']['username'] = $CI->config->item('db_username');
{ $db['default']['password'] = $CI->config->item('db_password');
$db['default']['hostname'] = $CI->config->item('db_hostname'); $db['default']['database'] = $CI->config->item('db_database');
$db['default']['username'] = $CI->config->item('db_username'); if (null !== $CI->config->item('db_driver')) {
$db['default']['password'] = $CI->config->item('db_password'); $db['default']['dbdriver'] = $CI->config->item('db_driver');
$db['default']['database'] = $CI->config->item('db_database'); } else {
if (null !== $CI->config->item('db_driver')) $db['default']['dbdriver'] = 'mysqli';
{ }
$db['default']['dbdriver'] = $CI->config->item('db_driver');
}
else
{
$db['default']['dbdriver'] = 'mysqli';
}
} }
$db['default']['dbprefix'] = $CI->config->item('db_prefix'); $db['default']['dbprefix'] = $CI->config->item('db_prefix');
$db['default']['pconnect'] = FALSE; $db['default']['pconnect'] = false;
$db['default']['db_debug'] = TRUE; $db['default']['db_debug'] = true;
$db['default']['cache_on'] = FALSE; $db['default']['cache_on'] = false;
$db['default']['cachedir'] = ''; $db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8'; $db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = ''; $db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE; $db['default']['autoinit'] = true;
$db['default']['stricton'] = FALSE; $db['default']['stricton'] = false;
/* End of file database.php */ /* End of file database.php */
/* Location: ./application/config/database.php */ /* Location: ./application/config/database.php */

View File

@ -1,15 +1,17 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
$_doctypes = array( $_doctypes = array(
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">', 'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', 'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', 'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', 'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
'html5' => '<!DOCTYPE html>', 'html5' => '<!DOCTYPE html>',
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', 'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', 'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">' 'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">',
); );
/* End of file doctypes.php */ /* End of file doctypes.php */
/* Location: ./application/config/doctypes.php */ /* Location: ./application/config/doctypes.php */

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| Foreign Characters | Foreign Characters
@ -6,59 +9,59 @@
| This file contains an array of foreign characters for transliteration | This file contains an array of foreign characters for transliteration
| conversion used by the Text helper | conversion used by the Text helper
| |
*/ */
$foreign_characters = array( $foreign_characters = array(
'/ä|æ|ǽ/' => 'ae', '/ä|æ|ǽ/' => 'ae',
'/ö|œ/' => 'oe', '/ö|œ/' => 'oe',
'/ü/' => 'ue', '/ü/' => 'ue',
'/Ä/' => 'Ae', '/Ä/' => 'Ae',
'/Ü/' => 'Ue', '/Ü/' => 'Ue',
'/Ö/' => 'Oe', '/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A', '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a', '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a',
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C', '/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
'/ç|ć|ĉ|ċ|č/' => 'c', '/ç|ć|ĉ|ċ|č/' => 'c',
'/Ð|Ď|Đ/' => 'D', '/Ð|Ď|Đ/' => 'D',
'/ð|ď|đ/' => 'd', '/ð|ď|đ/' => 'd',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E', '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e', '/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e',
'/Ĝ|Ğ|Ġ|Ģ/' => 'G', '/Ĝ|Ğ|Ġ|Ģ/' => 'G',
'/ĝ|ğ|ġ|ģ/' => 'g', '/ĝ|ğ|ġ|ģ/' => 'g',
'/Ĥ|Ħ/' => 'H', '/Ĥ|Ħ/' => 'H',
'/ĥ|ħ/' => 'h', '/ĥ|ħ/' => 'h',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I', '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i', '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i',
'/Ĵ/' => 'J', '/Ĵ/' => 'J',
'/ĵ/' => 'j', '/ĵ/' => 'j',
'/Ķ/' => 'K', '/Ķ/' => 'K',
'/ķ/' => 'k', '/ķ/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L', '/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł/' => 'l', '/ĺ|ļ|ľ|ŀ|ł/' => 'l',
'/Ñ|Ń|Ņ|Ň/' => 'N', '/Ñ|Ń|Ņ|Ň/' => 'N',
'/ñ|ń|ņ|ň|ʼn/' => 'n', '/ñ|ń|ņ|ň|ʼn/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O', '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o', '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o',
'/Ŕ|Ŗ|Ř/' => 'R', '/Ŕ|Ŗ|Ř/' => 'R',
'/ŕ|ŗ|ř/' => 'r', '/ŕ|ŗ|ř/' => 'r',
'/Ś|Ŝ|Ş|Š/' => 'S', '/Ś|Ŝ|Ş|Š/' => 'S',
'/ś|ŝ|ş|š|ſ/' => 's', '/ś|ŝ|ş|š|ſ/' => 's',
'/Ţ|Ť|Ŧ/' => 'T', '/Ţ|Ť|Ŧ/' => 'T',
'/ţ|ť|ŧ/' => 't', '/ţ|ť|ŧ/' => 't',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U', '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u', '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u',
'/Ý|Ÿ|Ŷ/' => 'Y', '/Ý|Ÿ|Ŷ/' => 'Y',
'/ý|ÿ|ŷ/' => 'y', '/ý|ÿ|ŷ/' => 'y',
'/Ŵ/' => 'W', '/Ŵ/' => 'W',
'/ŵ/' => 'w', '/ŵ/' => 'w',
'/Ź|Ż|Ž/' => 'Z', '/Ź|Ż|Ž/' => 'Z',
'/ź|ż|ž/' => 'z', '/ź|ż|ž/' => 'z',
'/Æ|Ǽ/' => 'AE', '/Æ|Ǽ/' => 'AE',
'/ß/'=> 'ss', '/ß/' => 'ss',
'/IJ/' => 'IJ', '/IJ/' => 'IJ',
'/ij/' => 'ij', '/ij/' => 'ij',
'/Œ/' => 'OE', '/Œ/' => 'OE',
'/ƒ/' => 'f' '/ƒ/' => 'f',
); );
/* End of file foreign_chars.php */ /* End of file foreign_chars.php */
/* Location: ./application/config/foreign_chars.php */ /* Location: ./application/config/foreign_chars.php */

View File

@ -1,252 +1,247 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* Classes list:
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
//geshi languages //geshi languages
$config['geshi_languages'] = array( $config['geshi_languages'] = array(
'4cs' => '4CS', '4cs' => '4CS',
'6502acme' => 'MOS 6502', '6502acme' => 'MOS 6502',
'6502kickass' => 'MOS 6502 Kick Assembler', '6502kickass' => 'MOS 6502 Kick Assembler',
'6502tasm' => 'MOS 6502 TASM/64TASS', '6502tasm' => 'MOS 6502 TASM/64TASS',
'68000devpac' => 'Motorola 68000 Devpac Assembler', '68000devpac' => 'Motorola 68000 Devpac Assembler',
'abap' => 'ABAP', 'abap' => 'ABAP',
'actionscript' => 'Actionscript', 'actionscript' => 'Actionscript',
'actionscript3' => 'ActionScript3', 'actionscript3' => 'ActionScript3',
'ada' => 'Ada', 'ada' => 'Ada',
'aimms' =>'AIMMS', 'aimms' => 'AIMMS',
'algol68' => 'ALGOL 68', 'algol68' => 'ALGOL 68',
'apache' => 'Apache', 'apache' => 'Apache',
'applescript' => 'AppleScript', 'applescript' => 'AppleScript',
'apt_sources' => 'Apt sources.list', 'apt_sources' => 'Apt sources.list',
'arm' => 'ARM Assembler', 'arm' => 'ARM Assembler',
'asm' => 'x86 Assembler', 'asm' => 'x86 Assembler',
'asymptote' => 'asymptote', 'asymptote' => 'asymptote',
'asp' => 'ASP', 'asp' => 'ASP',
'autoconf' => 'autoconf', 'autoconf' => 'autoconf',
'autohotkey' => 'Autohotkey', 'autohotkey' => 'Autohotkey',
'autoit' => 'AutoIT', 'autoit' => 'AutoIT',
'avisynth' => 'AviSynth', 'avisynth' => 'AviSynth',
'awk' => 'Awk', 'awk' => 'Awk',
'bascomavr' => 'BASCOM AVR', 'bascomavr' => 'BASCOM AVR',
'bash' => 'Bash', 'bash' => 'Bash',
'basic4gl' => 'Basic4GL', 'basic4gl' => 'Basic4GL',
'bbcode' => 'BBCode', 'bbcode' => 'BBCode',
'bf' => 'Brainfuck', 'bf' => 'Brainfuck',
'bibtex' => 'BibTeX', 'bibtex' => 'BibTeX',
'blitzbasic' => 'BlitzBasic', 'blitzbasic' => 'BlitzBasic',
'bnf' => 'BNF (Backus-Naur form)', 'bnf' => 'BNF (Backus-Naur form)',
'boo' => 'Boo', 'boo' => 'Boo',
'c' => 'C', 'c' => 'C',
'c_loadrunner' => 'C (for LoadRunner)', 'c_loadrunner' => 'C (for LoadRunner)',
'c_mac' => 'C for Macs', 'c_mac' => 'C for Macs',
'c_winapi' => 'C with WiAPI', 'c_winapi' => 'C with WiAPI',
'cpp' => 'C++', 'cpp' => 'C++',
'caddcl' => 'CAD DCL (Dialog Control Language)', 'caddcl' => 'CAD DCL (Dialog Control Language)',
'cadlisp' => 'AutoCAD/IntelliCAD Lisp', 'cadlisp' => 'AutoCAD/IntelliCAD Lisp',
'cfdg' => 'CFDG', 'cfdg' => 'CFDG',
'cfm' => 'ColdFusion', 'cfm' => 'ColdFusion',
'chaiscript' => 'ChaiScript', 'chaiscript' => 'ChaiScript',
'chapel' => 'Chapel', 'chapel' => 'Chapel',
'cil' => 'CIL (Common Intermediate Language)', 'cil' => 'CIL (Common Intermediate Language)',
'clojure' => 'Clojure', 'clojure' => 'Clojure',
'cmake' => 'CMake', 'cmake' => 'CMake',
'cobol' => 'COBOL', 'cobol' => 'COBOL',
'coffeescript' => 'CoffeeScript', 'coffeescript' => 'CoffeeScript',
'cpp-winapi' => 'C++ with WinAPI', 'cpp-winapi' => 'C++ with WinAPI',
'csharp' => 'C#', 'csharp' => 'C#',
'css' => 'CSS', 'css' => 'CSS',
'cuesheet' => 'Cuesheet', 'cuesheet' => 'Cuesheet',
'd' => 'D', 'd' => 'D',
'dart' => 'Dart', 'dart' => 'Dart',
'dcs' => 'DCS', 'dcs' => 'DCS',
'dcl' => 'DCL', 'dcl' => 'DCL',
'dcpu16' => 'DCPU/16 Assembly', 'dcpu16' => 'DCPU/16 Assembly',
'delphi' => 'Delphi (Object Pascal)', 'delphi' => 'Delphi (Object Pascal)',
'diff' => 'Diff-output', 'diff' => 'Diff-output',
'div' => 'DIV', 'div' => 'DIV',
'dos' => 'DOS', 'dos' => 'DOS',
'dot' => 'dot', 'dot' => 'dot',
'e' => 'E', 'e' => 'E',
'ecmascript' => 'ECMAScript', 'ecmascript' => 'ECMAScript',
'eiffel' => 'Eiffel', 'eiffel' => 'Eiffel',
'email' => 'Email (mbox/eml/RFC format)', 'email' => 'Email (mbox/eml/RFC format)',
'epc' => 'Enerscript', 'epc' => 'Enerscript',
'erlang' => 'Erlang', 'erlang' => 'Erlang',
'euphoria' => 'Euphoria', 'euphoria' => 'Euphoria',
'ezt' => 'EZT', 'ezt' => 'EZT',
'f1' => 'Formula One', 'f1' => 'Formula One',
'falcon' => 'Falcon', 'falcon' => 'Falcon',
'fo' => 'fo', 'fo' => 'fo',
'fortran' => 'Fortran', 'fortran' => 'Fortran',
'freebasic' => 'FreeBasic', 'freebasic' => 'FreeBasic',
'freeswitch' => 'FreeSWITCH', 'freeswitch' => 'FreeSWITCH',
'fsharp' => 'F#', 'fsharp' => 'F#',
'gambas' => 'GAMBAS', 'gambas' => 'GAMBAS',
'gdb' => 'GDB', 'gdb' => 'GDB',
'genero' => 'Genero', 'genero' => 'Genero',
'genie' => 'Genie', 'genie' => 'Genie',
'gettext' => 'GNU Gettext .po/.pot', 'gettext' => 'GNU Gettext .po/.pot',
'glsl' => 'glSlang', 'glsl' => 'glSlang',
'gml' => 'GML', 'gml' => 'GML',
'gnuplot' => 'Gnuplot script', 'gnuplot' => 'Gnuplot script',
'go' => 'Go', 'go' => 'Go',
'groovy' => 'Groovy', 'groovy' => 'Groovy',
'gwbasic' => 'GwBasic', 'gwbasic' => 'GwBasic',
'haskell' => 'Haskell', 'haskell' => 'Haskell',
'haxe' => 'Haxe', 'haxe' => 'Haxe',
'hicest' => 'HicEst', 'hicest' => 'HicEst',
'hq9plus' => 'HQ9+', 'hq9plus' => 'HQ9+',
'html4strict' => 'HTML 4.01 strict', 'html4strict' => 'HTML 4.01 strict',
'html5' => 'HTML5', 'html5' => 'HTML5',
'icon' => 'Icon', 'icon' => 'Icon',
'idl' => 'Unoidl', 'idl' => 'Unoidl',
'ini' => 'INI', 'ini' => 'INI',
'inno' => 'Inno Script', 'inno' => 'Inno Script',
'intercal' => 'INTERCAL', 'intercal' => 'INTERCAL',
'io' => 'Io', 'io' => 'Io',
'ispfpanel' => 'ISPF Panel', 'ispfpanel' => 'ISPF Panel',
'j' => 'J', 'j' => 'J',
'java' => 'Java', 'java' => 'Java',
'java5' => 'Java 5', 'java5' => 'Java 5',
'javascript' => 'JavaScript', 'javascript' => 'JavaScript',
'jcl' => 'Job Control Language', 'jcl' => 'Job Control Language',
'jquery' => 'jQuery 1.3', 'jquery' => 'jQuery 1.3',
//'kixtart' => 'PHP', //'kixtart' => 'PHP',
'klonec' => 'KLone with C', 'klonec' => 'KLone with C',
'klonecpp' => 'KLone with C++', 'klonecpp' => 'KLone with C++',
'kotlin' => 'Kotlin', 'kotlin' => 'Kotlin',
'latex' => 'LaTeX', 'latex' => 'LaTeX',
'lb' => 'Liberty BASIC', 'lb' => 'Liberty BASIC',
'ldif' => 'LDIF', 'ldif' => 'LDIF',
'lisp' => 'Generic Lisp', 'lisp' => 'Generic Lisp',
'llvm' => 'LLVM', 'llvm' => 'LLVM',
'locobasic' => 'Locomotive Basic (Amstrad CPC series)', 'locobasic' => 'Locomotive Basic (Amstrad CPC series)',
'logcat' => 'Logcat', 'logcat' => 'Logcat',
'logtalk' => 'Logtalk', 'logtalk' => 'Logtalk',
'lolcode' => 'LOLcode', 'lolcode' => 'LOLcode',
'lotusformulas' => '@Formula/@Command', 'lotusformulas' => '@Formula/@Command',
'lotusscript' => 'LotusScript', 'lotusscript' => 'LotusScript',
'lscript' => 'Lightwave Script', 'lscript' => 'Lightwave Script',
'lsl2' => 'Linden Scripting', 'lsl2' => 'Linden Scripting',
'lua' => 'Lua', 'lua' => 'Lua',
'm68k' => 'Motorola 68000 Assembler', 'm68k' => 'Motorola 68000 Assembler',
'magiksf' => 'MagikSF', 'magiksf' => 'MagikSF',
'make' => 'Make', 'make' => 'Make',
'mapbasic' => 'MapBasic', 'mapbasic' => 'MapBasic',
'matlab' => 'Matlab M-file', 'matlab' => 'Matlab M-file',
'mirc' => 'mIRC Scripting', 'mirc' => 'mIRC Scripting',
'mmix' => 'MMIX Assembler', 'mmix' => 'MMIX Assembler',
'modula2' => 'Modula-2', 'modula2' => 'Modula-2',
'modula3' => 'Modula-3', 'modula3' => 'Modula-3',
'mpasm' => 'Microchip Assembler', 'mpasm' => 'Microchip Assembler',
'mxml' => 'MXML', 'mxml' => 'MXML',
'mysql' => 'MySQL', 'mysql' => 'MySQL',
'nagios' => 'Nagios', 'nagios' => 'Nagios',
'netrexx' => 'NetRexx', 'netrexx' => 'NetRexx',
'newlisp' => 'newLISP', 'newlisp' => 'newLISP',
'nginx' => 'nginx', 'nginx' => 'nginx',
'nimrod' => 'Nimrod', 'nimrod' => 'Nimrod',
'nsis' => 'Nullsoft Scriptable Install System', 'nsis' => 'Nullsoft Scriptable Install System',
'oberon2' => 'Oberon-2', 'oberon2' => 'Oberon-2',
'objc' => 'Objective-C', 'objc' => 'Objective-C',
'objeck' => 'Objeck Programming Language', 'objeck' => 'Objeck Programming Language',
'ocaml' => 'OCaml (Objective Caml)', 'ocaml' => 'OCaml (Objective Caml)',
'octave' => 'GNU Octave M-file', 'octave' => 'GNU Octave M-file',
'oobas' => 'OpenOffice.org Basic', 'oobas' => 'OpenOffice.org Basic',
'oorexx' => 'ooRexx', 'oorexx' => 'ooRexx',
'oracle11' => 'Oracle 11i', 'oracle11' => 'Oracle 11i',
'oracle8' => 'Oracle 8', 'oracle8' => 'Oracle 8',
'oxygene' => 'Delphi Prism (Oxygene)', 'oxygene' => 'Delphi Prism (Oxygene)',
'oz' => 'Oz', 'oz' => 'Oz',
'parasail' => 'ParaSail', 'parasail' => 'ParaSail',
'parigp' => 'PARI/GP', 'parigp' => 'PARI/GP',
'pascal' => 'Pascal', 'pascal' => 'Pascal',
'pcre' => 'PCRE', 'pcre' => 'PCRE',
'per' => 'Per (forms)', 'per' => 'Per (forms)',
'perl' => 'Perl', 'perl' => 'Perl',
'perl6' => 'Perl 6', 'perl6' => 'Perl 6',
'pf' => 'OpenBSD packet filter', 'pf' => 'OpenBSD packet filter',
'php' => 'PHP', 'php' => 'PHP',
'pic16' => 'PIC16 Assembler', 'pic16' => 'PIC16 Assembler',
'pike' => 'Pike', 'pike' => 'Pike',
'pixelbender' => 'Pixel Bender 1.0', 'pixelbender' => 'Pixel Bender 1.0',
'pli' => 'PL/I', 'pli' => 'PL/I',
'plsql' => 'Oracle 9.2 PL/SQL', 'plsql' => 'Oracle 9.2 PL/SQL',
'postgresql' => 'PostgreSQL', 'postgresql' => 'PostgreSQL',
'postscript' => 'Postscript', 'postscript' => 'Postscript',
'povray' => 'Povray', 'povray' => 'Povray',
'powerbuilder' => 'PowerBuilder (PowerScript)', 'powerbuilder' => 'PowerBuilder (PowerScript)',
'powershell' => 'PowerShell', 'powershell' => 'PowerShell',
'proftpd' => 'ProFTPd', 'proftpd' => 'ProFTPd',
'progress' => 'Progress', 'progress' => 'Progress',
'prolog' => 'Prolog', 'prolog' => 'Prolog',
'properties' => 'Property', 'properties' => 'Property',
'providex' => 'ProvideX', 'providex' => 'ProvideX',
'purebasic' => 'PureBasic', 'purebasic' => 'PureBasic',
'pys60' => 'Python for S60', 'pys60' => 'Python for S60',
'python' => 'Python', 'python' => 'Python',
'q' => 'q/kdb+', 'q' => 'q/kdb+',
'qbasic' => 'QBasic/QuickBASIC', 'qbasic' => 'QBasic/QuickBASIC',
'qml' => 'QML', 'qml' => 'QML',
'racket' => 'Racket', 'racket' => 'Racket',
'rails' => 'Ruby (with Ruby on Rails Framework)', 'rails' => 'Ruby (with Ruby on Rails Framework)',
'rbs' => 'RBS Script', 'rbs' => 'RBS Script',
'rebol' => 'Rebol', 'rebol' => 'Rebol',
'reg' => 'Microsoft Registry Editor', 'reg' => 'Microsoft Registry Editor',
'rexx' => 'Rexx', 'rexx' => 'Rexx',
'robots' => 'robots.txt', 'robots' => 'robots.txt',
'rpmspec' => 'RPM Spec', 'rpmspec' => 'RPM Spec',
'rsplus' => 'R', 'rsplus' => 'R',
'ruby' => 'Ruby', 'ruby' => 'Ruby',
'rust' => 'Rust', 'rust' => 'Rust',
'sas' => 'SAS', 'sas' => 'SAS',
'scala' => 'Scala', 'scala' => 'Scala',
'scheme' => 'Scheme', 'scheme' => 'Scheme',
'scilab' => 'SciLab', 'scilab' => 'SciLab',
'scl' => 'SCL', 'scl' => 'SCL',
'sdlbasic' => 'sdlBasic', 'sdlbasic' => 'sdlBasic',
'smalltalk' => 'Smalltalk', 'smalltalk' => 'Smalltalk',
'smarty' => 'Smarty template', 'smarty' => 'Smarty template',
'spark' => 'SPARK', 'spark' => 'SPARK',
'sparql' => 'SPARQL', 'sparql' => 'SPARQL',
'sql' => 'SQL', 'sql' => 'SQL',
'standardml' => 'StandardML', 'standardml' => 'StandardML',
'stonescript' => 'StoneScript', 'stonescript' => 'StoneScript',
'systemverilog' => 'SystemVerilog IEEE 1800-2009(draft8)', 'systemverilog' => 'SystemVerilog IEEE 1800-2009(draft8)',
'tcl' => 'TCL/iTCL', 'tcl' => 'TCL/iTCL',
'teraterm' => 'Tera Term Macro', 'teraterm' => 'Tera Term Macro',
'text' => 'Plain Text', 'text' => 'Plain Text',
'thinbasic' => 'thinBasic', 'thinbasic' => 'thinBasic',
'tsql' => 'T-SQL', 'tsql' => 'T-SQL',
'typoscript' => 'TypoScript', 'typoscript' => 'TypoScript',
'unicon' => 'Unicon', 'unicon' => 'Unicon',
'uscript' => 'UnrealScript', 'uscript' => 'UnrealScript',
'upc' => 'UPC', 'upc' => 'UPC',
'urbi' => 'Urbi', 'urbi' => 'Urbi',
'vala' => 'Vala', 'vala' => 'Vala',
'vb' => 'Visual Basic', 'vb' => 'Visual Basic',
'vbnet' => 'VB.NET', 'vbnet' => 'VB.NET',
'vbscript' => 'VBScript', 'vbscript' => 'VBScript',
'vedit' => 'Vedit macro language', 'vedit' => 'Vedit macro language',
'verilog' => 'Verilog', 'verilog' => 'Verilog',
'vhdl' => 'VHDL', 'vhdl' => 'VHDL',
'vim' => 'Vim scripting', 'vim' => 'Vim scripting',
'visualfoxpro' => 'Visual FoxPro', 'visualfoxpro' => 'Visual FoxPro',
'visualprolog' => 'Visual Prolog', 'visualprolog' => 'Visual Prolog',
'whitespace' => 'Whitespace', 'whitespace' => 'Whitespace',
'whois' => 'Whois response (RPSL format)', 'whois' => 'Whois response (RPSL format)',
'winbatch' => 'WinBatch', 'winbatch' => 'WinBatch',
'xbasic' => 'XBasic', 'xbasic' => 'XBasic',
'xml' => 'XML', 'xml' => 'XML',
'xorg_conf' => 'xorg.conf', 'xorg_conf' => 'xorg.conf',
'xpp' => 'Axapta/Dynamics Ax X++', 'xpp' => 'Axapta/Dynamics Ax X++',
'yaml' => 'YAML', 'yaml' => 'YAML',
'z80' => 'ZiLOG Z80 Assembler', 'z80' => 'ZiLOG Z80 Assembler',
'zxbasic' => 'ZXBasic', 'zxbasic' => 'ZXBasic',
); );

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------
| Hooks | Hooks
@ -6,11 +9,9 @@
| This file lets you define "hooks" to extend CI without hacking the core | This file lets you define "hooks" to extend CI without hacking the core
| files. Please see the user guide for info: | files. Please see the user guide for info:
| |
| http://codeigniter.com/user_guide/general/hooks.html | http://codeigniter.com/user_guide/general/hooks.html
| |
*/ */
/* End of file hooks.php */ /* End of file hooks.php */
/* Location: ./application/config/hooks.php */ /* Location: ./application/config/hooks.php */

View File

@ -1,41 +1,38 @@
<?php defined('BASEPATH') OR exit('No direct script access allowed'); <?php defined('BASEPATH') or exit('No direct script access allowed');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Enable/Disable Migrations | Enable/Disable Migrations
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| |
| Migrations are disabled by default but should be enabled | Migrations are disabled by default but should be enabled
| whenever you intend to do a schema migration. | whenever you intend to do a schema migration.
| |
*/ */
$config['migration_enabled'] = FALSE; $config['migration_enabled'] = false;
/*
/* |--------------------------------------------------------------------------
|-------------------------------------------------------------------------- | Migrations version
| Migrations version |--------------------------------------------------------------------------
|-------------------------------------------------------------------------- |
| | This is used to set migration version that the file system should be on.
| This is used to set migration version that the file system should be on. | If you run $this->migration->latest() this is the version that schema will
| If you run $this->migration->latest() this is the version that schema will | be upgraded / downgraded to.
| be upgraded / downgraded to. |
| */
*/ $config['migration_version'] = 0;
$config['migration_version'] = 0;
/*
|--------------------------------------------------------------------------
/* | Migrations Path
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
| Migrations Path |
|-------------------------------------------------------------------------- | Path to your migrations folder.
| | Typically, it will be within your application path.
| Path to your migrations folder. | Also, writing permission is required within the migrations path.
| Typically, it will be within your application path. |
| Also, writing permission is required within the migrations path. */
| $config['migration_path'] = APPPATH . 'migrations/';
*/
$config['migration_path'] = APPPATH . 'migrations/'; /* End of file migration.php */
/* Location: ./application/config/migration.php */
/* End of file migration.php */
/* Location: ./application/config/migration.php */

View File

@ -1,5 +1,4 @@
<?php <?php defined('BASEPATH') or exit('No direct script access allowed');
defined('BASEPATH') OR exit('No direct script access allowed');
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
@ -8,177 +7,177 @@ defined('BASEPATH') OR exit('No direct script access allowed');
| This file contains an array of mime types. It is used by the | This file contains an array of mime types. It is used by the
| Upload class to help identify allowed file types. | Upload class to help identify allowed file types.
| |
*/ */
return array( return array(
'hqx' => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'), 'hqx' => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
'cpt' => 'application/mac-compactpro', 'cpt' => 'application/mac-compactpro',
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'), 'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'), 'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
'dms' => 'application/octet-stream', 'dms' => 'application/octet-stream',
'lha' => 'application/octet-stream', 'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream', 'lzh' => 'application/octet-stream',
'exe' => array('application/octet-stream', 'application/x-msdownload'), 'exe' => array('application/octet-stream', 'application/x-msdownload'),
'class' => 'application/octet-stream', 'class' => 'application/octet-stream',
'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'), 'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'),
'so' => 'application/octet-stream', 'so' => 'application/octet-stream',
'sea' => 'application/octet-stream', 'sea' => 'application/octet-stream',
'dll' => 'application/octet-stream', 'dll' => 'application/octet-stream',
'oda' => 'application/oda', 'oda' => 'application/oda',
'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'), 'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'),
'ai' => array('application/pdf', 'application/postscript'), 'ai' => array('application/pdf', 'application/postscript'),
'eps' => 'application/postscript', 'eps' => 'application/postscript',
'ps' => 'application/postscript', 'ps' => 'application/postscript',
'smi' => 'application/smil', 'smi' => 'application/smil',
'smil' => 'application/smil', 'smil' => 'application/smil',
'mif' => 'application/vnd.mif', 'mif' => 'application/vnd.mif',
'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'), 'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'), 'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'),
'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'), 'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'),
'wbxml' => 'application/wbxml', 'wbxml' => 'application/wbxml',
'wmlc' => 'application/wmlc', 'wmlc' => 'application/wmlc',
'dcr' => 'application/x-director', 'dcr' => 'application/x-director',
'dir' => 'application/x-director', 'dir' => 'application/x-director',
'dxr' => 'application/x-director', 'dxr' => 'application/x-director',
'dvi' => 'application/x-dvi', 'dvi' => 'application/x-dvi',
'gtar' => 'application/x-gtar', 'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip', 'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip', 'gzip' => 'application/x-gzip',
'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'), 'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'),
'php4' => 'application/x-httpd-php', 'php4' => 'application/x-httpd-php',
'php3' => 'application/x-httpd-php', 'php3' => 'application/x-httpd-php',
'phtml' => 'application/x-httpd-php', 'phtml' => 'application/x-httpd-php',
'phps' => 'application/x-httpd-php-source', 'phps' => 'application/x-httpd-php-source',
'js' => array('application/x-javascript', 'text/plain'), 'js' => array('application/x-javascript', 'text/plain'),
'swf' => 'application/x-shockwave-flash', 'swf' => 'application/x-shockwave-flash',
'sit' => 'application/x-stuffit', 'sit' => 'application/x-stuffit',
'tar' => 'application/x-tar', 'tar' => 'application/x-tar',
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'), 'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
'z' => 'application/x-compress', 'z' => 'application/x-compress',
'xhtml' => 'application/xhtml+xml', 'xhtml' => 'application/xhtml+xml',
'xht' => 'application/xhtml+xml', 'xht' => 'application/xhtml+xml',
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'), 'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'),
'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'), 'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'),
'mid' => 'audio/midi', 'mid' => 'audio/midi',
'midi' => 'audio/midi', 'midi' => 'audio/midi',
'mpga' => 'audio/mpeg', 'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg', 'mp2' => 'audio/mpeg',
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'), 'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
'aif' => array('audio/x-aiff', 'audio/aiff'), 'aif' => array('audio/x-aiff', 'audio/aiff'),
'aiff' => array('audio/x-aiff', 'audio/aiff'), 'aiff' => array('audio/x-aiff', 'audio/aiff'),
'aifc' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff',
'ram' => 'audio/x-pn-realaudio', 'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio', 'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin', 'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio', 'ra' => 'audio/x-realaudio',
'rv' => 'video/vnd.rn-realvideo', 'rv' => 'video/vnd.rn-realvideo',
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'), 'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'), 'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'),
'gif' => 'image/gif', 'gif' => 'image/gif',
'jpeg' => array('image/jpeg', 'image/pjpeg'), 'jpeg' => array('image/jpeg', 'image/pjpeg'),
'jpg' => array('image/jpeg', 'image/pjpeg'), 'jpg' => array('image/jpeg', 'image/pjpeg'),
'jpe' => array('image/jpeg', 'image/pjpeg'), 'jpe' => array('image/jpeg', 'image/pjpeg'),
'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
'png' => array('image/png', 'image/x-png'), 'png' => array('image/png', 'image/x-png'),
'tiff' => 'image/tiff', 'tiff' => 'image/tiff',
'tif' => 'image/tiff', 'tif' => 'image/tiff',
'css' => array('text/css', 'text/plain'), 'css' => array('text/css', 'text/plain'),
'html' => array('text/html', 'text/plain'), 'html' => array('text/html', 'text/plain'),
'htm' => array('text/html', 'text/plain'), 'htm' => array('text/html', 'text/plain'),
'shtml' => array('text/html', 'text/plain'), 'shtml' => array('text/html', 'text/plain'),
'txt' => 'text/plain', 'txt' => 'text/plain',
'text' => 'text/plain', 'text' => 'text/plain',
'log' => array('text/plain', 'text/x-log'), 'log' => array('text/plain', 'text/x-log'),
'rtx' => 'text/richtext', 'rtx' => 'text/richtext',
'rtf' => 'text/rtf', 'rtf' => 'text/rtf',
'xml' => array('application/xml', 'text/xml', 'text/plain'), 'xml' => array('application/xml', 'text/xml', 'text/plain'),
'xsl' => array('application/xml', 'text/xsl', 'text/xml'), 'xsl' => array('application/xml', 'text/xsl', 'text/xml'),
'mpeg' => 'video/mpeg', 'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg', 'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg', 'mpe' => 'video/mpeg',
'qt' => 'video/quicktime', 'qt' => 'video/quicktime',
'mov' => 'video/quicktime', 'mov' => 'video/quicktime',
'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'), 'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'),
'movie' => 'video/x-sgi-movie', 'movie' => 'video/x-sgi-movie',
'doc' => array('application/msword', 'application/vnd.ms-office'), 'doc' => array('application/msword', 'application/vnd.ms-office'),
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'), 'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
'dot' => array('application/msword', 'application/vnd.ms-office'), 'dot' => array('application/msword', 'application/vnd.ms-office'),
'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'), 'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'),
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'), 'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
'word' => array('application/msword', 'application/octet-stream'), 'word' => array('application/msword', 'application/octet-stream'),
'xl' => 'application/excel', 'xl' => 'application/excel',
'eml' => 'message/rfc822', 'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json'), 'json' => array('application/json', 'text/json'),
'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'), 'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
'p10' => array('application/x-pkcs10', 'application/pkcs10'), 'p10' => array('application/x-pkcs10', 'application/pkcs10'),
'p12' => 'application/x-pkcs12', 'p12' => 'application/x-pkcs12',
'p7a' => 'application/x-pkcs7-signature', 'p7a' => 'application/x-pkcs7-signature',
'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), 'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'), 'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
'p7r' => 'application/x-pkcs7-certreqresp', 'p7r' => 'application/x-pkcs7-certreqresp',
'p7s' => 'application/pkcs7-signature', 'p7s' => 'application/pkcs7-signature',
'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'), 'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'),
'crl' => array('application/pkix-crl', 'application/pkcs-crl'), 'crl' => array('application/pkix-crl', 'application/pkcs-crl'),
'der' => 'application/x-x509-ca-cert', 'der' => 'application/x-x509-ca-cert',
'kdb' => 'application/octet-stream', 'kdb' => 'application/octet-stream',
'pgp' => 'application/pgp', 'pgp' => 'application/pgp',
'gpg' => 'application/gpg-keys', 'gpg' => 'application/gpg-keys',
'sst' => 'application/octet-stream', 'sst' => 'application/octet-stream',
'csr' => 'application/octet-stream', 'csr' => 'application/octet-stream',
'rsa' => 'application/x-pkcs7', 'rsa' => 'application/x-pkcs7',
'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'), 'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'),
'3g2' => 'video/3gpp2', '3g2' => 'video/3gpp2',
'3gp' => array('video/3gp', 'video/3gpp'), '3gp' => array('video/3gp', 'video/3gpp'),
'mp4' => 'video/mp4', 'mp4' => 'video/mp4',
'm4a' => 'audio/x-m4a', 'm4a' => 'audio/x-m4a',
'f4v' => array('video/mp4', 'video/x-f4v'), 'f4v' => array('video/mp4', 'video/x-f4v'),
'flv' => 'video/x-flv', 'flv' => 'video/x-flv',
'webm' => 'video/webm', 'webm' => 'video/webm',
'aac' => 'audio/x-acc', 'aac' => 'audio/x-acc',
'm4u' => 'application/vnd.mpegurl', 'm4u' => 'application/vnd.mpegurl',
'm3u' => 'text/plain', 'm3u' => 'text/plain',
'xspf' => 'application/xspf+xml', 'xspf' => 'application/xspf+xml',
'vlc' => 'application/videolan', 'vlc' => 'application/videolan',
'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'), 'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'),
'au' => 'audio/x-au', 'au' => 'audio/x-au',
'ac3' => 'audio/ac3', 'ac3' => 'audio/ac3',
'flac' => 'audio/x-flac', 'flac' => 'audio/x-flac',
'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'), 'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'),
'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'), 'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'),
'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'), 'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'),
'ics' => 'text/calendar', 'ics' => 'text/calendar',
'ical' => 'text/calendar', 'ical' => 'text/calendar',
'zsh' => 'text/x-scriptzsh', 'zsh' => 'text/x-scriptzsh',
'7z' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), '7z' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
'7zip' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), '7zip' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'), 'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'), 'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'),
'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'), 'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
'svg' => array('image/svg+xml', 'application/xml', 'text/xml'), 'svg' => array('image/svg+xml', 'application/xml', 'text/xml'),
'vcf' => 'text/x-vcard', 'vcf' => 'text/x-vcard',
'srt' => array('text/srt', 'text/plain'), 'srt' => array('text/srt', 'text/plain'),
'vtt' => array('text/vtt', 'text/plain'), 'vtt' => array('text/vtt', 'text/plain'),
'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'), 'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'),
'odc' => 'application/vnd.oasis.opendocument.chart', 'odc' => 'application/vnd.oasis.opendocument.chart',
'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otc' => 'application/vnd.oasis.opendocument.chart-template',
'odf' => 'application/vnd.oasis.opendocument.formula', 'odf' => 'application/vnd.oasis.opendocument.formula',
'otf' => 'application/vnd.oasis.opendocument.formula-template', 'otf' => 'application/vnd.oasis.opendocument.formula-template',
'odg' => 'application/vnd.oasis.opendocument.graphics', 'odg' => 'application/vnd.oasis.opendocument.graphics',
'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'otg' => 'application/vnd.oasis.opendocument.graphics-template',
'odi' => 'application/vnd.oasis.opendocument.image', 'odi' => 'application/vnd.oasis.opendocument.image',
'oti' => 'application/vnd.oasis.opendocument.image-template', 'oti' => 'application/vnd.oasis.opendocument.image-template',
'odp' => 'application/vnd.oasis.opendocument.presentation', 'odp' => 'application/vnd.oasis.opendocument.presentation',
'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
'odt' => 'application/vnd.oasis.opendocument.text', 'odt' => 'application/vnd.oasis.opendocument.text',
'odm' => 'application/vnd.oasis.opendocument.text-master', 'odm' => 'application/vnd.oasis.opendocument.text-master',
'ott' => 'application/vnd.oasis.opendocument.text-template', 'ott' => 'application/vnd.oasis.opendocument.text-template',
'oth' => 'application/vnd.oasis.opendocument.text-web' 'oth' => 'application/vnd.oasis.opendocument.text-web',
); );

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------
| Profiler Sections | Profiler Sections
@ -7,11 +10,9 @@
| data are displayed when the Profiler is enabled. | data are displayed when the Profiler is enabled.
| Please see the user guide for info: | Please see the user guide for info:
| |
| http://codeigniter.com/user_guide/general/profiling.html | http://codeigniter.com/user_guide/general/profiling.html
| |
*/ */
/* End of file profiler.php */ /* End of file profiler.php */
/* Location: ./application/config/profiler.php */ /* Location: ./application/config/profiler.php */

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------
| URI ROUTING | URI ROUTING
@ -9,7 +12,7 @@
| and its corresponding controller class/method. The segments in a | and its corresponding controller class/method. The segments in a
| URL normally follow this pattern: | URL normally follow this pattern:
| |
| example.com/class/method/id/ | example.com/class/method/id/
| |
| In some instances, however, you may want to remap this relationship | In some instances, however, you may want to remap this relationship
| so that a different class/function is called than the one | so that a different class/function is called than the one
@ -17,7 +20,7 @@
| |
| Please see the user guide for complete details: | Please see the user guide for complete details:
| |
| http://codeigniter.com/user_guide/general/routing.html | http://codeigniter.com/user_guide/general/routing.html
| |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------
| RESERVED ROUTES | RESERVED ROUTES
@ -25,18 +28,18 @@
| |
| There area two reserved routes: | There area two reserved routes:
| |
| $route['default_controller'] = 'welcome'; | $route['default_controller'] = 'welcome';
| |
| This route indicates which controller class should be loaded if the | This route indicates which controller class should be loaded if the
| URI contains no data. In the above example, the "welcome" class | URI contains no data. In the above example, the "welcome" class
| would be loaded. | would be loaded.
| |
| $route['404_override'] = 'errors/page_missing'; | $route['404_override'] = 'errors/page_missing';
| |
| This route will tell the Router what URI segments to use if those provided | This route will tell the Router what URI segments to use if those provided
| in the URL cannot be matched to a valid route. | in the URL cannot be matched to a valid route.
| |
*/ */
$route['default_controller'] = "main"; $route['default_controller'] = "main";
$route['scaffolding_trigger'] = ""; $route['scaffolding_trigger'] = "";

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| SMILEYS | SMILEYS
@ -10,57 +13,57 @@
| Please see user guide for more info: | Please see user guide for more info:
| http://codeigniter.com/user_guide/helpers/smiley_helper.html | http://codeigniter.com/user_guide/helpers/smiley_helper.html
| |
*/ */
$smileys = array( $smileys = array(
// smiley image name width height alt // smiley image name width height alt
':-)' => array('grin.gif', '19', '19', 'grin'), ':-)' => array('grin.gif', '19', '19', 'grin'),
':lol:' => array('lol.gif', '19', '19', 'LOL'), ':lol:' => array('lol.gif', '19', '19', 'LOL'),
':cheese:' => array('cheese.gif', '19', '19', 'cheese'), ':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
':)' => array('smile.gif', '19', '19', 'smile'), ':)' => array('smile.gif', '19', '19', 'smile'),
';-)' => array('wink.gif', '19', '19', 'wink'), ';-)' => array('wink.gif', '19', '19', 'wink'),
';)' => array('wink.gif', '19', '19', 'wink'), ';)' => array('wink.gif', '19', '19', 'wink'),
':smirk:' => array('smirk.gif', '19', '19', 'smirk'), ':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'), ':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
':-S' => array('confused.gif', '19', '19', 'confused'), ':-S' => array('confused.gif', '19', '19', 'confused'),
':wow:' => array('surprise.gif', '19', '19', 'surprised'), ':wow:' => array('surprise.gif', '19', '19', 'surprised'),
':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'), ':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'), ':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
'%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'), '%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'), ';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
':P' => array('raspberry.gif', '19', '19', 'raspberry'), ':P' => array('raspberry.gif', '19', '19', 'raspberry'),
':blank:' => array('blank.gif', '19', '19', 'blank stare'), ':blank:' => array('blank.gif', '19', '19', 'blank stare'),
':long:' => array('longface.gif', '19', '19', 'long face'), ':long:' => array('longface.gif', '19', '19', 'long face'),
':ohh:' => array('ohh.gif', '19', '19', 'ohh'), ':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
':grrr:' => array('grrr.gif', '19', '19', 'grrr'), ':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
':gulp:' => array('gulp.gif', '19', '19', 'gulp'), ':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
'8-/' => array('ohoh.gif', '19', '19', 'oh oh'), '8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
':down:' => array('downer.gif', '19', '19', 'downer'), ':down:' => array('downer.gif', '19', '19', 'downer'),
':red:' => array('embarrassed.gif', '19', '19', 'red face'), ':red:' => array('embarrassed.gif', '19', '19', 'red face'),
':sick:' => array('sick.gif', '19', '19', 'sick'), ':sick:' => array('sick.gif', '19', '19', 'sick'),
':shut:' => array('shuteye.gif', '19', '19', 'shut eye'), ':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
':-/' => array('hmm.gif', '19', '19', 'hmmm'), ':-/' => array('hmm.gif', '19', '19', 'hmmm'),
'>:(' => array('mad.gif', '19', '19', 'mad'), '>:(' => array('mad.gif', '19', '19', 'mad'),
':mad:' => array('mad.gif', '19', '19', 'mad'), ':mad:' => array('mad.gif', '19', '19', 'mad'),
'>:-(' => array('angry.gif', '19', '19', 'angry'), '>:-(' => array('angry.gif', '19', '19', 'angry'),
':angry:' => array('angry.gif', '19', '19', 'angry'), ':angry:' => array('angry.gif', '19', '19', 'angry'),
':zip:' => array('zip.gif', '19', '19', 'zipper'), ':zip:' => array('zip.gif', '19', '19', 'zipper'),
':kiss:' => array('kiss.gif', '19', '19', 'kiss'), ':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
':ahhh:' => array('shock.gif', '19', '19', 'shock'), ':ahhh:' => array('shock.gif', '19', '19', 'shock'),
':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'), ':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'), ':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'), ':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'), ':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'), ':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'), ':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
':vampire:' => array('vampire.gif', '19', '19', 'vampire'), ':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
':snake:' => array('snake.gif', '19', '19', 'snake'), ':snake:' => array('snake.gif', '19', '19', 'snake'),
':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'), ':exclaim:' => array('exclaim.gif', '19', '19', 'excaim'),
':question:' => array('question.gif', '19', '19', 'question') // no comma after last item ':question:' => array('question.gif', '19', '19', 'question'), // no comma after last item
); );
/* End of file smileys.php */ /* End of file smileys.php */
/* Location: ./application/config/smileys.php */ /* Location: ./application/config/smileys.php */

View File

@ -1,11 +1,13 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/** /**
* Site Name * Site Name
* *
* The name of your site * The name of your site
* *
*/ */
$config['site_name'] = 'Stikked'; $config['site_name'] = 'Stikked';
/** /**
@ -13,7 +15,7 @@ $config['site_name'] = 'Stikked';
* *
* Set the base URL of Stikked. WITH trailing slash! * Set the base URL of Stikked. WITH trailing slash!
* *
*/ */
$config['base_url'] = 'https://yourpastebin.com/'; $config['base_url'] = 'https://yourpastebin.com/';
/** /**
@ -22,7 +24,7 @@ $config['base_url'] = 'https://yourpastebin.com/';
* Credentials for your database * Credentials for your database
* The database structure will be created automatically * The database structure will be created automatically
* *
*/ */
$config['db_hostname'] = '127.0.0.1'; $config['db_hostname'] = '127.0.0.1';
$config['db_database'] = 'stikked'; $config['db_database'] = 'stikked';
$config['db_username'] = 'stikked'; $config['db_username'] = 'stikked';
@ -39,7 +41,7 @@ $config['db_password'] = 'stikked';
* Use underscore as suffix to easily see the tables. * Use underscore as suffix to easily see the tables.
* example: $config['db_prefix'] = 'stikked_'; * example: $config['db_prefix'] = 'stikked_';
* use $config['db_prefix'] = ''; if you don't want to use table prefix. * use $config['db_prefix'] = ''; if you don't want to use table prefix.
*/ */
$config['db_prefix'] = ''; $config['db_prefix'] = '';
/** /**
@ -49,7 +51,7 @@ $config['db_prefix'] = '';
* Folder name in htdocs/themes/ * Folder name in htdocs/themes/
* Currently: default, bootstrap, gabdark, gabdark3, geocities, snowkat, stikkedizr, cleanwhite, i386 * Currently: default, bootstrap, gabdark, gabdark3, geocities, snowkat, stikkedizr, cleanwhite, i386
* *
*/ */
$config['theme'] = 'default'; $config['theme'] = 'default';
/** /**
@ -57,7 +59,7 @@ $config['theme'] = 'default';
* *
* Whether or not to display the QR code * Whether or not to display the QR code
* *
*/ */
$config['qr_enabled'] = true; $config['qr_enabled'] = true;
/** /**
@ -70,7 +72,7 @@ $config['qr_enabled'] = true;
* CodeMirror: ~300kb JS * CodeMirror: ~300kb JS
* ACE: >800kb JS * ACE: >800kb JS
* *
*/ */
$config['js_editor'] = ''; // codemirror, ace, '' $config['js_editor'] = ''; // codemirror, ace, ''
/** /**
@ -80,7 +82,7 @@ $config['js_editor'] = ''; // codemirror, ace, ''
* Translate Stikked to your own language, see htdocs/application/language files * Translate Stikked to your own language, see htdocs/application/language files
* Currently: english, german, swissgerman, spanish, norwegian, danish, portuguese, turkish, french, japanese, polish, russian, chinese-simplified, chinese-traditional, indonesia * Currently: english, german, swissgerman, spanish, norwegian, danish, portuguese, turkish, french, japanese, polish, russian, chinese-simplified, chinese-traditional, indonesia
* *
*/ */
$config['language'] = 'english'; $config['language'] = 'english';
/** /**
@ -88,7 +90,7 @@ $config['language'] = 'english';
* *
* htdocs/static/asset/ folder must be writeable * htdocs/static/asset/ folder must be writeable
* *
*/ */
$config['combine_assets'] = false; $config['combine_assets'] = false;
/** /**
@ -98,7 +100,7 @@ $config['combine_assets'] = false;
* Format: http://php.net/manual/en/function.strtotime.php * Format: http://php.net/manual/en/function.strtotime.php
* Examples: '+10 seconds', '+1 year', '-1 week' * Examples: '+10 seconds', '+1 year', '-1 week'
* *
*/ */
$config['content_expiration'] = '-1 week'; $config['content_expiration'] = '-1 week';
/** /**
@ -155,11 +157,10 @@ $config['cron_key'] = '';
* polr_url: Your own instance of polr URL-shortener (Download: https://github.com/cydrobolt/polr) * polr_url: Your own instance of polr URL-shortener (Download: https://github.com/cydrobolt/polr)
* polr_api: Your polr api key * polr_api: Your polr api key
* *
**/ **/
$config['url_shortening_use'] = 'off'; $config['url_shortening_use'] = 'off';
$config['random_url_engines'] = 'googl,bitly'; // Used only in random mode, read comment above for more info $config['random_url_engines'] = 'googl,bitly'; // Used only in random mode, read comment above for more info
// Yourls // Yourls
$config['yourls_url'] = ''; $config['yourls_url'] = '';
$config['yourls_signature'] = ''; $config['yourls_signature'] = '';
@ -178,13 +179,12 @@ $config['bitly_url_api'] = '';
$config['polr_url'] = ''; $config['polr_url'] = '';
$config['polr_api'] = ''; $config['polr_api'] = '';
/** /**
* Credentials for the backup URL * Credentials for the backup URL
* *
* Basic auth user & pass for the backup URL, accessible via http://yoursite.com/backup * Basic auth user & pass for the backup URL, accessible via http://yoursite.com/backup
* *
**/ **/
$config['backup_user'] = ''; $config['backup_user'] = '';
$config['backup_pass'] = ''; $config['backup_pass'] = '';
@ -193,7 +193,7 @@ $config['backup_pass'] = '';
* *
* Number of pastes per page, on the recent pastes listings. * Number of pastes per page, on the recent pastes listings.
* *
**/ **/
$config['per_page'] = 15; $config['per_page'] = 15;
/** /**
@ -202,7 +202,7 @@ $config['per_page'] = 15;
* Require a key to interact with the API. * Require a key to interact with the API.
* Append to all API requests: ?apikey=[yourkey] * Append to all API requests: ?apikey=[yourkey]
* *
**/ **/
$config['apikey'] = ''; $config['apikey'] = '';
/** /**
@ -215,7 +215,7 @@ $config['apikey'] = '';
* This is useful to maintain a restrictive blocklist * This is useful to maintain a restrictive blocklist
* for spammers and bypass it using the apikey. * for spammers and bypass it using the apikey.
* *
**/ **/
$config['soft_api'] = false; $config['soft_api'] = false;
/** /**
@ -230,7 +230,7 @@ $config['soft_api'] = false;
* disable_shorturl: "Create Shorturl" option will be disabled * disable_shorturl: "Create Shorturl" option will be disabled
* disallow_search_engines: displays a robots.txt that forbids indexing * disallow_search_engines: displays a robots.txt that forbids indexing
* *
**/ **/
$config['private_only'] = false; $config['private_only'] = false;
$config['enable_captcha'] = true; $config['enable_captcha'] = true;
$config['recaptcha_publickey'] = ''; $config['recaptcha_publickey'] = '';
@ -257,7 +257,7 @@ $config['spamadmin_pass'] = '';
* 40320 (1 month) * 40320 (1 month)
* 483840 (1 year) * 483840 (1 year)
* 0 (keep forever) * 0 (keep forever)
**/ **/
$config['default_expiration'] = 0; $config['default_expiration'] = 0;
/** /**
@ -265,7 +265,7 @@ $config['default_expiration'] = 0;
* *
* Preselected language. See application/config/geshi_languages.php for valid values (array keys) * Preselected language. See application/config/geshi_languages.php for valid values (array keys)
* *
**/ **/
$config['default_language'] = 'text'; $config['default_language'] = 'text';
/** /**
@ -276,7 +276,7 @@ $config['default_language'] = 'text';
* Set to random for a random paste to be generated * Set to random for a random paste to be generated
* NOTE: if changed only pastes from then on will be updated. * NOTE: if changed only pastes from then on will be updated.
* *
**/ **/
$config['unknown_poster'] = 'random'; $config['unknown_poster'] = 'random';
/** /**
@ -285,7 +285,7 @@ $config['unknown_poster'] = 'random';
* What name is to be set for untitled pastes. * What name is to be set for untitled pastes.
* DO NOT SET BLANK * DO NOT SET BLANK
* NOTE: if changed only pastes from then on will be updated. * NOTE: if changed only pastes from then on will be updated.
**/ **/
$config['unknown_title'] = 'Untitled'; $config['unknown_title'] = 'Untitled';
/** /**
@ -294,7 +294,7 @@ $config['unknown_title'] = 'Untitled';
* Weather to require LDAP authenticaiton or not. * Weather to require LDAP authenticaiton or not.
* Set to either 'true' to require authentication or 'false' not to. * Set to either 'true' to require authentication or 'false' not to.
* NOTE: if changed, set LDAP settings in auth_ldap.php * NOTE: if changed, set LDAP settings in auth_ldap.php
**/ **/
$config['require_auth'] = false; $config['require_auth'] = false;
/** /**
@ -304,7 +304,7 @@ $config['require_auth'] = false;
* Variable $id: the paste_id * Variable $id: the paste_id
* Example: 'http://example.com/$id' * Example: 'http://example.com/$id'
* *
**/ **/
$config['displayurl_override'] = ''; $config['displayurl_override'] = '';
/** /**
@ -313,36 +313,36 @@ $config['displayurl_override'] = '';
* Words used for when unknown_poster is set to random * Words used for when unknown_poster is set to random
* *
* *
**/ **/
$config['nouns'] = array('Hornbill', 'Elephant', 'Bison', 'Lion', 'Camel', 'Sheep', $config['nouns'] = array('Hornbill', 'Elephant', 'Bison', 'Lion', 'Camel', 'Sheep',
'Monkey', 'Prairie Dog', 'Plover', 'Tapir', 'Capybara', 'Cheetah', 'Flamingo', 'Peccary', 'Eider', 'Porcupine', 'Pelican', 'Dove', 'Crane', 'Tortoise', 'Agouti', 'Monkey', 'Prairie Dog', 'Plover', 'Tapir', 'Capybara', 'Cheetah', 'Flamingo', 'Peccary', 'Eider', 'Porcupine', 'Pelican', 'Dove', 'Crane', 'Tortoise', 'Agouti',
'Tamarin', 'Pheasant', 'Owl', 'Gibbon', 'Goose', 'Baboon', 'Hamerkop', 'Zebra', 'Tamarin', 'Pheasant', 'Owl', 'Gibbon', 'Goose', 'Baboon', 'Hamerkop', 'Zebra',
'Macaw', 'Gibbon', 'Madrill', 'Wolf', 'Stork', 'Armadillo', 'Ostrich', 'Marmoset', 'Macaw', 'Gibbon', 'Madrill', 'Wolf', 'Stork', 'Armadillo', 'Ostrich', 'Marmoset',
'Lizard', 'Panda', 'Giraffe', 'Cassowary', 'Kangaroo', 'Gorilla', 'Pheasant', 'Lizard', 'Panda', 'Giraffe', 'Cassowary', 'Kangaroo', 'Gorilla', 'Pheasant',
'Finch', 'Duck', 'Matamata', 'Teal', 'Macaque', 'Goat', 'Lechwe', 'Ibis', 'Parrot', 'Finch', 'Duck', 'Matamata', 'Teal', 'Macaque', 'Goat', 'Lechwe', 'Ibis', 'Parrot',
'Parakeet', 'Bongo', 'Pudu', 'Echidna', 'Lemur', 'Bat', 'Curlew', 'Terrapin', 'Parakeet', 'Bongo', 'Pudu', 'Echidna', 'Lemur', 'Bat', 'Curlew', 'Terrapin',
'Peafowl', 'Duck', 'Owl', 'Parakeet', 'Meerkat', 'Tern', 'Wigeon', 'Pintail', 'Peafowl', 'Duck', 'Owl', 'Parakeet', 'Meerkat', 'Tern', 'Wigeon', 'Pintail',
'Meerkat', 'Motmot', 'Motmot', 'Shama', 'Dormouse', 'Horse', 'Rhinoceros', 'Sloth', 'Meerkat', 'Motmot', 'Motmot', 'Shama', 'Dormouse', 'Horse', 'Rhinoceros', 'Sloth',
'Mousedeer', 'Treeshrew', 'Bushbaby', 'Guinea Pig', 'Agouti', 'Water Vole', 'Hog', 'Mousedeer', 'Treeshrew', 'Bushbaby', 'Guinea Pig', 'Agouti', 'Water Vole', 'Hog',
'Pig', 'Anoa', 'Octupus', 'Butterfly', 'Cat', 'Kitten', 'Coyote', 'Crocodile', 'Pig', 'Anoa', 'Octupus', 'Butterfly', 'Cat', 'Kitten', 'Coyote', 'Crocodile',
'Cockroach', 'Crow', 'Bird', 'Dolphin', 'Earthworm', 'Frog', 'Hamster', 'Hedgehog', 'Cockroach', 'Crow', 'Bird', 'Dolphin', 'Earthworm', 'Frog', 'Hamster', 'Hedgehog',
'Hog', 'Human', 'Hummingbird', 'Iguana', 'Leech', 'Leopard', ' Marten', 'Hog', 'Human', 'Hummingbird', 'Iguana', 'Leech', 'Leopard', ' Marten',
'Mockingbird', 'Mockingjay', 'Mosquito', 'Moth', 'Partdridge', 'Bee', 'Penguin'); 'Mockingbird', 'Mockingjay', 'Mosquito', 'Moth', 'Partdridge', 'Bee', 'Penguin');
$config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious', $config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious',
'Colossal', 'Commodious', 'Thundering', 'Mammoth', 'Mungo', 'Voluminous', 'Colossal', 'Commodious', 'Thundering', 'Mammoth', 'Mungo', 'Voluminous',
'Walloping', 'Tiny', 'Baby', 'Bitty', 'Diminutive', 'Little', 'Paltry', 'Scanty', 'Walloping', 'Tiny', 'Baby', 'Bitty', 'Diminutive', 'Little', 'Paltry', 'Scanty',
'Trivial', 'Scribby', 'Blush', 'Tinct', 'Colorant', 'Aqua', 'Beige', 'Bistre', 'Trivial', 'Scribby', 'Blush', 'Tinct', 'Colorant', 'Aqua', 'Beige', 'Bistre',
'Buff', 'Bistre', 'Chartreuse', 'Chocolate', 'Cobalt', 'Coral', 'Cream', 'Crimson', 'Buff', 'Bistre', 'Chartreuse', 'Chocolate', 'Cobalt', 'Coral', 'Cream', 'Crimson',
'Denim', 'Emerald', 'Gray', 'Gamboge', 'Ivory', 'Mustard', 'Silly', 'Perl', 'Denim', 'Emerald', 'Gray', 'Gamboge', 'Ivory', 'Mustard', 'Silly', 'Perl',
'Whipped', 'Violet', 'Harmless', 'Gentle', 'Innocent', 'Reliable', 'Unreliable', 'Whipped', 'Violet', 'Harmless', 'Gentle', 'Innocent', 'Reliable', 'Unreliable',
'Soft', 'Toxic', 'Anorexic', 'Beefy', 'Sexy', 'Morose', 'Rude', 'Ungracious', 'Soft', 'Toxic', 'Anorexic', 'Beefy', 'Sexy', 'Morose', 'Rude', 'Ungracious',
'Abrupt', 'Gracious', 'Queen', 'Cute', 'Edgy', 'Insensitive', 'Round', 'Sharp', 'Abrupt', 'Gracious', 'Queen', 'Cute', 'Edgy', 'Insensitive', 'Round', 'Sharp',
'Gruff', 'Subtle', 'Crippled', 'Eratic', 'Social', 'Jittery', 'Sole', 'Unique', 'Gruff', 'Subtle', 'Crippled', 'Eratic', 'Social', 'Jittery', 'Sole', 'Unique',
'Botched', 'Tacky', 'Sludgy', 'Stained', 'Wet', 'Soiled', 'Big', 'Small', 'Sloppy', 'Botched', 'Tacky', 'Sludgy', 'Stained', 'Wet', 'Soiled', 'Big', 'Small', 'Sloppy',
'Smelly', 'Funky', 'Putrid', 'Melodic', 'Corrupt', 'Lousy', 'Fiery', 'Red', 'Smelly', 'Funky', 'Putrid', 'Melodic', 'Corrupt', 'Lousy', 'Fiery', 'Red',
'Sweet', 'Hot', 'Scorching', 'Sweltering', 'Torrid', 'Obese', 'Speedy', 'Flying', 'Sweet', 'Hot', 'Scorching', 'Sweltering', 'Torrid', 'Obese', 'Speedy', 'Flying',
'Idiotic', 'Chunky', 'Forensic'); 'Idiotic', 'Chunky', 'Forensic');
/** /**
* *
@ -350,9 +350,9 @@ $config['adjectives'] = array('Ample', 'Mature', 'Bulky', 'Burly', 'Capacious',
* Words used for expiring pastes * Words used for expiring pastes
* *
* *
**/ **/
$config['expires'] = array('expire', 'perish', 'go to its last resting place', $config['expires'] = array('expire', 'perish', 'go to its last resting place',
'go to meet its maker', 'cross the great divide', 'slip away', 'give up the ghost', 'go to meet its maker', 'cross the great divide', 'slip away', 'give up the ghost',
'kick the bucket', 'croak', 'bite the big one', 'check out', 'buy the farm', 'kick the bucket', 'croak', 'bite the big one', 'check out', 'buy the farm',
'join the choir invisible', 'shuffle off the mortal coil', 'hop the perch', 'join the choir invisible', 'shuffle off the mortal coil', 'hop the perch',
'run down the curtain', 'die', 'self destruct', 'explode'); 'run down the curtain', 'die', 'self destruct', 'explode');

View File

@ -1,4 +1,7 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); <?php if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
/* /*
| ------------------------------------------------------------------- | -------------------------------------------------------------------
| USER AGENT TYPES | USER AGENT TYPES
@ -8,171 +11,170 @@
| mobile device data. The array keys are used to identify the device | mobile device data. The array keys are used to identify the device
| and the array values are used to set the actual name of the item. | and the array values are used to set the actual name of the item.
| |
*/ */
$platforms = array (
'windows nt 6.0' => 'Windows Longhorn',
'windows nt 5.2' => 'Windows 2003',
'windows nt 5.0' => 'Windows 2000',
'windows nt 5.1' => 'Windows XP',
'windows nt 4.0' => 'Windows NT 4.0',
'winnt4.0' => 'Windows NT 4.0',
'winnt 4.0' => 'Windows NT',
'winnt' => 'Windows NT',
'windows 98' => 'Windows 98',
'win98' => 'Windows 98',
'windows 95' => 'Windows 95',
'win95' => 'Windows 95',
'windows' => 'Unknown Windows OS',
'os x' => 'Mac OS X',
'ppc mac' => 'Power PC Mac',
'freebsd' => 'FreeBSD',
'ppc' => 'Macintosh',
'linux' => 'Linux',
'debian' => 'Debian',
'sunos' => 'Sun Solaris',
'beos' => 'BeOS',
'apachebench' => 'ApacheBench',
'aix' => 'AIX',
'irix' => 'Irix',
'osf' => 'DEC OSF',
'hp-ux' => 'HP-UX',
'netbsd' => 'NetBSD',
'bsdi' => 'BSDi',
'openbsd' => 'OpenBSD',
'gnu' => 'GNU/Linux',
'unix' => 'Unknown Unix OS'
);
$platforms = array(
'windows nt 6.0' => 'Windows Longhorn',
'windows nt 5.2' => 'Windows 2003',
'windows nt 5.0' => 'Windows 2000',
'windows nt 5.1' => 'Windows XP',
'windows nt 4.0' => 'Windows NT 4.0',
'winnt4.0' => 'Windows NT 4.0',
'winnt 4.0' => 'Windows NT',
'winnt' => 'Windows NT',
'windows 98' => 'Windows 98',
'win98' => 'Windows 98',
'windows 95' => 'Windows 95',
'win95' => 'Windows 95',
'windows' => 'Unknown Windows OS',
'os x' => 'Mac OS X',
'ppc mac' => 'Power PC Mac',
'freebsd' => 'FreeBSD',
'ppc' => 'Macintosh',
'linux' => 'Linux',
'debian' => 'Debian',
'sunos' => 'Sun Solaris',
'beos' => 'BeOS',
'apachebench' => 'ApacheBench',
'aix' => 'AIX',
'irix' => 'Irix',
'osf' => 'DEC OSF',
'hp-ux' => 'HP-UX',
'netbsd' => 'NetBSD',
'bsdi' => 'BSDi',
'openbsd' => 'OpenBSD',
'gnu' => 'GNU/Linux',
'unix' => 'Unknown Unix OS',
);
// The order of this array should NOT be changed. Many browsers return // The order of this array should NOT be changed. Many browsers return
// multiple browser types so we want to identify the sub-type first. // multiple browser types so we want to identify the sub-type first.
$browsers = array( $browsers = array(
'Flock' => 'Flock', 'Flock' => 'Flock',
'Chrome' => 'Chrome', 'Chrome' => 'Chrome',
'Opera' => 'Opera', 'Opera' => 'Opera',
'MSIE' => 'Internet Explorer', 'MSIE' => 'Internet Explorer',
'Internet Explorer' => 'Internet Explorer', 'Internet Explorer' => 'Internet Explorer',
'Shiira' => 'Shiira', 'Shiira' => 'Shiira',
'Firefox' => 'Firefox', 'Firefox' => 'Firefox',
'Chimera' => 'Chimera', 'Chimera' => 'Chimera',
'Phoenix' => 'Phoenix', 'Phoenix' => 'Phoenix',
'Firebird' => 'Firebird', 'Firebird' => 'Firebird',
'Camino' => 'Camino', 'Camino' => 'Camino',
'Netscape' => 'Netscape', 'Netscape' => 'Netscape',
'OmniWeb' => 'OmniWeb', 'OmniWeb' => 'OmniWeb',
'Safari' => 'Safari', 'Safari' => 'Safari',
'Mozilla' => 'Mozilla', 'Mozilla' => 'Mozilla',
'Konqueror' => 'Konqueror', 'Konqueror' => 'Konqueror',
'icab' => 'iCab', 'icab' => 'iCab',
'Lynx' => 'Lynx', 'Lynx' => 'Lynx',
'Links' => 'Links', 'Links' => 'Links',
'hotjava' => 'HotJava', 'hotjava' => 'HotJava',
'amaya' => 'Amaya', 'amaya' => 'Amaya',
'IBrowse' => 'IBrowse' 'IBrowse' => 'IBrowse',
); );
$mobiles = array( $mobiles = array(
// legacy array, old values commented out // legacy array, old values commented out
'mobileexplorer' => 'Mobile Explorer', 'mobileexplorer' => 'Mobile Explorer',
// 'openwave' => 'Open Wave', // 'openwave' => 'Open Wave',
// 'opera mini' => 'Opera Mini', // 'opera mini' => 'Opera Mini',
// 'operamini' => 'Opera Mini', // 'operamini' => 'Opera Mini',
// 'elaine' => 'Palm', // 'elaine' => 'Palm',
'palmsource' => 'Palm', 'palmsource' => 'Palm',
// 'digital paths' => 'Palm', // 'digital paths' => 'Palm',
// 'avantgo' => 'Avantgo', // 'avantgo' => 'Avantgo',
// 'xiino' => 'Xiino', // 'xiino' => 'Xiino',
'palmscape' => 'Palmscape', 'palmscape' => 'Palmscape',
// 'nokia' => 'Nokia', // 'nokia' => 'Nokia',
// 'ericsson' => 'Ericsson', // 'ericsson' => 'Ericsson',
// 'blackberry' => 'BlackBerry', // 'blackberry' => 'BlackBerry',
// 'motorola' => 'Motorola' // 'motorola' => 'Motorola'
// Phones and Manufacturers // Phones and Manufacturers
'motorola' => "Motorola", 'motorola' => "Motorola",
'nokia' => "Nokia", 'nokia' => "Nokia",
'palm' => "Palm", 'palm' => "Palm",
'iphone' => "Apple iPhone", 'iphone' => "Apple iPhone",
'ipad' => "iPad", 'ipad' => "iPad",
'ipod' => "Apple iPod Touch", 'ipod' => "Apple iPod Touch",
'sony' => "Sony Ericsson", 'sony' => "Sony Ericsson",
'ericsson' => "Sony Ericsson", 'ericsson' => "Sony Ericsson",
'blackberry' => "BlackBerry", 'blackberry' => "BlackBerry",
'cocoon' => "O2 Cocoon", 'cocoon' => "O2 Cocoon",
'blazer' => "Treo", 'blazer' => "Treo",
'lg' => "LG", 'lg' => "LG",
'amoi' => "Amoi", 'amoi' => "Amoi",
'xda' => "XDA", 'xda' => "XDA",
'mda' => "MDA", 'mda' => "MDA",
'vario' => "Vario", 'vario' => "Vario",
'htc' => "HTC", 'htc' => "HTC",
'samsung' => "Samsung", 'samsung' => "Samsung",
'sharp' => "Sharp", 'sharp' => "Sharp",
'sie-' => "Siemens", 'sie-' => "Siemens",
'alcatel' => "Alcatel", 'alcatel' => "Alcatel",
'benq' => "BenQ", 'benq' => "BenQ",
'ipaq' => "HP iPaq", 'ipaq' => "HP iPaq",
'mot-' => "Motorola", 'mot-' => "Motorola",
'playstation portable' => "PlayStation Portable", 'playstation portable' => "PlayStation Portable",
'hiptop' => "Danger Hiptop", 'hiptop' => "Danger Hiptop",
'nec-' => "NEC", 'nec-' => "NEC",
'panasonic' => "Panasonic", 'panasonic' => "Panasonic",
'philips' => "Philips", 'philips' => "Philips",
'sagem' => "Sagem", 'sagem' => "Sagem",
'sanyo' => "Sanyo", 'sanyo' => "Sanyo",
'spv' => "SPV", 'spv' => "SPV",
'zte' => "ZTE", 'zte' => "ZTE",
'sendo' => "Sendo", 'sendo' => "Sendo",
// Operating Systems // Operating Systems
'symbian' => "Symbian", 'symbian' => "Symbian",
'SymbianOS' => "SymbianOS", 'SymbianOS' => "SymbianOS",
'elaine' => "Palm", 'elaine' => "Palm",
'palm' => "Palm", 'palm' => "Palm",
'series60' => "Symbian S60", 'series60' => "Symbian S60",
'windows ce' => "Windows CE", 'windows ce' => "Windows CE",
// Browsers // Browsers
'obigo' => "Obigo", 'obigo' => "Obigo",
'netfront' => "Netfront Browser", 'netfront' => "Netfront Browser",
'openwave' => "Openwave Browser", 'openwave' => "Openwave Browser",
'mobilexplorer' => "Mobile Explorer", 'mobilexplorer' => "Mobile Explorer",
'operamini' => "Opera Mini", 'operamini' => "Opera Mini",
'opera mini' => "Opera Mini", 'opera mini' => "Opera Mini",
// Other // Other
'digital paths' => "Digital Paths", 'digital paths' => "Digital Paths",
'avantgo' => "AvantGo", 'avantgo' => "AvantGo",
'xiino' => "Xiino", 'xiino' => "Xiino",
'novarra' => "Novarra Transcoder", 'novarra' => "Novarra Transcoder",
'vodafone' => "Vodafone", 'vodafone' => "Vodafone",
'docomo' => "NTT DoCoMo", 'docomo' => "NTT DoCoMo",
'o2' => "O2", 'o2' => "O2",
// Fallback // Fallback
'mobile' => "Generic Mobile", 'mobile' => "Generic Mobile",
'wireless' => "Generic Mobile", 'wireless' => "Generic Mobile",
'j2me' => "Generic Mobile", 'j2me' => "Generic Mobile",
'midp' => "Generic Mobile", 'midp' => "Generic Mobile",
'cldc' => "Generic Mobile", 'cldc' => "Generic Mobile",
'up.link' => "Generic Mobile", 'up.link' => "Generic Mobile",
'up.browser' => "Generic Mobile", 'up.browser' => "Generic Mobile",
'smartphone' => "Generic Mobile", 'smartphone' => "Generic Mobile",
'cellphone' => "Generic Mobile" 'cellphone' => "Generic Mobile",
); );
// There are hundreds of bots but these are the most common. // There are hundreds of bots but these are the most common.
$robots = array( $robots = array(
'googlebot' => 'Googlebot', 'googlebot' => 'Googlebot',
'msnbot' => 'MSNBot', 'msnbot' => 'MSNBot',
'slurp' => 'Inktomi Slurp', 'slurp' => 'Inktomi Slurp',
'yahoo' => 'Yahoo', 'yahoo' => 'Yahoo',
'askjeeves' => 'AskJeeves', 'askjeeves' => 'AskJeeves',
'fastcrawler' => 'FastCrawler', 'fastcrawler' => 'FastCrawler',
'infoseek' => 'InfoSeek Robot 1.0', 'infoseek' => 'InfoSeek Robot 1.0',
'lycos' => 'Lycos' 'lycos' => 'Lycos',
); );
/* End of file user_agents.php */ /* End of file user_agents.php */
/* Location: ./application/config/user_agents.php */ /* Location: ./application/config/user_agents.php */

View File

@ -1,225 +1,185 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct() include_once 'application/controllers/Main.php';
* - index()
* - create()
* - paste()
* - random()
* - recent()
* - trending()
* - langs()
* Classes list:
* - Api extends Main
*/
include_once ('application/controllers/Main.php');
class Api extends Main class Api extends Main
{ {
function __construct()
{
parent::__construct();
if (config_item('disable_api'))
{
die("The API has been disabled\n");
}
// if ldap is configured and no api token is configured, fail the request public function __construct()
if ((config_item('require_auth') == true) && (config_item('apikey') == '')) {
{ parent::__construct();
die("API key not configured");
if (config_item('disable_api')) {
die("The API has been disabled\n");
} }
} // if ldap is configured and no api token is configured, fail the request
if ((config_item('require_auth') == true) && (config_item('apikey') == '')) {
function index() die("API key not configured");
{ }
$languages = $this->languages->get_languages();
$languages = array_keys($languages);
$languages = implode(', ', $languages);
$data['languages'] = $languages;
$this->load->view('api_help', $data);
}
function create()
{
if (config_item('apikey') != $this->input->get('apikey') && config_item('soft_api') == false)
{
die("Invalid API key\n");
}
$this->load->model('pastes');
$this->load->library('form_validation'); //needed by parent class
}
if (!$this->input->post('text'))
{
$data['msg'] = 'Error: Missing paste text';
$this->load->view('view/api', $data);
}
else
{
if (!$this->input->post('lang'))
{
$_POST['lang'] = 'text';
}
$_POST['code'] = $this->input->post('text');
if ($this->config->item('private_only'))
{
$_POST['private'] = 1;
}
//validations public function index()
{
if (!$this->_valid_ip()) $languages = $this->languages->get_languages();
{ $languages = array_keys($languages);
die("You are not allowed to paste\n"); $languages = implode(', ', $languages);
} $data['languages'] = $languages;
$this->load->view('api_help', $data);
if (config_item('soft_api') == true && (config_item('apikey') == $this->input->get('apikey'))) }
{
//pass public function create()
{
}
else
{
if (!$this->_blockwords_check())
{
die("Your paste contains blocked words\n");
}
}
if (!$this->input->post('expire')) if (config_item('apikey') != $this->input->get('apikey') && config_item('soft_api') == false) {
{ die("Invalid API key\n");
$_POST['expire'] = config_item('default_expiration'); }
} $this->load->model('pastes');
$this->load->library('form_validation'); //needed by parent class
//create paste if (!$this->input->post('text')) {
$paste_url = $this->pastes->createPaste(); $data['msg'] = 'Error: Missing paste text';
$data['msg'] = base_url() . $paste_url; $this->load->view('view/api', $data);
$this->load->view('view/api', $data); } else {
}
} if (!$this->input->post('lang')) {
$_POST['lang'] = 'text';
function paste() }
{ $_POST['code'] = $this->input->post('text');
if (config_item('apikey') != $this->input->get('apikey')) if ($this->config->item('private_only')) {
{ $_POST['private'] = 1;
die("Invalid API key\n"); }
}
//validations
if (config_item('private_only'))
{ if (!$this->_valid_ip()) {
show_404(); die("You are not allowed to paste\n");
} }
$this->load->model('pastes');
$check = $this->pastes->checkPaste(3); if (config_item('soft_api') == true && (config_item('apikey') == $this->input->get('apikey'))) {
if ($check) //pass
{
$data = $this->pastes->getPaste(3); } else {
}
else if (!$this->_blockwords_check()) {
{ die("Your paste contains blocked words\n");
$data = array( }
'message' => 'Not found', }
);
} if (!$this->input->post('expire')) {
echo json_encode($data); $_POST['expire'] = config_item('default_expiration');
} }
function random() //create paste
{ $paste_url = $this->pastes->createPaste();
$data['msg'] = base_url() . $paste_url;
if (config_item('apikey') != $this->input->get('apikey')) $this->load->view('view/api', $data);
{ }
die("Invalid API key\n"); }
}
public function paste()
if (config_item('private_only')) {
{
show_404(); if (config_item('apikey') != $this->input->get('apikey')) {
} die("Invalid API key\n");
$this->load->model('pastes'); }
$data = $this->pastes->random_paste();
echo json_encode($data); if (config_item('private_only')) {
} show_404();
}
function recent() $this->load->model('pastes');
{ $check = $this->pastes->checkPaste(3);
if (config_item('apikey') != $this->input->get('apikey')) if ($check) {
{ $data = $this->pastes->getPaste(3);
die("Invalid API key\n"); } else {
} $data = array(
'message' => 'Not found',
if (config_item('private_only')) );
{ }
show_404(); echo json_encode($data);
} }
$this->load->model('pastes');
$pastes = $this->pastes->getLists('api/recent'); public function random()
$pastes = $pastes['pastes']; {
$data = array();
foreach ($pastes as $paste) if (config_item('apikey') != $this->input->get('apikey')) {
{ die("Invalid API key\n");
$data[] = array( }
'pid' => $paste['pid'],
'title' => $paste['title'], if (config_item('private_only')) {
'name' => $paste['name'], show_404();
'created' => $paste['created'], }
'lang' => $paste['lang'], $this->load->model('pastes');
); $data = $this->pastes->random_paste();
} echo json_encode($data);
echo json_encode($data); }
}
public function recent()
function trending() {
{
if (config_item('apikey') != $this->input->get('apikey')) {
if (config_item('apikey') != $this->input->get('apikey')) die("Invalid API key\n");
{ }
die("Invalid API key\n");
} if (config_item('private_only')) {
show_404();
if (config_item('private_only')) }
{ $this->load->model('pastes');
show_404(); $pastes = $this->pastes->getLists('api/recent');
} $pastes = $pastes['pastes'];
$this->load->model('pastes'); $data = array();
$pastes = $this->pastes->getTrends('api/trending', 2); foreach ($pastes as $paste) {
$pastes = $pastes['pastes']; $data[] = array(
$data = array(); 'pid' => $paste['pid'],
foreach ($pastes as $paste) 'title' => $paste['title'],
{ 'name' => $paste['name'],
$data[] = array( 'created' => $paste['created'],
'pid' => $paste['pid'], 'lang' => $paste['lang'],
'title' => $paste['title'], );
'name' => $paste['name'], }
'created' => $paste['created'], echo json_encode($data);
'lang' => $paste['lang'], }
'hits' => $paste['hits'],
); public function trending()
} {
echo json_encode($data);
} if (config_item('apikey') != $this->input->get('apikey')) {
die("Invalid API key\n");
function langs() }
{
if (config_item('apikey') != $this->input->get('apikey')) if (config_item('private_only')) {
{ show_404();
die("Invalid API key\n"); }
} $this->load->model('pastes');
$pastes = $this->pastes->getTrends('api/trending', 2);
$languages = $this->languages->get_languages(); $pastes = $pastes['pastes'];
echo json_encode($languages); $data = array();
} foreach ($pastes as $paste) {
$data[] = array(
'pid' => $paste['pid'],
'title' => $paste['title'],
'name' => $paste['name'],
'created' => $paste['created'],
'lang' => $paste['lang'],
'hits' => $paste['hits'],
);
}
echo json_encode($data);
}
public function langs()
{
if (config_item('apikey') != $this->input->get('apikey')) {
die("Invalid API key\n");
}
$languages = $this->languages->get_languages();
echo json_encode($languages);
}
} }

View File

@ -1,35 +1,24 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - index()
* - login()
* - logout()
* - alpha_dash_dot()
* Classes list:
* - Auth extends CI_Controller
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
/* /*
* This file is part of Auth_Ldap. * This file is part of Auth_Ldap.
Auth_Ldap is free software: you can redistribute it and/or modify Auth_Ldap is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. (at your option) any later version.
Auth_Ldap is distributed in the hope that it will be useful, Auth_Ldap is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with Auth_Ldap. If not, see <http://www.gnu.org/licenses/>. along with Auth_Ldap. If not, see <http://www.gnu.org/licenses/>.
* *
*/ */
/** /**
* @author Greg Wojtak <gwojtak@techrockdo.com> * @author Greg Wojtak <gwojtak@techrockdo.com>
* @copyright Copyright © 2010,2011 by Greg Wojtak <gwojtak@techrockdo.com> * @copyright Copyright © 2010,2011 by Greg Wojtak <gwojtak@techrockdo.com>
@ -40,87 +29,73 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
class Auth extends CI_Controller class Auth extends CI_Controller
{ {
function __construct()
{
parent::__construct();
$this->load->helper('form');
$this->load->library('Form_validation');
$this->load->library('auth_ldap');
$this->load->helper('url');
$this->load->library('table');
}
function index()
{
$this->session->keep_flashdata('tried_to');
$this->login();
}
function login($errorMsg = NULL)
{
$this->session->keep_flashdata('tried_to');
if (!$this->auth_ldap->is_authenticated())
{
// Set up rules for form validation public function __construct()
$rules = $this->form_validation; {
$rules->set_rules('username', 'Username', 'required|callback_alpha_dash_dot'); parent::__construct();
$rules->set_rules('password', 'Password', 'required'); $this->load->helper('form');
$this->load->library('Form_validation');
$this->load->library('auth_ldap');
$this->load->helper('url');
$this->load->library('table');
}
// Do the login... public function index()
{
if ($rules->run() && $this->auth_ldap->login($rules->set_value('username') , $rules->set_value('password'))) $this->session->keep_flashdata('tried_to');
{ $this->login();
}
// Login WIN! public function login($errorMsg = null)
{
if ($this->session->flashdata('tried_to')) $this->session->keep_flashdata('tried_to');
{
redirect($this->session->flashdata('tried_to'));
}
else
{
redirect('/');
}
}
else
{
// Login FAIL if (!$this->auth_ldap->is_authenticated()) {
$this->session->set_flashdata('login_error', 'Incorrect username or password.');
$this->load->view('auth/login_form');
}
}
else
{
// Already logged in... // Set up rules for form validation
redirect('/'); $rules = $this->form_validation;
} $rules->set_rules('username', 'Username', 'required|callback_alpha_dash_dot');
} $rules->set_rules('password', 'Password', 'required');
function logout() // Do the login...
{
if ($rules->run() && $this->auth_ldap->login($rules->set_value('username'), $rules->set_value('password'))) {
if ($this->session->userdata('logged_in'))
{ // Login WIN!
$data['name'] = $this->session->userdata('cn');
$data['username'] = $this->session->userdata('username'); if ($this->session->flashdata('tried_to')) {
$data['logged_in'] = TRUE; redirect($this->session->flashdata('tried_to'));
$this->auth_ldap->logout(); } else {
} redirect('/');
else }
{ } else {
$data['logged_in'] = FALSE;
} // Login FAIL
redirect('/'); $this->session->set_flashdata('login_error', 'Incorrect username or password.');
} $this->load->view('auth/login_form');
public }
function alpha_dash_dot($str) } else {
{
return (!preg_match("/^([-a-z0-9_\-\.])+$/i", $str)) ? FALSE : TRUE; // Already logged in...
} redirect('/');
}
}
public function logout()
{
if ($this->session->userdata('logged_in')) {
$data['name'] = $this->session->userdata('cn');
$data['username'] = $this->session->userdata('username');
$data['logged_in'] = true;
$this->auth_ldap->logout();
} else {
$data['logged_in'] = false;
}
redirect('/');
}
public function alpha_dash_dot($str)
{
return (!preg_match("/^([-a-z0-9_\-\.])+$/i", $str)) ? false : true;
}
} }
?>

View File

@ -1,43 +1,36 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - index()
* Classes list:
* - Backup extends CI_Controller
*/
class Backup extends CI_Controller class Backup extends CI_Controller
{ {
function __construct()
{
parent::__construct();
//protection public function __construct()
$user = $this->config->item('backup_user'); {
$pass = $this->config->item('backup_pass'); parent::__construct();
if ($user == '' || $pass == '' || !isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != $user || $_SERVER['PHP_AUTH_PW'] != $pass)
{
header('WWW-Authenticate: Basic realm="Backup"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
}
function index()
{
// Load the DB utility class //protection
$this->load->dbutil(); $user = $this->config->item('backup_user');
$pass = $this->config->item('backup_pass');
// Backup your entire database and assign it to a variable if ($user == '' || $pass == '' || !isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != $user || $_SERVER['PHP_AUTH_PW'] != $pass) {
$backup = & $this->dbutil->backup(); header('WWW-Authenticate: Basic realm="Backup"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
}
// Load the download helper and send the file to your desktop public function index()
$this->load->helper('download'); {
force_download('stikked.gz', $backup);
} // Load the DB utility class
$this->load->dbutil();
// Backup your entire database and assign it to a variable
$backup = &$this->dbutil->backup();
// Load the download helper and send the file to your desktop
$this->load->helper('download');
force_download('stikked.gz', $backup);
}
} }

View File

@ -1,34 +1,27 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - index()
* - view()
* Classes list:
* - Iphone extends CI_Controller
*/
class Iphone extends CI_Controller class Iphone extends CI_Controller
{ {
function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->load->model('languages'); $this->load->model('languages');
} }
function index() public function index()
{ {
$this->load->model('pastes'); $this->load->model('pastes');
$data = $this->pastes->getLists('iphone/'); $data = $this->pastes->getLists('iphone/');
$this->load->view('iphone/recent', $data); $this->load->view('iphone/recent', $data);
} }
function view() public function view()
{ {
$this->load->model('pastes'); $this->load->model('pastes');
$data = $this->pastes->getPaste(3); $data = $this->pastes->getPaste(3);
$this->load->view('iphone/view', $data); $this->load->view('iphone/view', $data);
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,159 +1,139 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - index()
* - spam_detail()
* - blacklist()
* - unblock_ip()
* Classes list:
* - Spamadmin extends CI_Controller
*/
class Spamadmin extends CI_Controller class Spamadmin extends CI_Controller
{ {
function __construct()
{
parent::__construct();
//protection public function __construct()
$user = $this->config->item('spamadmin_user'); {
$pass = $this->config->item('spamadmin_pass'); parent::__construct();
// FastCGI doesn't provide PHP_AUTH_USER and PHP_AUTH_PW, apparently? //protection
if (empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['PHP_AUTH_PW'])) { $user = $this->config->item('spamadmin_user');
if (!empty($_SERVER['HTTP_AUTHORIZATION'])) { $pass = $this->config->item('spamadmin_pass');
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
}
}
// If they're not set, set them to blank. The null coalesce operator would be handy here, but // FastCGI doesn't provide PHP_AUTH_USER and PHP_AUTH_PW, apparently?
// that's PHP 7.0 and higher... if (empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['PHP_AUTH_PW'])) {
if (empty($_SERVER['PHP_AUTH_USER'])) if (!empty($_SERVER['HTTP_AUTHORIZATION'])) {
{ list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
$_SERVER['PHP_AUTH_USER'] = ""; }
} }
if (empty($_SERVER['PHP_AUTH_PW']))
{
$_SERVER['PHP_AUTH_PW'] = "";
}
if ($user === '' || $pass === '' || $_SERVER['PHP_AUTH_USER'] !== $user || $_SERVER['PHP_AUTH_PW'] !== $pass)
{
header('WWW-Authenticate: Basic realm="Spamadmin"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
}
function index()
{
$this->load->model('pastes');
$pastes_to_delete = $this->input->post('pastes_to_delete');
if ($pastes_to_delete)
{
foreach (explode(' ', $pastes_to_delete) as $pid)
{
$this->db->where('pid', $pid);
$this->db->delete('pastes');
}
redirect(site_url('spamadmin/' . $this->uri->segment(2)));
}
//render view // If they're not set, set them to blank. The null coalesce operator would be handy here, but
$data = $this->pastes->getSpamLists(); // that's PHP 7.0 and higher...
$this->load->view('list_ips', $data); if (empty($_SERVER['PHP_AUTH_USER'])) {
} $_SERVER['PHP_AUTH_USER'] = "";
}
function spam_detail() if (empty($_SERVER['PHP_AUTH_PW'])) {
{ $_SERVER['PHP_AUTH_PW'] = "";
$this->load->model('pastes'); }
$ip_address = $this->uri->segment(2);
if ($this->input->post('confirm_remove') && $ip_address != '')
{
$this->db->where('ip_address', $ip_address);
$this->db->delete('pastes');
$paste_count = $this->db->affected_rows();
if ($this->input->post('block_ip'))
{
$query = $this->db->get_where('blocked_ips', array(
'ip_address' => $ip_address
));
if ($query->num_rows() == 0)
{
$this->db->insert('blocked_ips', array(
'ip_address' => $ip_address,
'blocked_at' => time() ,
'spam_attempts' => $paste_count,
));
}
}
}
//fill data if ($user === '' || $pass === '' || $_SERVER['PHP_AUTH_USER'] !== $user || $_SERVER['PHP_AUTH_PW'] !== $pass) {
$data = $this->pastes->getSpamLists('spamadmin/' . $ip_address, $seg = 3, $ip_address); header('WWW-Authenticate: Basic realm="Spamadmin"');
$data['ip_address'] = $ip_address; header('HTTP/1.0 401 Unauthorized');
$ip = explode('.', $ip_address); exit;
}
if (count($ip) > 1) }
{
$ip_firstpart = $ip[0] . '.' . $ip[1] . '.';
$data['ip_range'] = $ip_firstpart . '*.*';
}
else
{
// ipv6 public function index()
$ip = explode(':', $ip_address); {
$ip_firstpart = $ip[0] . ':' . $ip[1] . ':' . $ip[2] . ':' . $ip[3] . ':' . $ip[4] . ':' . $ip[5] . ':' . $ip[6]; $this->load->model('pastes');
$data['ip_range'] = $ip_firstpart . ':*'; $pastes_to_delete = $this->input->post('pastes_to_delete');
}
//view if ($pastes_to_delete) {
$this->load->view('spam_detail', $data); foreach (explode(' ', $pastes_to_delete) as $pid) {
} $this->db->where('pid', $pid);
$this->db->delete('pastes');
function blacklist() }
{ redirect(site_url('spamadmin/' . $this->uri->segment(2)));
}
//pagination //render view
$amount = $this->config->item('per_page'); $data = $this->pastes->getSpamLists();
$page = ($this->uri->segment(3) ? $this->uri->segment(3) : 0); $this->load->view('list_ips', $data);
}
//get public function spam_detail()
$this->db->select('ip_address, blocked_at, spam_attempts'); {
$this->db->order_by('blocked_at desc, ip_address asc'); $this->load->model('pastes');
$query = $this->db->get('blocked_ips', $amount, $page); $ip_address = $this->uri->segment(2);
$data['blocked_ips'] = $query->result_array();
//pagination if ($this->input->post('confirm_remove') && $ip_address != '') {
$config['base_url'] = site_url('spamadmin/blacklist'); $this->db->where('ip_address', $ip_address);
$query = $this->db->get('blocked_ips'); $this->db->delete('pastes');
$config['total_rows'] = $query->num_rows(); $paste_count = $this->db->affected_rows();
$config['per_page'] = $amount;
$config['num_links'] = 9;
$config['full_tag_open'] = '<div class="pages">';
$config['full_tag_close'] = '</div>';
$config['uri_segment'] = 3;
$this->load->library('pagination');
$this->pagination->initialize($config);
$data['pages'] = $this->pagination->create_links();
//view if ($this->input->post('block_ip')) {
$this->load->view('list_blocked_ips', $data); $query = $this->db->get_where('blocked_ips', array(
} 'ip_address' => $ip_address,
));
function unblock_ip()
{ if ($query->num_rows() == 0) {
$ip_address = $this->uri->segment(4); $this->db->insert('blocked_ips', array(
$this->db->where('ip_address', $ip_address); 'ip_address' => $ip_address,
$this->db->delete('blocked_ips'); 'blocked_at' => time(),
redirect('spamadmin/blacklist'); 'spam_attempts' => $paste_count,
} ));
}
}
}
//fill data
$data = $this->pastes->getSpamLists('spamadmin/' . $ip_address, $seg = 3, $ip_address);
$data['ip_address'] = $ip_address;
$ip = explode('.', $ip_address);
if (count($ip) > 1) {
$ip_firstpart = $ip[0] . '.' . $ip[1] . '.';
$data['ip_range'] = $ip_firstpart . '*.*';
} else {
// ipv6
$ip = explode(':', $ip_address);
$ip_firstpart = $ip[0] . ':' . $ip[1] . ':' . $ip[2] . ':' . $ip[3] . ':' . $ip[4] . ':' . $ip[5] . ':' . $ip[6];
$data['ip_range'] = $ip_firstpart . ':*';
}
//view
$this->load->view('spam_detail', $data);
}
public function blacklist()
{
//pagination
$amount = $this->config->item('per_page');
$page = ($this->uri->segment(3) ? $this->uri->segment(3) : 0);
//get
$this->db->select('ip_address, blocked_at, spam_attempts');
$this->db->order_by('blocked_at desc, ip_address asc');
$query = $this->db->get('blocked_ips', $amount, $page);
$data['blocked_ips'] = $query->result_array();
//pagination
$config['base_url'] = site_url('spamadmin/blacklist');
$query = $this->db->get('blocked_ips');
$config['total_rows'] = $query->num_rows();
$config['per_page'] = $amount;
$config['num_links'] = 9;
$config['full_tag_open'] = '<div class="pages">';
$config['full_tag_close'] = '</div>';
$config['uri_segment'] = 3;
$this->load->library('pagination');
$this->pagination->initialize($config);
$data['pages'] = $this->pagination->create_links();
//view
$this->load->view('list_blocked_ips', $data);
}
public function unblock_ip()
{
$ip_address = $this->uri->segment(4);
$this->db->where('ip_address', $ip_address);
$this->db->delete('blocked_ips');
redirect('spamadmin/blacklist');
}
} }

View File

@ -1,227 +1,191 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - css()
* - fonts()
* - images()
* - js()
* - _expires_header()
* Classes list:
* - Theme_assets extends CI_Controller
*/
class Theme_assets extends CI_Controller class Theme_assets extends CI_Controller
{ {
function __construct()
{
parent::__construct();
$this->theme = config_item('theme');
}
function css()
{
$css_file = $this->uri->segment(4);
$css_file = basename($css_file); // Fix LFI Vulnerability
public function __construct()
if ($css_file == 'fonts') {
{ parent::__construct();
$font_file = $this->uri->segment(5); $this->theme = config_item('theme');
$font_file = basename($font_file); }
//file path public function css()
$file_path = 'themes/' . $this->theme . '/css/fonts/' . $font_file; {
$css_file = $this->uri->segment(4);
if (!file_exists($file_path)) $css_file = basename($css_file); // Fix LFI Vulnerability
{
return false;
}
$path_parts = pathinfo(dirname(dirname(dirname(__FILE__))) . '/' . $file_path);
if ($path_parts['extension'] == "woff")
{
header('Content-type: application/font-woff');
}
if ($path_parts['extension'] == "eot")
{
header('Content-type: application/vnd.ms-fontobject');
}
if ($path_parts['extension'] == "ttf" || $path_parts['extension'] == "ttc")
{
header('Content-type: application/x-font-ttf');
}
if ($path_parts['extension'] == "otf")
{
header('Content-type: font/opentype');
}
if ($path_parts['extension'] == "svg")
{
header('Content-type: image/svg+xml');
}
if ($path_parts['extension'] == "svgz")
{
header("Content-Encoding: gzip");
header('Content-type: image/svg+xml');
}
//send if ($css_file == 'fonts') {
$this->_expires_header(1); $font_file = $this->uri->segment(5);
readfile($file_path); $font_file = basename($font_file);
}
else
{
//file path //file path
$file_path = 'themes/' . $this->theme . '/css/' . $css_file; $file_path = 'themes/' . $this->theme . '/css/fonts/' . $font_file;
//fallback to default css if view in theme not found if (!file_exists($file_path)) {
return false;
if (!file_exists($file_path)) }
{ $path_parts = pathinfo(dirname(dirname(dirname(__FILE__))) . '/' . $file_path);
$file_path = 'themes/default/css/' . $css_file;
}
// Double checking file if ($path_parts['extension'] == "woff") {
header('Content-type: application/font-woff');
if (!file_exists($file_path)) }
{
return false;
}
//send if ($path_parts['extension'] == "eot") {
header('Content-type: text/css'); header('Content-type: application/vnd.ms-fontobject');
$this->_expires_header(1); }
readfile($file_path);
}
}
function fonts()
{
$font_file = $this->uri->segment(4);
//file path if ($path_parts['extension'] == "ttf" || $path_parts['extension'] == "ttc") {
$file_path = 'themes/' . $this->theme . '/fonts/' . $font_file; header('Content-type: application/x-font-ttf');
}
//no fallback to default, since default has no such fonts if ($path_parts['extension'] == "otf") {
//since no fallbcack, there is no doucle checking for file header('Content-type: font/opentype');
}
if ($path_parts['extension'] == "svg") {
if (!file_exists($file_path)) header('Content-type: image/svg+xml');
{ }
return false;
}
//send if ($path_parts['extension'] == "svgz") {
$path_parts = pathinfo(dirname(dirname(dirname(__FILE__))) . '/' . $file_path); header("Content-Encoding: gzip");
header('Content-type: image/svg+xml');
if ($path_parts['extension'] == "woff") }
{
header('Content-type: application/font-woff');
}
if ($path_parts['extension'] == "eot")
{
header('Content-type: application/vnd.ms-fontobject');
}
if ($path_parts['extension'] == "ttf" || $path_parts['extension'] == "ttc")
{
header('Content-type: application/x-font-ttf');
}
if ($path_parts['extension'] == "otf")
{
header('Content-type: font/opentype');
}
if ($path_parts['extension'] == "svg")
{
header('Content-type: image/svg+xml');
}
if ($path_parts['extension'] == "svgz")
{
header("Content-Encoding: gzip");
header('Content-type: image/svg+xml');
}
$this->_expires_header(1);
readfile($file_path);
}
function images()
{
$image_file = $this->uri->segment(4);
$image_file = basename($image_file);
//file path //send
$file_path = 'themes/' . $this->theme . '/images/' . $image_file; $this->_expires_header(1);
readfile($file_path);
} else {
//fallback to default css if view in theme not found //file path
$file_path = 'themes/' . $this->theme . '/css/' . $css_file;
if (!file_exists($file_path))
{
$file_path = 'themes/default/images/' . $image_file;
}
// double checking file //fallback to default css if view in theme not found
if (!file_exists($file_path))
{
return false;
}
//send if (!file_exists($file_path)) {
$size = getimagesize($file_path); $file_path = 'themes/default/css/' . $css_file;
header('Content-type: ' . $size['mime']); }
$this->_expires_header(30);
readfile($file_path);
}
function js()
{
//get js // Double checking file
$segments = $this->uri->segment_array();
array_shift($segments);
array_shift($segments);
array_shift($segments);
$js_file = implode('/', $segments);
$js_file = str_replace('../', '', $js_file);
//file path if (!file_exists($file_path)) {
$file_path = 'themes/' . $this->theme . '/js/' . $js_file; return false;
}
//fallback to default js if js in theme not found //send
header('Content-type: text/css');
if (!file_exists($file_path)) $this->_expires_header(1);
{ readfile($file_path);
$file_path = 'themes/default/js/' . $js_file; }
} }
// return empty string if not found, to not mess up existing JS public function fonts()
{
if (!file_exists($file_path)) $font_file = $this->uri->segment(4);
{
header('HTTP/1.1 404 Not Found');
return '';
}
//send //file path
header('Content-Type: application/x-javascript; charset=utf-8'); $file_path = 'themes/' . $this->theme . '/fonts/' . $font_file;
$this->_expires_header(30);
readfile($file_path); //no fallback to default, since default has no such fonts
} //since no fallbcack, there is no doucle checking for file
private
function _expires_header($days) if (!file_exists($file_path)) {
{ return false;
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 60 * 60 * 24 * $days)); }
}
//send
$path_parts = pathinfo(dirname(dirname(dirname(__FILE__))) . '/' . $file_path);
if ($path_parts['extension'] == "woff") {
header('Content-type: application/font-woff');
}
if ($path_parts['extension'] == "eot") {
header('Content-type: application/vnd.ms-fontobject');
}
if ($path_parts['extension'] == "ttf" || $path_parts['extension'] == "ttc") {
header('Content-type: application/x-font-ttf');
}
if ($path_parts['extension'] == "otf") {
header('Content-type: font/opentype');
}
if ($path_parts['extension'] == "svg") {
header('Content-type: image/svg+xml');
}
if ($path_parts['extension'] == "svgz") {
header("Content-Encoding: gzip");
header('Content-type: image/svg+xml');
}
$this->_expires_header(1);
readfile($file_path);
}
public function images()
{
$image_file = $this->uri->segment(4);
$image_file = basename($image_file);
//file path
$file_path = 'themes/' . $this->theme . '/images/' . $image_file;
//fallback to default css if view in theme not found
if (!file_exists($file_path)) {
$file_path = 'themes/default/images/' . $image_file;
}
// double checking file
if (!file_exists($file_path)) {
return false;
}
//send
$size = getimagesize($file_path);
header('Content-type: ' . $size['mime']);
$this->_expires_header(30);
readfile($file_path);
}
public function js()
{
//get js
$segments = $this->uri->segment_array();
array_shift($segments);
array_shift($segments);
array_shift($segments);
$js_file = implode('/', $segments);
$js_file = str_replace('../', '', $js_file);
//file path
$file_path = 'themes/' . $this->theme . '/js/' . $js_file;
//fallback to default js if js in theme not found
if (!file_exists($file_path)) {
$file_path = 'themes/default/js/' . $js_file;
}
// return empty string if not found, to not mess up existing JS
if (!file_exists($file_path)) {
header('HTTP/1.1 404 Not Found');
return '';
}
//send
header('Content-Type: application/x-javascript; charset=utf-8');
$this->_expires_header(30);
readfile($file_path);
}
private function _expires_header($days)
{
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 60 * 60 * 24 * $days));
}
} }

View File

@ -1,57 +1,50 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - index()
* Classes list:
* - Unittest extends CI_Controller
*/
class Unittest extends CI_Controller class Unittest extends CI_Controller
{ {
function __construct()
{
parent::__construct();
//protection public function __construct()
{
if ($_SERVER['HTTP_HOST'] != 'stikked') parent::__construct();
{
exit;
}
}
function index()
{
$this->load->library('unit_test');
$this->load->model('pastes');
//self test //protection
$test = 1 + 1;
$expected_result = 2;
$test_name = 'Self test: Adds one plus one';
$this->unit->run($test, $expected_result, $test_name);
//manipulation: create paste if ($_SERVER['HTTP_HOST'] != 'stikked') {
$_POST['code'] = '<?php echo "hello world!";'; exit;
$_POST['lang'] = 'php'; }
$_POST['title'] = 'hello world'; }
$_POST['name'] = 'stikkeduser';
$pid = $this->pastes->createPaste();
//paste created, has pid public function index()
$test = $pid; {
$expected_result = 'is_string'; $this->load->library('unit_test');
$test_name = 'Create paste, has pid'; $this->load->model('pastes');
$this->unit->run($test, $expected_result, $test_name);
$pid = str_replace('view/', '', $pid);
//manipulation: delete paste //self test
$this->pastes->delete_paste($pid); $test = 1 + 1;
$expected_result = 2;
$test_name = 'Self test: Adds one plus one';
$this->unit->run($test, $expected_result, $test_name);
//report //manipulation: create paste
echo $this->unit->report(); $_POST['code'] = '<?php echo "hello world!";';
} $_POST['lang'] = 'php';
$_POST['title'] = 'hello world';
$_POST['name'] = 'stikkeduser';
$pid = $this->pastes->createPaste();
//paste created, has pid
$test = $pid;
$expected_result = 'is_string';
$test_name = 'Create paste, has pid';
$this->unit->run($test, $expected_result, $test_name);
$pid = str_replace('view/', '', $pid);
//manipulation: delete paste
$this->pastes->delete_paste($pid);
//report
echo $this->unit->report();
}
} }

View File

@ -1,209 +1,178 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - view()
* - _ci_load()
* Classes list:
* - MY_Loader extends CI_Loader
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
class MY_Loader extends CI_Loader class MY_Loader extends CI_Loader
{ {
function __construct()
{
parent::__construct();
log_message('debug', 'MY_Loader Class Initialized');
}
function view($view, $vars = array() , $return = FALSE)
{
//theme name public function __construct()
$theme = config_item('theme'); {
parent::__construct();
log_message('debug', 'MY_Loader Class Initialized');
}
//view path public function view($view, $vars = array(), $return = false)
$view_path = 'themes/' . $theme . '/views/' . $view . '.php'; {
//fallback to default view if view in theme not found //theme name
$theme = config_item('theme');
if (!file_exists($view_path))
{
$view_path = 'themes/default/views/' . $view . '.php';
}
//return //view path
return $this->_ci_load(array( $view_path = 'themes/' . $theme . '/views/' . $view . '.php';
'_ci_view' => $view_path,
'_ci_vars' => $this->_ci_prepare_view_vars($vars) ,
'_ci_return' => $return
));
}
// -------------------------------------------------------------------- //fallback to default view if view in theme not found
/**
* Internal CI Data Loader
*
* Used to load views and files.
*
* Variables are prefixed with _ci_ to avoid symbol collision with
* variables made available to view files.
*
* @used-by CI_Loader::view()
* @used-by CI_Loader::file()
* @param array $_ci_data Data to load
* @return object
*/
protected
function _ci_load($_ci_data)
{
// Set the default data variables if (!file_exists($view_path)) {
foreach (array( $view_path = 'themes/default/views/' . $view . '.php';
'_ci_view', }
'_ci_vars',
'_ci_path',
'_ci_return'
) as $_ci_val)
{
$$_ci_val = isset($_ci_data[$_ci_val]) ? $_ci_data[$_ci_val] : FALSE;
}
$file_exists = FALSE;
// Set the path to the requested file //return
return $this->_ci_load(array(
if (is_string($_ci_path) && $_ci_path !== '') '_ci_view' => $view_path,
{ '_ci_vars' => $this->_ci_prepare_view_vars($vars),
$_ci_x = explode('/', $_ci_path); '_ci_return' => $return,
$_ci_file = end($_ci_x); ));
} }
else
{
$_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION);
$_ci_file = ($_ci_ext === '') ? $_ci_view . '.php' : $_ci_view;
foreach ($this->_ci_view_paths as $_ci_view_file => $cascade)
{
/* *** modification for stikked themes *** // --------------------------------------------------------------------
*
* we are by default in the htdocs/application/views folder, which is bad.
* for security reasons, themes folder should be outside the application dir.
* but file_exists() doesn't work with ../../ in filenames :-(
* so, applying the full FrontControllerPATH here, making ../../ superfluous.
*
*/
if (file_exists(FCPATH . $_ci_file))
{
$_ci_path = FCPATH . $_ci_file;
$file_exists = TRUE;
break;
}
if (!$cascade)
{
break;
}
}
}
if (!$file_exists && !file_exists($_ci_path))
{
show_error('Unable to load the requested file: ' . $_ci_file);
}
// This allows anything loaded using $this->load (views, files, etc.) /**
// to become accessible from within the Controller and Model functions. * Internal CI Data Loader
*
* Used to load views and files.
*
* Variables are prefixed with _ci_ to avoid symbol collision with
* variables made available to view files.
*
* @used-by CI_Loader::view()
* @used-by CI_Loader::file()
* @param array $_ci_data Data to load
* @return object
*/
protected function _ci_load($_ci_data)
{
$_ci_CI = & get_instance(); // Set the default data variables
foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var) foreach (array(
{ '_ci_view',
'_ci_vars',
if (!isset($this->$_ci_key)) '_ci_path',
{ '_ci_return',
$this->$_ci_key = & $_ci_CI->$_ci_key; ) as $_ci_val) {
} $$_ci_val = isset($_ci_data[$_ci_val]) ? $_ci_data[$_ci_val] : false;
} }
$file_exists = false;
/* // Set the path to the requested file
* Extract and cache variables
*
* You can either set variables using the dedicated $this->load->vars()
* function or via the second parameter of this function. We'll merge
* the two types and cache them so that views that are embedded within
* other views can have access to these variables.
*/
if (is_array($_ci_vars))
{
$this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars);
}
extract($this->_ci_cached_vars);
/* if (is_string($_ci_path) && $_ci_path !== '') {
* Buffer the output $_ci_x = explode('/', $_ci_path);
* $_ci_file = end($_ci_x);
* We buffer the output for two reasons: } else {
* 1. Speed. You get a significant speed boost. $_ci_ext = pathinfo($_ci_view, PATHINFO_EXTENSION);
* 2. So that the final rendered template can be post-processed by $_ci_file = ($_ci_ext === '') ? $_ci_view . '.php' : $_ci_view;
* the output class. Why do we need post processing? For one thing, foreach ($this->_ci_view_paths as $_ci_view_file => $cascade) {
* in order to show the elapsed page load time. Unless we can
* intercept the content right before it's sent to the browser and
* then stop the timer it won't be accurate.
*/
ob_start();
// If the PHP installation does not support short tags we'll /* *** modification for stikked themes ***
// do a little string replacement, changing the short tags *
* we are by default in the htdocs/application/views folder, which is bad.
* for security reasons, themes folder should be outside the application dir.
* but file_exists() doesn't work with ../../ in filenames :-(
* so, applying the full FrontControllerPATH here, making ../../ superfluous.
*
*/
// to standard PHP echo statements. if (file_exists(FCPATH . $_ci_file)) {
$_ci_path = FCPATH . $_ci_file;
$file_exists = true;
break;
}
if (!$cascade) {
if (!is_php('5.4') && !ini_get('short_open_tag') && config_item('rewrite_short_tags') === TRUE) break;
{ }
echo eval('?>' . preg_replace('/;*\s*\?>/', '; ?>', str_replace('<?=', '<?php echo ', file_get_contents($_ci_path)))); }
} }
else
{
include ($_ci_path); // include() vs include_once() allows for multiple views with the same name
if (!$file_exists && !file_exists($_ci_path)) {
} show_error('Unable to load the requested file: ' . $_ci_file);
log_message('info', 'File loaded: ' . $_ci_path); }
// Return the file data if requested // This allows anything loaded using $this->load (views, files, etc.)
// to become accessible from within the Controller and Model functions.
if ($_ci_return === TRUE)
{
$buffer = ob_get_contents();
@ob_end_clean();
return $buffer;
}
/* $_ci_CI = &get_instance();
* Flush the buffer... or buff the flusher? foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var) {
*
* In order to permit views to be nested within if (!isset($this->$_ci_key)) {
* other views, we need to flush the content back out whenever $this->$_ci_key = &$_ci_CI->$_ci_key;
* we are beyond the first level of output buffering so that }
* it can be seen and included properly by the first included }
* template and any subsequent ones. Oy!
*/ /*
* Extract and cache variables
if (ob_get_level() > $this->_ci_ob_level + 1) *
{ * You can either set variables using the dedicated $this->load->vars()
ob_end_flush(); * function or via the second parameter of this function. We'll merge
} * the two types and cache them so that views that are embedded within
else * other views can have access to these variables.
{ */
$_ci_CI->output->append_output(ob_get_contents());
@ob_end_clean(); if (is_array($_ci_vars)) {
} $this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars);
return $this; }
} extract($this->_ci_cached_vars);
/*
* Buffer the output
*
* We buffer the output for two reasons:
* 1. Speed. You get a significant speed boost.
* 2. So that the final rendered template can be post-processed by
* the output class. Why do we need post processing? For one thing,
* in order to show the elapsed page load time. Unless we can
* intercept the content right before it's sent to the browser and
* then stop the timer it won't be accurate.
*/
ob_start();
// If the PHP installation does not support short tags we'll
// do a little string replacement, changing the short tags
// to standard PHP echo statements.
if (!is_php('5.4') && !ini_get('short_open_tag') && config_item('rewrite_short_tags') === true) {
echo eval('?>' . preg_replace('/;*\s*\?>/', '; ?>', str_replace('<?=', '<?php echo ', file_get_contents($_ci_path))));
} else {
include $_ci_path; // include() vs include_once() allows for multiple views with the same name
}
log_message('info', 'File loaded: ' . $_ci_path);
// Return the file data if requested
if ($_ci_return === true) {
$buffer = ob_get_contents();
@ob_end_clean();
return $buffer;
}
/*
* Flush the buffer... or buff the flusher?
*
* In order to permit views to be nested within
* other views, we need to flush the content back out whenever
* we are beyond the first level of output buffering so that
* it can be seen and included properly by the first included
* template and any subsequent ones. Oy!
*/
if (ob_get_level() > $this->_ci_ob_level + 1) {
ob_end_flush();
} else {
$_ci_CI->output->append_output(ob_get_contents());
@ob_end_clean();
}
return $this;
}
} }

View File

@ -1,25 +1,18 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - create_captcha()
* - display_captcha()
* - b()
* Classes list:
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
/** /**
* CodeIgniter * CodeIgniter
* *
* An open source application development framework for PHP 5.1.6 or newer * An open source application development framework for PHP 5.1.6 or newer
* *
* @package CodeIgniter * @package CodeIgniter
* @author ExpressionEngine Dev Team * @author ExpressionEngine Dev Team
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc. * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html * @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com * @link http://codeigniter.com
* @since Version 1.0 * @since Version 1.0
* @filesource * @filesource
*/ */
@ -28,11 +21,11 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
/** /**
* CodeIgniter CAPTCHA Helper * CodeIgniter CAPTCHA Helper
* *
* @package CodeIgniter * @package CodeIgniter
* @subpackage Helpers * @subpackage Helpers
* @category Helpers * @category Helpers
* @author ExpressionEngine Dev Team * @author ExpressionEngine Dev Team
* @link http://codeigniter.com/user_guide/helpers/xml_helper.html * @link http://codeigniter.com/user_guide/helpers/xml_helper.html
*/ */
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
@ -40,432 +33,380 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
/** /**
* Create CAPTCHA * Create CAPTCHA
* *
* @access public * @access public
* @param array array of data for the CAPTCHA * @param array array of data for the CAPTCHA
* @param string path to create the image in * @param string path to create the image in
* @param string URL to the CAPTCHA image folder * @param string URL to the CAPTCHA image folder
* @param string server path to font * @param string server path to font
* @return string * @return string
*/ */
if (!function_exists('create_captcha')) if (!function_exists('create_captcha')) {
{
function create_captcha($data = '', $img_path = '', $img_url = '', $font_path = '')
{
$defaults = array(
'word' => '',
'img_path' => '',
'img_url' => '',
'img_width' => '150',
'img_height' => '30',
'font_path' => '',
'expiration' => 7200
);
foreach ($defaults as $key => $val)
{
if (!is_array($data))
{
if (!isset($$key) OR $$key == '')
{
$$key = $val;
}
}
else
{
$$key = (!isset($data[$key])) ? $val : $data[$key];
}
}
if ($img_path == '' OR $img_url == '')
{
return FALSE;
}
if (!@is_dir($img_path))
{
return FALSE;
}
if (!is_writable($img_path))
{
return FALSE;
}
if (!extension_loaded('gd'))
{
return FALSE;
}
// ----------------------------------- function create_captcha($data = '', $img_path = '', $img_url = '', $font_path = '')
// Remove old images {
$defaults = array(
'word' => '',
'img_path' => '',
'img_url' => '',
'img_width' => '150',
'img_height' => '30',
'font_path' => '',
'expiration' => 7200,
);
foreach ($defaults as $key => $val) {
// ----------------------------------- if (!is_array($data)) {
list($usec, $sec) = explode(" ", microtime()); if (!isset($$key) or $$key == '') {
$now = ((float)$usec + (float)$sec); $$key = $val;
$current_dir = @opendir($img_path); }
while ($filename = @readdir($current_dir)) } else {
{ $$key = (!isset($data[$key])) ? $val : $data[$key];
}
if ($filename != "." and $filename != ".." and $filename != "index.html") }
{
$name = str_replace(".jpg", "", $filename);
if (($name + $expiration) < $now)
{
@unlink($img_path . $filename);
}
}
}
@closedir($current_dir);
// ----------------------------------- if ($img_path == '' or $img_url == '') {
// Do we have a "word" yet? return false;
}
// ----------------------------------- if (!@is_dir($img_path)) {
return false;
}
if (!is_writable($img_path)) {
if ($word == '') return false;
{ }
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$str = '';
for ($i = 0;$i < 8;$i++)
{
$str.= substr($pool, mt_rand(0, strlen($pool) - 1) , 1);
}
$word = $str;
}
// ----------------------------------- if (!extension_loaded('gd')) {
// Determine angle and position return false;
}
// ----------------------------------- // -----------------------------------
// Remove old images
$length = strlen($word); // -----------------------------------
$angle = ($length >= 6) ? rand(-($length - 6) , ($length - 6)) : 0;
$x_axis = rand(6, (360 / $length) - 16);
$y_axis = ($angle >= 0) ? rand($img_height, $img_width) : rand(6, $img_height);
// ----------------------------------- list($usec, $sec) = explode(" ", microtime());
// Create image $now = ((float) $usec + (float) $sec);
$current_dir = @opendir($img_path);
while ($filename = @readdir($current_dir)) {
// ----------------------------------- if ($filename != "." and $filename != ".." and $filename != "index.html") {
$name = str_replace(".jpg", "", $filename);
// PHP.net recommends imagecreatetruecolor(), but it isn't always available if (($name + $expiration) < $now) {
@unlink($img_path . $filename);
}
}
}
@closedir($current_dir);
// -----------------------------------
if (function_exists('imagecreatetruecolor')) // Do we have a "word" yet?
{
$im = imagecreatetruecolor($img_width, $img_height);
}
else
{
$im = imagecreate($img_width, $img_height);
}
// ----------------------------------- // -----------------------------------
// Assign colors
// ----------------------------------- if ($word == '') {
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$str = '';
for ($i = 0; $i < 8; $i++) {
$str .= substr($pool, mt_rand(0, strlen($pool) - 1), 1);
}
$word = $str;
}
$bg_color = imagecolorallocate($im, 255, 255, 255); // -----------------------------------
$border_color = imagecolorallocate($im, 153, 102, 102); // Determine angle and position
$text_color = imagecolorallocate($im, 204, 153, 153);
$grid_color = imagecolorallocate($im, 255, 182, 182);
$shadow_color = imagecolorallocate($im, 255, 240, 240);
// ----------------------------------- // -----------------------------------
// Create the rectangle
// ----------------------------------- $length = strlen($word);
$angle = ($length >= 6) ? rand(-($length - 6), ($length - 6)) : 0;
$x_axis = rand(6, (360 / $length) - 16);
$y_axis = ($angle >= 0) ? rand($img_height, $img_width) : rand(6, $img_height);
ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $bg_color); // -----------------------------------
// Create image
// ----------------------------------- // -----------------------------------
// Create the spiral pattern
// ----------------------------------- // PHP.net recommends imagecreatetruecolor(), but it isn't always available
$theta = 1; if (function_exists('imagecreatetruecolor')) {
$thetac = 7; $im = imagecreatetruecolor($img_width, $img_height);
$radius = 16; } else {
$circles = 20; $im = imagecreate($img_width, $img_height);
$points = 32; }
for ($i = 0;$i < ($circles * $points) - 1;$i++)
{
$theta = $theta + $thetac;
$rad = $radius * ($i / $points);
$x = ($rad * cos($theta)) + $x_axis;
$y = ($rad * sin($theta)) + $y_axis;
$theta = $theta + $thetac;
$rad1 = $radius * (($i + 1) / $points);
$x1 = ($rad1 * cos($theta)) + $x_axis;
$y1 = ($rad1 * sin($theta)) + $y_axis;
imageline($im, $x, $y, $x1, $y1, $grid_color);
$theta = $theta - $thetac;
}
// ----------------------------------- // -----------------------------------
// Write the text // Assign colors
// ----------------------------------- // -----------------------------------
$use_font = ($font_path != '' AND file_exists($font_path) AND function_exists('imagettftext')) ? TRUE : FALSE; $bg_color = imagecolorallocate($im, 255, 255, 255);
$border_color = imagecolorallocate($im, 153, 102, 102);
if ($use_font == FALSE) $text_color = imagecolorallocate($im, 204, 153, 153);
{ $grid_color = imagecolorallocate($im, 255, 182, 182);
$font_size = 5; $shadow_color = imagecolorallocate($im, 255, 240, 240);
$x = rand(0, $img_width / ($length / 3));
$y = 0;
}
else
{
$font_size = 16;
$x = rand(0, $img_width / ($length / 1.5));
$y = $font_size + 2;
}
for ($i = 0;$i < strlen($word);$i++)
{
if ($use_font == FALSE)
{
$y = rand(0, $img_height / 2);
imagestring($im, $font_size, $x, $y, substr($word, $i, 1) , $text_color);
$x+= ($font_size * 2);
}
else
{
$y = rand($img_height / 2, $img_height - 3);
imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, substr($word, $i, 1));
$x+= $font_size;
}
}
// ----------------------------------- // -----------------------------------
// Create the border // Create the rectangle
// ----------------------------------- // -----------------------------------
imagerectangle($im, 0, 0, $img_width - 1, $img_height - 1, $border_color); ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $bg_color);
// ----------------------------------- // -----------------------------------
// Generate the image // Create the spiral pattern
// ----------------------------------- // -----------------------------------
$img_name = $now . '.jpg'; $theta = 1;
ImageJPEG($im, $img_path . $img_name); $thetac = 7;
$img = "<img src=\"$img_url$img_name\" width=\"$img_width\" height=\"$img_height\" style=\"border:0;\" alt=\" \" />"; $radius = 16;
ImageDestroy($im); $circles = 20;
return array( $points = 32;
'word' => $word, for ($i = 0; $i < ($circles * $points) - 1; $i++) {
'time' => $now, $theta = $theta + $thetac;
'image' => $img $rad = $radius * ($i / $points);
); $x = ($rad * cos($theta)) + $x_axis;
} $y = ($rad * sin($theta)) + $y_axis;
$theta = $theta + $thetac;
$rad1 = $radius * (($i + 1) / $points);
$x1 = ($rad1 * cos($theta)) + $x_axis;
$y1 = ($rad1 * sin($theta)) + $y_axis;
imageline($im, $x, $y, $x1, $y1, $grid_color);
$theta = $theta - $thetac;
}
// -----------------------------------
// Write the text
// -----------------------------------
$use_font = ($font_path != '' and file_exists($font_path) and function_exists('imagettftext')) ? true : false;
if ($use_font == false) {
$font_size = 5;
$x = rand(0, $img_width / ($length / 3));
$y = 0;
} else {
$font_size = 16;
$x = rand(0, $img_width / ($length / 1.5));
$y = $font_size + 2;
}
for ($i = 0; $i < strlen($word); $i++) {
if ($use_font == false) {
$y = rand(0, $img_height / 2);
imagestring($im, $font_size, $x, $y, substr($word, $i, 1), $text_color);
$x += ($font_size * 2);
} else {
$y = rand($img_height / 2, $img_height - 3);
imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, substr($word, $i, 1));
$x += $font_size;
}
}
// -----------------------------------
// Create the border
// -----------------------------------
imagerectangle($im, 0, 0, $img_width - 1, $img_height - 1, $border_color);
// -----------------------------------
// Generate the image
// -----------------------------------
$img_name = $now . '.jpg';
ImageJPEG($im, $img_path . $img_name);
$img = "<img src=\"$img_url$img_name\" width=\"$img_width\" height=\"$img_height\" style=\"border:0;\" alt=\" \" />";
ImageDestroy($im);
return array(
'word' => $word,
'time' => $now,
'image' => $img,
);
}
} }
/** /**
* Display CAPTCHA * Display CAPTCHA
* *
* @access public * @access public
* @return string * @return string
*/ */
if (!function_exists('display_captcha')) if (!function_exists('display_captcha')) {
{
function display_captcha($word = '')
{
$data = '';
list($usec, $sec) = explode(" ", microtime());
$now = ((float)$usec + (float)$sec);
$defaults = array(
'word' => $word,
'img_path' => '',
'img_url' => '',
'img_width' => '180',
'img_height' => '40',
'font_path' => '',
'expiration' => 7200
);
foreach ($defaults as $key => $val)
{
if (!is_array($data))
{
if (!isset($$key) OR $$key == '')
{
$$key = $val;
}
}
else
{
$$key = (!isset($data[$key])) ? $val : $data[$key];
}
}
if (!extension_loaded('gd'))
{
return FALSE;
}
// ----------------------------------- function display_captcha($word = '')
// Do we have a "word" yet? {
$data = '';
list($usec, $sec) = explode(" ", microtime());
$now = ((float) $usec + (float) $sec);
$defaults = array(
'word' => $word,
'img_path' => '',
'img_url' => '',
'img_width' => '180',
'img_height' => '40',
'font_path' => '',
'expiration' => 7200,
);
foreach ($defaults as $key => $val) {
// ----------------------------------- if (!is_array($data)) {
if (!isset($$key) or $$key == '') {
if ($word == '') $$key = $val;
{ }
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; } else {
$str = ''; $$key = (!isset($data[$key])) ? $val : $data[$key];
for ($i = 0;$i < 4;$i++) }
{ }
$str.= substr($pool, mt_rand(0, strlen($pool) - 1) , 1);
}
$word = $str;
}
// ----------------------------------- if (!extension_loaded('gd')) {
// Determine angle and position return false;
}
// ----------------------------------- // -----------------------------------
// Do we have a "word" yet?
$length = strlen($word); // -----------------------------------
$angle = ($length >= 6) ? mt_rand(-($length - 6) , ($length - 6)) : 0;
$angle = 10;
$x_axis = mt_rand(6, (360 / $length) - 16);
$y_axis = ($angle >= 0) ? mt_rand($img_height, $img_width) : mt_rand(6, $img_height);
// ----------------------------------- if ($word == '') {
// Create image $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$str = '';
for ($i = 0; $i < 4; $i++) {
$str .= substr($pool, mt_rand(0, strlen($pool) - 1), 1);
}
$word = $str;
}
// ----------------------------------- // -----------------------------------
// Determine angle and position
// PHP.net recommends imagecreatetruecolor(), but it isn't always available // -----------------------------------
$length = strlen($word);
if (function_exists('imagecreatetruecolor')) $angle = ($length >= 6) ? mt_rand(-($length - 6), ($length - 6)) : 0;
{ $angle = 10;
$im = imagecreatetruecolor($img_width, $img_height); $x_axis = mt_rand(6, (360 / $length) - 16);
} $y_axis = ($angle >= 0) ? mt_rand($img_height, $img_width) : mt_rand(6, $img_height);
else
{
$im = imagecreate($img_width, $img_height);
}
// ----------------------------------- // -----------------------------------
// Assign colors // Create image
// ----------------------------------- // -----------------------------------
// PHP.net recommends imagecreatetruecolor(), but it isn't always available
function b()
{
return mt_rand(240, 255);
}
$bg_color = imagecolorallocate($im, b() , b() , b());
$border_color = imagecolorallocate($im, 153, 102, 102);
$text_color = imagecolorallocate($im, 204, 153, 153);
$grid_color = imagecolorallocate($im, 255, 182, 182);
$shadow_color = imagecolorallocate($im, 255, 240, 240);
// ----------------------------------- if (function_exists('imagecreatetruecolor')) {
// Create the rectangle $im = imagecreatetruecolor($img_width, $img_height);
} else {
$im = imagecreate($img_width, $img_height);
}
// ----------------------------------- // -----------------------------------
// Assign colors
ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $bg_color); // -----------------------------------
// ----------------------------------- function b()
// Create the spiral pattern {
return mt_rand(240, 255);
}
$bg_color = imagecolorallocate($im, b(), b(), b());
$border_color = imagecolorallocate($im, 153, 102, 102);
$text_color = imagecolorallocate($im, 204, 153, 153);
$grid_color = imagecolorallocate($im, 255, 182, 182);
$shadow_color = imagecolorallocate($im, 255, 240, 240);
// ----------------------------------- // -----------------------------------
// Create the rectangle
$theta = 1; // -----------------------------------
$thetac = 7;
$radius = 16;
$circles = 20;
$points = 32;
for ($i = 0;$i < ($circles * $points) - 1;$i++)
{
$theta = $theta + $thetac;
$rad = $radius * ($i / $points);
$x = ($rad * cos($theta)) + $x_axis;
$y = ($rad * sin($theta)) + $y_axis;
$theta = $theta + $thetac;
$rad1 = $radius * (($i + 1) / $points);
$x1 = ($rad1 * cos($theta)) + $x_axis;
$y1 = ($rad1 * sin($theta)) + $y_axis;
imageline($im, $x, $y, $x1, $y1, $grid_color);
$theta = $theta - $thetac;
}
// ----------------------------------- ImageFilledRectangle($im, 0, 0, $img_width, $img_height, $bg_color);
// Write the text
// ----------------------------------- // -----------------------------------
// Create the spiral pattern
//get random font // -----------------------------------
$fn = explode(',', '4,5,6,8,16,17,19,24,26'); $theta = 1;
$f = mt_rand(0, count($fn) - 1); $thetac = 7;
$font_path = './static/fonts/font' . $fn[$f] . '.ttf'; $radius = 16;
$use_font = ($font_path != '' AND file_exists($font_path) AND function_exists('imagettftext')) ? TRUE : FALSE; $circles = 20;
$points = 32;
if ($use_font == FALSE) for ($i = 0; $i < ($circles * $points) - 1; $i++) {
{ $theta = $theta + $thetac;
$font_size = 5; $rad = $radius * ($i / $points);
$x = mt_rand(0, $img_width / ($length / 3)); $x = ($rad * cos($theta)) + $x_axis;
$y = 0; $y = ($rad * sin($theta)) + $y_axis;
} $theta = $theta + $thetac;
else $rad1 = $radius * (($i + 1) / $points);
{ $x1 = ($rad1 * cos($theta)) + $x_axis;
$font_size = 16; $y1 = ($rad1 * sin($theta)) + $y_axis;
$x = mt_rand(0, $img_width / ($length / 1.5)); imageline($im, $x, $y, $x1, $y1, $grid_color);
$y = $font_size + 2; $theta = $theta - $thetac;
} }
for ($i = 0;$i < strlen($word);$i++)
{
if ($use_font == FALSE)
{
$y = mt_rand(0, $img_height / 2);
imagestring($im, $font_size, $x, $y, substr($word, $i, 1) , $text_color);
$x+= ($font_size * 2);
}
else
{
$y = mt_rand($img_height / 2, $img_height - 3);
imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, substr($word, $i, 1));
$x+= $font_size;
}
}
// ----------------------------------- // -----------------------------------
// Create the border // Write the text
// ----------------------------------- // -----------------------------------
imagerectangle($im, 0, 0, $img_width - 1, $img_height - 1, $border_color); //get random font
// ----------------------------------- $fn = explode(',', '4,5,6,8,16,17,19,24,26');
// Generate the image $f = mt_rand(0, count($fn) - 1);
$font_path = './static/fonts/font' . $fn[$f] . '.ttf';
$use_font = ($font_path != '' and file_exists($font_path) and function_exists('imagettftext')) ? true : false;
// ----------------------------------- if ($use_font == false) {
$font_size = 5;
$x = mt_rand(0, $img_width / ($length / 3));
$y = 0;
} else {
$font_size = 16;
$x = mt_rand(0, $img_width / ($length / 1.5));
$y = $font_size + 2;
}
for ($i = 0; $i < strlen($word); $i++) {
$img_name = $now . '.jpg'; if ($use_font == false) {
echo ImageJPEG($im); $y = mt_rand(0, $img_height / 2);
ImageDestroy($im); imagestring($im, $font_size, $x, $y, substr($word, $i, 1), $text_color);
} $x += ($font_size * 2);
} else {
$y = mt_rand($img_height / 2, $img_height - 3);
imagettftext($im, $font_size, $angle, $x, $y, $text_color, $font_path, substr($word, $i, 1));
$x += $font_size;
}
}
// -----------------------------------
// Create the border
// -----------------------------------
imagerectangle($im, 0, 0, $img_width - 1, $img_height - 1, $border_color);
// -----------------------------------
// Generate the image
// -----------------------------------
$img_name = $now . '.jpg';
echo ImageJPEG($im);
ImageDestroy($im);
}
} }
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
/* End of file captcha_helper.php */ /* End of file captcha_helper.php */
/* Location: ./system/heleprs/captcha_helper.php */ /* Location: ./system/heleprs/captcha_helper.php */

View File

@ -1,58 +1,46 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - json_encode() //If you are on a version of PHP before 5.2, this might help:
* Classes list: if (!function_exists('json_encode')) {
*/
//If you are on a version of PHP before 5.2, this might help: function json_encode($data)
{
if (!function_exists('json_encode')) switch ($type = gettype($data)) {
{ case 'NULL':
return 'null';
function json_encode($data) case 'boolean':
{ return ($data ? 'true' : 'false');
switch ($type = gettype($data)) case 'integer':
{ case 'double':
case 'NULL': case 'float':
return 'null'; return $data;
case 'boolean': case 'string':
return ($data ? 'true' : 'false'); return '"' . addslashes($data) . '"';
case 'integer': case 'object':
case 'double': $data = get_object_vars($data);
case 'float': case 'array':
return $data; $output_index_count = 0;
case 'string': $output_indexed = array();
return '"' . addslashes($data) . '"'; $output_associative = array();
case 'object': foreach ($data as $key => $value) {
$data = get_object_vars($data); $output_indexed[] = json_encode($value);
case 'array': $output_associative[] = json_encode($key) . ':' . json_encode($value);
$output_index_count = 0;
$output_indexed = array(); if ($output_index_count !== null && $output_index_count++ !== $key) {
$output_associative = array(); $output_index_count = null;
foreach ($data as $key => $value) }
{ }
$output_indexed[] = json_encode($value);
$output_associative[] = json_encode($key) . ':' . json_encode($value); if ($output_index_count !== null) {
return '[' . implode(',', $output_indexed) . ']';
if ($output_index_count !== NULL && $output_index_count++ !== $key) } else {
{ return '{' . implode(',', $output_associative) . '}';
$output_index_count = NULL; }
} default:
} return ''; // Not supported
if ($output_index_count !== NULL) }
{ }
return '[' . implode(',', $output_indexed) . ']';
}
else
{
return '{' . implode(',', $output_associative) . '}';
}
default:
return ''; // Not supported
}
}
} }

View File

@ -1,24 +1,18 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - lang()
* - random_expire_msg()
* Classes list:
*/
if (!defined('BASEPATH')) exit('No direct script access allowed');
/** /**
* CodeIgniter * CodeIgniter
* *
* An open source application development framework for PHP 5.1.6 or newer * An open source application development framework for PHP 5.1.6 or newer
* *
* @package CodeIgniter * @package CodeIgniter
* @author ExpressionEngine Dev Team * @author ExpressionEngine Dev Team
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc. * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
* @license http://codeigniter.com/user_guide/license.html * @license http://codeigniter.com/user_guide/license.html
* @link http://codeigniter.com * @link http://codeigniter.com
* @since Version 1.0 * @since Version 1.0
* @filesource * @filesource
*/ */
@ -27,11 +21,11 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
/** /**
* CodeIgniter Language Helpers * CodeIgniter Language Helpers
* *
* @package CodeIgniter * @package CodeIgniter
* @subpackage Helpers * @subpackage Helpers
* @category Helpers * @category Helpers
* @author ExpressionEngine Dev Team * @author ExpressionEngine Dev Team
* @link http://codeigniter.com/user_guide/helpers/language_helper.html * @link http://codeigniter.com/user_guide/helpers/language_helper.html
*/ */
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
@ -41,49 +35,45 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
* *
* Fetches a language variable and optionally outputs a form label * Fetches a language variable and optionally outputs a form label
* *
* @access public * @access public
* @param string the language line * @param string the language line
* @param string the id of the form element * @param string the id of the form element
* @return string * @return string
*/ */
if (!function_exists('lang')) if (!function_exists('lang')) {
{
function lang($index, $id = '')
function lang($index, $id = '') {
{ $CI = &get_instance();
$CI = & get_instance(); $line = $CI->lang->line($index);
$line = $CI->lang->line($index);
if ($id != '') {
if ($id != '') $line = '<label for="' . $id . '">' . $line . "</label>";
{ }
$line = '<label for="' . $id . '">' . $line . "</label>"; return ($line != '' ? $line : '[' . $index . ']');
} }
return ($line != '' ? $line : '[' . $index . ']');
}
} }
/** /**
* Random expire msg * Random expire msg
* *
* Displays a random expire message * Displays a random expire message
* *
* @access public * @access public
* @return string * @return string
*/ */
if (!function_exists('random_expire_msg')) if (!function_exists('random_expire_msg')) {
{
function random_expire_msg()
function random_expire_msg() {
{ $CI = &get_instance();
$CI = & get_instance(); $expires = $CI->config->item('expires');
$expires = $CI->config->item('expires'); return $expires[rand(0, sizeof($expires) - 1)];
return $expires[rand(0, sizeof($expires) - 1) ]; }
}
} }
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
/* End of file language_helper.php */ /* End of file language_helper.php */
/* Location: ./system/helpers/language_helper.php */ /* Location: ./system/helpers/language_helper.php */

View File

@ -44,18 +44,18 @@ define("RECAPTCHA_VERIFY_SERVER", "www.google.com");
* @param $data - array of string elements to be encoded * @param $data - array of string elements to be encoded
* @return string - encoded request * @return string - encoded request
*/ */
function _recaptcha_qsencode ($data) { function _recaptcha_qsencode($data)
$req = ""; {
foreach ( $data as $key => $value ) $req = "";
$req .= $key . '=' . urlencode( stripslashes($value) ) . '&'; foreach ($data as $key => $value) {
$req .= $key . '=' . urlencode(stripslashes($value)) . '&';
}
// Cut the last '&' // Cut the last '&'
$req=substr($req,0,strlen($req)-1); $req = substr($req, 0, strlen($req) - 1);
return $req; return $req;
} }
/** /**
* Submits an HTTP POST to a reCAPTCHA server * Submits an HTTP POST to a reCAPTCHA server
* @param string $host * @param string $host
@ -64,35 +64,36 @@ function _recaptcha_qsencode ($data) {
* @param int port * @param int port
* @return array response * @return array response
*/ */
function _recaptcha_http_post($host, $path, $data, $port = 80) { function _recaptcha_http_post($host, $path, $data, $port = 80)
{
$req = _recaptcha_qsencode ($data); $req = _recaptcha_qsencode($data);
$http_request = "POST $path HTTP/1.0\r\n"; $http_request = "POST $path HTTP/1.0\r\n";
$http_request .= "Host: $host\r\n"; $http_request .= "Host: $host\r\n";
$http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n"; $http_request .= "Content-Type: application/x-www-form-urlencoded;\r\n";
$http_request .= "Content-Length: " . strlen($req) . "\r\n"; $http_request .= "Content-Length: " . strlen($req) . "\r\n";
$http_request .= "User-Agent: reCAPTCHA/PHP\r\n"; $http_request .= "User-Agent: reCAPTCHA/PHP\r\n";
$http_request .= "\r\n"; $http_request .= "\r\n";
$http_request .= $req; $http_request .= $req;
$response = ''; $response = '';
if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) { if (false == ($fs = @fsockopen($host, $port, $errno, $errstr, 10))) {
die ('Could not open socket'); die('Could not open socket');
} }
fwrite($fs, $http_request); fwrite($fs, $http_request);
while ( !feof($fs) ) while (!feof($fs)) {
$response .= fgets($fs, 1160); // One TCP-IP packet $response .= fgets($fs, 1160);
fclose($fs); }
$response = explode("\r\n\r\n", $response, 2); // One TCP-IP packet
fclose($fs);
$response = explode("\r\n\r\n", $response, 2);
return $response; return $response;
} }
/** /**
* Gets the challenge HTML (javascript and non-javascript version). * Gets the challenge HTML (javascript and non-javascript version).
* This is called from the browser, and the resulting reCAPTCHA HTML widget * This is called from the browser, and the resulting reCAPTCHA HTML widget
@ -103,96 +104,89 @@ function _recaptcha_http_post($host, $path, $data, $port = 80) {
* @return string - The HTML to be embedded in the user's form. * @return string - The HTML to be embedded in the user's form.
*/ */
function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) function recaptcha_get_html($pubkey, $error = null, $use_ssl = false)
{ {
if ($pubkey == null || $pubkey == '') { if ($pubkey == null || $pubkey == '') {
die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>"); die("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
} }
if ($use_ssl) {
$server = RECAPTCHA_API_SECURE_SERVER;
} else {
$server = RECAPTCHA_API_SERVER;
}
$errorpart = ""; if ($use_ssl) {
if ($error) { $server = RECAPTCHA_API_SECURE_SERVER;
$errorpart = "&amp;error=" . $error; } else {
} $server = RECAPTCHA_API_SERVER;
return '<script src=\'https://www.google.com/recaptcha/api.js\'></script> }
$errorpart = "";
if ($error) {
$errorpart = "&amp;error=" . $error;
}
return '<script src=\'https://www.google.com/recaptcha/api.js\'></script>
<div class="g-recaptcha" data-sitekey="' . $pubkey . '"></div>'; <div class="g-recaptcha" data-sitekey="' . $pubkey . '"></div>';
/*return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script>
/*return '<script type="text/javascript" src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script> <noscript>
<iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/>
<noscript> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> </noscript>';*/
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>';*/
} }
/** /**
* A ReCaptchaResponse is returned from recaptcha_check_answer() * A ReCaptchaResponse is returned from recaptcha_check_answer()
*/ */
class ReCaptchaResponse { class ReCaptchaResponse
var $is_valid; {
var $error; public $is_valid;
public $error;
} }
/** /**
* Calls an HTTP POST function to verify if the user's guess was correct * Calls an HTTP POST function to verify if the user's guess was correct
* @param string $privkey * @param string $privkey
* @param string $remoteip * @param string $remoteip
* @param string $challenge * @param string $challenge
* @param string $response * @param string $response
* @param array $extra_params an array of extra variables to post to the server * @param array $extra_params an array of extra variables to post to the server
* @return ReCaptchaResponse * @return ReCaptchaResponse
*/ */
function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array()) function recaptcha_check_answer($privkey, $remoteip, $challenge, $response, $extra_params = array())
{ {
if ($privkey == null || $privkey == '') { if ($privkey == null || $privkey == '') {
die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>"); die("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>");
} }
if ($remoteip == null || $remoteip == '') { if ($remoteip == null || $remoteip == '') {
die ("For security reasons, you must pass the remote ip to reCAPTCHA"); die("For security reasons, you must pass the remote ip to reCAPTCHA");
} }
//discard spam submissions
if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
//discard spam submissions
if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {
$recaptcha_response = new ReCaptchaResponse();
$recaptcha_response->is_valid = false;
$recaptcha_response->error = 'incorrect-captcha-sol';
return $recaptcha_response;
}
$response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
array (
'privatekey' => $privkey,
'remoteip' => $remoteip,
'challenge' => $challenge,
'response' => $response
) + $extra_params
);
$answers = explode ("\n", $response [1]);
$recaptcha_response = new ReCaptchaResponse(); $recaptcha_response = new ReCaptchaResponse();
$recaptcha_response->is_valid = false;
if (trim ($answers [0]) == 'true') { $recaptcha_response->error = 'incorrect-captcha-sol';
$recaptcha_response->is_valid = true;
}
else {
$recaptcha_response->is_valid = false;
$recaptcha_response->error = $answers [1];
}
return $recaptcha_response; return $recaptcha_response;
}
$response = _recaptcha_http_post(RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
array(
'privatekey' => $privkey,
'remoteip' => $remoteip,
'challenge' => $challenge,
'response' => $response,
) + $extra_params
);
$answers = explode("\n", $response[1]);
$recaptcha_response = new ReCaptchaResponse();
if (trim($answers[0]) == 'true') {
$recaptcha_response->is_valid = true;
} else {
$recaptcha_response->is_valid = false;
$recaptcha_response->error = $answers[1];
}
return $recaptcha_response;
} }
@ -203,45 +197,48 @@ function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $ex
* @param string $domain The domain where the page is hosted * @param string $domain The domain where the page is hosted
* @param string $appname The name of your application * @param string $appname The name of your application
*/ */
function recaptcha_get_signup_url ($domain = null, $appname = null) { function recaptcha_get_signup_url($domain = null, $appname = null)
return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode (array ('domains' => $domain, 'app' => $appname)); {
return "https://www.google.com/recaptcha/admin/create?" . _recaptcha_qsencode(array('domains' => $domain, 'app' => $appname));
} }
function _recaptcha_aes_pad($val) { function _recaptcha_aes_pad($val)
$block_size = 16; {
$numpad = $block_size - (strlen ($val) % $block_size); $block_size = 16;
return str_pad($val, strlen ($val) + $numpad, chr($numpad)); $numpad = $block_size - (strlen($val) % $block_size);
return str_pad($val, strlen($val) + $numpad, chr($numpad));
} }
/* Mailhide related code */ /* Mailhide related code */
function _recaptcha_aes_encrypt($val,$ky) { function _recaptcha_aes_encrypt($val, $ky)
if (! function_exists ("mcrypt_encrypt")) { {
die ("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed."); if (!function_exists("mcrypt_encrypt")) {
} die("To use reCAPTCHA Mailhide, you need to have the mcrypt php module installed.");
$mode=MCRYPT_MODE_CBC; }
$enc=MCRYPT_RIJNDAEL_128; $mode = MCRYPT_MODE_CBC;
$val=_recaptcha_aes_pad($val); $enc = MCRYPT_RIJNDAEL_128;
return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"); $val = _recaptcha_aes_pad($val);
return mcrypt_encrypt($enc, $ky, $val, $mode, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0");
} }
function _recaptcha_mailhide_urlbase64($x)
function _recaptcha_mailhide_urlbase64 ($x) { {
return strtr(base64_encode ($x), '+/', '-_'); return strtr(base64_encode($x), '+/', '-_');
} }
/* gets the reCAPTCHA Mailhide url for a given email, public key and private key */ /* gets the reCAPTCHA Mailhide url for a given email, public key and private key */
function recaptcha_mailhide_url($pubkey, $privkey, $email) { function recaptcha_mailhide_url($pubkey, $privkey, $email)
if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) { {
die ("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " . if ($pubkey == '' || $pubkey == null || $privkey == "" || $privkey == null) {
"you can do so at <a href='http://www.google.com/recaptcha/mailhide/apikey'>http://www.google.com/recaptcha/mailhide/apikey</a>"); die("To use reCAPTCHA Mailhide, you have to sign up for a public and private key, " .
} "you can do so at <a href='http://www.google.com/recaptcha/mailhide/apikey'>http://www.google.com/recaptcha/mailhide/apikey</a>");
}
$ky = pack('H*', $privkey); $ky = pack('H*', $privkey);
$cryptmail = _recaptcha_aes_encrypt ($email, $ky); $cryptmail = _recaptcha_aes_encrypt($email, $ky);
return "https://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64 ($cryptmail); return "https://www.google.com/recaptcha/mailhide/d?k=" . $pubkey . "&c=" . _recaptcha_mailhide_urlbase64($cryptmail);
} }
/** /**
@ -249,17 +246,18 @@ function recaptcha_mailhide_url($pubkey, $privkey, $email) {
* eg, given johndoe@example,com return ["john", "example.com"]. * eg, given johndoe@example,com return ["john", "example.com"].
* the email is then displayed as john...@example.com * the email is then displayed as john...@example.com
*/ */
function _recaptcha_mailhide_email_parts ($email) { function _recaptcha_mailhide_email_parts($email)
$arr = preg_split("/@/", $email ); {
$arr = preg_split("/@/", $email);
if (strlen ($arr[0]) <= 4) { if (strlen($arr[0]) <= 4) {
$arr[0] = substr ($arr[0], 0, 1); $arr[0] = substr($arr[0], 0, 1);
} else if (strlen ($arr[0]) <= 6) { } else if (strlen($arr[0]) <= 6) {
$arr[0] = substr ($arr[0], 0, 3); $arr[0] = substr($arr[0], 0, 3);
} else { } else {
$arr[0] = substr ($arr[0], 0, 4); $arr[0] = substr($arr[0], 0, 4);
} }
return $arr; return $arr;
} }
/** /**
@ -268,14 +266,12 @@ function _recaptcha_mailhide_email_parts ($email) {
* *
* http://www.google.com/recaptcha/mailhide/apikey * http://www.google.com/recaptcha/mailhide/apikey
*/ */
function recaptcha_mailhide_html($pubkey, $privkey, $email) { function recaptcha_mailhide_html($pubkey, $privkey, $email)
$emailparts = _recaptcha_mailhide_email_parts ($email); {
$url = recaptcha_mailhide_url ($pubkey, $privkey, $email); $emailparts = _recaptcha_mailhide_email_parts($email);
$url = recaptcha_mailhide_url($pubkey, $privkey, $email);
return htmlentities($emailparts[0]) . "<a href='" . htmlentities ($url) .
"' onclick=\"window.open('" . htmlentities ($url) . "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">...</a>@" . htmlentities ($emailparts [1]); return htmlentities($emailparts[0]) . "<a href='" . htmlentities($url) .
"' onclick=\"window.open('" . htmlentities($url) . "', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300'); return false;\" title=\"Reveal this e-mail address\">...</a>@" . htmlentities($emailparts[1]);
} }
?>

View File

@ -1,62 +1,49 @@
<?php <?php if (!defined('BASEPATH')) {
/** exit('No direct script access allowed');
* Class and Function List: }
* Function list:
* - __construct()
* - valid_language()
* - get_languages()
* - code_to_description()
* Classes list:
* - Languages extends CI_Model
*/
class Languages extends CI_Model class Languages extends CI_Model
{ {
function __construct() public function __construct()
{ {
parent::__construct(); parent::__construct();
$this->load->config('geshi_languages'); $this->load->config('geshi_languages');
$this->geshi_languages = $this->config->item('geshi_languages'); $this->geshi_languages = $this->config->item('geshi_languages');
$this->favorite_languages = $this->config->item('favorite_languages'); $this->favorite_languages = $this->config->item('favorite_languages');
if ($this->favorite_languages === NULL) if ($this->favorite_languages === null) {
{ $this->load->config('config');
$this->load->config('config'); $this->favorite_languages = $this->config->item('favorite_languages');
$this->favorite_languages = $this->config->item('favorite_languages'); }
} }
}
public function valid_language($lang)
function valid_language($lang) {
{ return array_key_exists($lang, $this->geshi_languages);
return array_key_exists($lang, $this->geshi_languages); }
}
public function get_languages()
function get_languages() {
{ $data = array();
$data = array();
if (is_array($this->favorite_languages)) {
if (is_array($this->favorite_languages)) foreach ($this->favorite_languages as $key) {
{ $data[$key] = $this->geshi_languages[$key];
foreach ($this->favorite_languages as $key) }
{ $data["0"] = "-----------------";
$data[$key] = $this->geshi_languages[$key]; }
} foreach ($this->geshi_languages as $key => $value) {
$data["0"] = "-----------------";
} if (!in_array($key, $data)) {
foreach ($this->geshi_languages as $key => $value) $data[$key] = $value;
{ }
}
if (!in_array($key, $data)) return $data;
{ }
$data[$key] = $value;
} public function code_to_description($code)
} {
return $data; return $this->geshi_languages[$code];
} }
function code_to_description($code)
{
return $this->geshi_languages[$code];
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -26,13 +26,13 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * THE SOFTWARE.
* *
* @package CodeIgniter * @package CodeIgniter
* @author EllisLab Dev Team * @author EllisLab Dev Team
* @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/) * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc. (https://ellislab.com/)
* @copyright Copyright (c) 2014 - 2017, British Columbia Institute of Technology (http://bcit.ca/) * @copyright Copyright (c) 2014 - 2017, British Columbia Institute of Technology (http://bcit.ca/)
* @license http://opensource.org/licenses/MIT MIT License * @license http://opensource.org/licenses/MIT MIT License
* @link https://codeigniter.com * @link https://codeigniter.com
* @since Version 1.0.0 * @since Version 1.0.0
* @filesource * @filesource
*/ */
@ -53,7 +53,7 @@
* *
* NOTE: If you change these, also change the error_reporting() code below * NOTE: If you change these, also change the error_reporting() code below
*/ */
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'); define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
/* /*
*--------------------------------------------------------------- *---------------------------------------------------------------
@ -63,30 +63,26 @@
* Different environments will require different levels of error reporting. * Different environments will require different levels of error reporting.
* By default development will show errors but testing and live will hide them. * By default development will show errors but testing and live will hide them.
*/ */
switch (ENVIRONMENT) switch (ENVIRONMENT) {
{ case 'development':
case 'development': error_reporting(-1);
error_reporting(-1); ini_set('display_errors', 1);
ini_set('display_errors', 1); break;
break;
case 'testing': case 'testing':
case 'production': case 'production':
ini_set('display_errors', 0); ini_set('display_errors', 0);
if (version_compare(PHP_VERSION, '5.3', '>=')) if (version_compare(PHP_VERSION, '5.3', '>=')) {
{ error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED); } else {
} error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
else }
{ break;
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
}
break;
default: default:
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); header('HTTP/1.1 503 Service Unavailable.', true, 503);
echo 'The application environment is not set correctly.'; echo 'The application environment is not set correctly.';
exit(1); // EXIT_ERROR exit(1); // EXIT_ERROR
} }
/* /*
@ -97,7 +93,7 @@ switch (ENVIRONMENT)
* This variable must contain the name of your "system" directory. * This variable must contain the name of your "system" directory.
* Set the path if it is not in the same directory as this file. * Set the path if it is not in the same directory as this file.
*/ */
$system_path = 'system'; $system_path = 'system';
/* /*
*--------------------------------------------------------------- *---------------------------------------------------------------
@ -114,7 +110,7 @@ switch (ENVIRONMENT)
* *
* NO TRAILING SLASH! * NO TRAILING SLASH!
*/ */
$application_folder = 'application'; $application_folder = 'application';
/* /*
*--------------------------------------------------------------- *---------------------------------------------------------------
@ -129,8 +125,7 @@ switch (ENVIRONMENT)
* *
* NO TRAILING SLASH! * NO TRAILING SLASH!
*/ */
$view_folder = 'themes/default/views'; $view_folder = 'themes/default/views';
/* /*
* -------------------------------------------------------------------- * --------------------------------------------------------------------
@ -151,16 +146,15 @@ switch (ENVIRONMENT)
* *
* Un-comment the $routing array below to use this feature * Un-comment the $routing array below to use this feature
*/ */
// The directory name, relative to the "controllers" directory. Leave blank // The directory name, relative to the "controllers" directory. Leave blank
// if your controller is not in a sub-directory within the "controllers" one // if your controller is not in a sub-directory within the "controllers" one
// $routing['directory'] = ''; // $routing['directory'] = '';
// The controller class file name. Example: mycontroller // The controller class file name. Example: mycontroller
// $routing['controller'] = ''; // $routing['controller'] = '';
// The controller function you wish to be called.
// $routing['function'] = '';
// The controller function you wish to be called.
// $routing['function'] = '';
/* /*
* ------------------------------------------------------------------- * -------------------------------------------------------------------
@ -176,9 +170,7 @@ switch (ENVIRONMENT)
* *
* Un-comment the $assign_to_config array below to use this feature * Un-comment the $assign_to_config array below to use this feature
*/ */
// $assign_to_config['name_of_config_item'] = 'value of config item'; // $assign_to_config['name_of_config_item'] = 'value of config item';
// -------------------------------------------------------------------- // --------------------------------------------------------------------
// END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE // END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE
@ -190,120 +182,97 @@ switch (ENVIRONMENT)
* --------------------------------------------------------------- * ---------------------------------------------------------------
*/ */
// Set the current directory correctly for CLI requests // Set the current directory correctly for CLI requests
if (defined('STDIN')) if (defined('STDIN')) {
{ chdir(dirname(__FILE__));
chdir(dirname(__FILE__)); }
}
if (($_temp = realpath($system_path)) !== FALSE) if (($_temp = realpath($system_path)) !== false) {
{ $system_path = $_temp . DIRECTORY_SEPARATOR;
$system_path = $_temp.DIRECTORY_SEPARATOR; } else {
} // Ensure there's a trailing slash
else $system_path = strtr(
{ rtrim($system_path, '/\\'),
// Ensure there's a trailing slash '/\\',
$system_path = strtr( DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR
rtrim($system_path, '/\\'), ) . DIRECTORY_SEPARATOR;
'/\\', }
DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR
).DIRECTORY_SEPARATOR;
}
// Is the system path correct? // Is the system path correct?
if ( ! is_dir($system_path)) if (!is_dir($system_path)) {
{ header('HTTP/1.1 503 Service Unavailable.', true, 503);
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); echo 'Your system folder path does not appear to be set correctly. Please open the following file and correct this: ' . pathinfo(__FILE__, PATHINFO_BASENAME);
echo 'Your system folder path does not appear to be set correctly. Please open the following file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME); exit(3); // EXIT_CONFIG
exit(3); // EXIT_CONFIG }
}
/* /*
* ------------------------------------------------------------------- * -------------------------------------------------------------------
* Now that we know the path, set the main path constants * Now that we know the path, set the main path constants
* ------------------------------------------------------------------- * -------------------------------------------------------------------
*/ */
// The name of THIS file // The name of THIS file
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME)); define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
// Path to the system directory // Path to the system directory
define('BASEPATH', $system_path); define('BASEPATH', $system_path);
// Path to the front controller (this file) directory // Path to the front controller (this file) directory
define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR); define('FCPATH', dirname(__FILE__) . DIRECTORY_SEPARATOR);
// Name of the "system" directory // Name of the "system" directory
define('SYSDIR', basename(BASEPATH)); define('SYSDIR', basename(BASEPATH));
// The path to the "application" directory // The path to the "application" directory
if (is_dir($application_folder)) if (is_dir($application_folder)) {
{ if (($_temp = realpath($application_folder)) !== false) {
if (($_temp = realpath($application_folder)) !== FALSE) $application_folder = $_temp;
{ } else {
$application_folder = $_temp; $application_folder = strtr(
} rtrim($application_folder, '/\\'),
else '/\\',
{ DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR
$application_folder = strtr( );
rtrim($application_folder, '/\\'), }
'/\\', } elseif (is_dir(BASEPATH . $application_folder . DIRECTORY_SEPARATOR)) {
DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR $application_folder = BASEPATH . strtr(
); trim($application_folder, '/\\'),
} '/\\',
} DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR
elseif (is_dir(BASEPATH.$application_folder.DIRECTORY_SEPARATOR)) );
{ } else {
$application_folder = BASEPATH.strtr( header('HTTP/1.1 503 Service Unavailable.', true, 503);
trim($application_folder, '/\\'), echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: ' . SELF;
'/\\', exit(3); // EXIT_CONFIG
DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR }
);
}
else
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'Your application folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
exit(3); // EXIT_CONFIG
}
define('APPPATH', $application_folder.DIRECTORY_SEPARATOR); define('APPPATH', $application_folder . DIRECTORY_SEPARATOR);
// The path to the "views" directory // The path to the "views" directory
if ( ! isset($view_folder[0]) && is_dir(APPPATH.'views'.DIRECTORY_SEPARATOR)) if (!isset($view_folder[0]) && is_dir(APPPATH . 'views' . DIRECTORY_SEPARATOR)) {
{ $view_folder = APPPATH . 'views';
$view_folder = APPPATH.'views'; } elseif (is_dir($view_folder)) {
} if (($_temp = realpath($view_folder)) !== false) {
elseif (is_dir($view_folder)) $view_folder = $_temp;
{ } else {
if (($_temp = realpath($view_folder)) !== FALSE) $view_folder = strtr(
{ rtrim($view_folder, '/\\'),
$view_folder = $_temp; '/\\',
} DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR
else );
{ }
$view_folder = strtr( } elseif (is_dir(APPPATH . $view_folder . DIRECTORY_SEPARATOR)) {
rtrim($view_folder, '/\\'), $view_folder = APPPATH . strtr(
'/\\', trim($view_folder, '/\\'),
DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR '/\\',
); DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR
} );
} } else {
elseif (is_dir(APPPATH.$view_folder.DIRECTORY_SEPARATOR)) header('HTTP/1.1 503 Service Unavailable.', true, 503);
{ echo 'Your view folder path does not appear to be set correctly. Please open the following file and correct this: ' . SELF;
$view_folder = APPPATH.strtr( exit(3); // EXIT_CONFIG
trim($view_folder, '/\\'), }
'/\\',
DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR
);
}
else
{
header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
echo 'Your view folder path does not appear to be set correctly. Please open the following file and correct this: '.SELF;
exit(3); // EXIT_CONFIG
}
define('VIEWPATH', $view_folder.DIRECTORY_SEPARATOR); define('VIEWPATH', $view_folder . DIRECTORY_SEPARATOR);
/* /*
* -------------------------------------------------------------------- * --------------------------------------------------------------------
@ -312,4 +281,4 @@ switch (ENVIRONMENT)
* *
* And away we go... * And away we go...
*/ */
require_once BASEPATH.'core/CodeIgniter.php'; require_once BASEPATH . 'core/CodeIgniter.php';