Changeset 1230
- Timestamp:
- 11/21/07 15:02:03 (9 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 82 modified
-
application/config/config.php (modified) (2 diffs)
-
application/controllers/examples.php (modified) (14 diffs)
-
application/controllers/welcome.php (modified) (1 diff)
-
index.php (modified) (7 diffs)
-
modules/auth/libraries/Auth.php (modified) (6 diffs)
-
modules/kodoc/controllers/kodoc.php (modified) (1 diff)
-
modules/kodoc/libraries/Kodoc.php (modified) (9 diffs)
-
modules/kodoc/views/kodoc_menu.php (added)
-
modules/orm/controllers/orm.php (modified) (1 diff)
-
modules/orm/libraries/ORM.php (modified) (2 diffs)
-
modules/orm/models/group.php (modified) (1 diff)
-
system/config/cookie.php (modified) (1 diff)
-
system/config/database.php (modified) (1 diff)
-
system/config/encryption.php (modified) (1 diff)
-
system/config/hooks.php (modified) (1 diff)
-
system/config/locale.php (modified) (1 diff)
-
system/config/log.php (modified) (1 diff)
-
system/config/mimes.php (modified) (1 diff)
-
system/config/pagination.php (modified) (1 diff)
-
system/config/payment.php (modified) (5 diffs)
-
system/config/profiler.php (modified) (1 diff)
-
system/config/routes.php (modified) (1 diff)
-
system/config/session.php (modified) (1 diff)
-
system/config/upload.php (modified) (1 diff)
-
system/core/Benchmark.php (modified) (3 diffs)
-
system/core/Bootstrap.php (modified) (1 diff)
-
system/core/Config.php (modified) (5 diffs)
-
system/core/Event.php (modified) (10 diffs)
-
system/core/Kohana.php (modified) (22 diffs)
-
system/core/Log.php (modified) (3 diffs)
-
system/core/utf8.php (modified) (29 diffs)
-
system/helpers/arr.php (modified) (3 diffs)
-
system/helpers/cookie.php (modified) (4 diffs)
-
system/helpers/date.php (modified) (12 diffs)
-
system/helpers/download.php (modified) (2 diffs)
-
system/helpers/feed.php (modified) (2 diffs)
-
system/helpers/file.php (modified) (3 diffs)
-
system/helpers/form.php (modified) (16 diffs)
-
system/helpers/html.php (modified) (11 diffs)
-
system/helpers/inflector.php (modified) (7 diffs)
-
system/helpers/security.php (modified) (4 diffs)
-
system/helpers/text.php (modified) (8 diffs)
-
system/helpers/url.php (modified) (6 diffs)
-
system/helpers/valid.php (modified) (10 diffs)
-
system/i18n/fr_FR/inflector.php (modified) (1 diff)
-
system/libraries/Archive.php (modified) (5 diffs)
-
system/libraries/Cache.php (modified) (5 diffs)
-
system/libraries/Calendar.php (modified) (10 diffs)
-
system/libraries/Controller.php (modified) (3 diffs)
-
system/libraries/Database.php (modified) (36 diffs)
-
system/libraries/Encrypt.php (modified) (4 diffs)
-
system/libraries/Ftp.php (modified) (20 diffs)
-
system/libraries/Image.php (modified) (11 diffs)
-
system/libraries/Image_lib.php (modified) (7 diffs)
-
system/libraries/Input.php (modified) (9 diffs)
-
system/libraries/Loader.php (modified) (7 diffs)
-
system/libraries/Model.php (modified) (2 diffs)
-
system/libraries/ORM.php (modified) (12 diffs)
-
system/libraries/Pagination.php (modified) (8 diffs)
-
system/libraries/Payment.php (modified) (5 diffs)
-
system/libraries/Profiler.php (modified) (4 diffs)
-
system/libraries/Router.php (modified) (4 diffs)
-
system/libraries/Session.php (modified) (12 diffs)
-
system/libraries/URI.php (modified) (8 diffs)
-
system/libraries/Upload.php (modified) (4 diffs)
-
system/libraries/User_agent.php (modified) (7 diffs)
-
system/libraries/Validation.php (modified) (38 diffs)
-
system/libraries/View.php (modified) (7 diffs)
-
system/libraries/drivers/Archive.php (modified) (2 diffs)
-
system/libraries/drivers/Archive_Zip.php (modified) (4 diffs)
-
system/libraries/drivers/Database.php (modified) (24 diffs)
-
system/libraries/drivers/Database_Mysql.php (modified) (16 diffs)
-
system/libraries/drivers/Database_Pgsql.php (modified) (2 diffs)
-
system/libraries/drivers/Image.php (modified) (2 diffs)
-
system/libraries/drivers/Image_Gd.php (modified) (1 diff)
-
system/libraries/drivers/Payment_Authorize.php (modified) (1 diff)
-
system/libraries/drivers/Payment_Paypal.php (modified) (7 diffs)
-
system/libraries/drivers/Payment_Trustcommerce.php (modified) (1 diff)
-
system/libraries/drivers/Payment_Yourpay.php (modified) (1 diff)
-
system/libraries/drivers/Session.php (modified) (8 diffs)
-
system/libraries/drivers/Session_Cookie.php (modified) (2 diffs)
-
system/libraries/drivers/Session_Database.php (modified) (4 diffs)
-
system/models/form.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/application/config/config.php
r1087 r1230 1 1 <?php defined('SYSPATH') or die('No direct script access.'); 2 /* 2 /** 3 3 * File: config.php 4 4 * This configuration file is unique to every application. … … 20 20 'site_protocol' => 'http', 21 21 'index_page' => 'index.php', 22 'url_suffix' => ' .html',23 'allow_config_set' => FALSE,22 'url_suffix' => '', 23 'allow_config_set' => TRUE, 24 24 'global_xss_filtering' => FALSE, 25 25 'extension_prefix' => 'MY_', 26 26 'include_paths' => array 27 27 ( 28 // 'modules/auth', 29 // 'modules/ikeafans', 30 // 'modules/user_guide', 31 // 'modules/orm', 32 'modules/kodoc', 33 // 'modules/mixnotify' 28 34 ), 29 35 'autoload' => array -
trunk/application/controllers/examples.php
r1104 r1230 1 1 <?php defined('SYSPATH') or die('No direct script access.'); 2 /* 2 /** 3 3 * Class: Examples 4 4 * Contains examples of various Kohana library examples. You can access these … … 12 12 class Examples_Controller extends Controller { 13 13 14 /* 14 /** 15 15 * Method: index 16 16 * Displays a list of available examples … … 40 40 } 41 41 42 /* 42 /** 43 43 * Method: template 44 44 * Demonstrates how to use views inside of views. … … 59 59 } 60 60 61 /* 61 /** 62 62 * Method: rss 63 63 * Demonstrates how to parse RSS feeds by using DOMDocument. … … 74 74 } 75 75 76 /* 76 /** 77 77 * Method: session 78 78 * Demonstrates the Session library and using session data. … … 90 90 } 91 91 92 /* 92 /** 93 93 * Method: form 94 94 * Demonstrates how to use the form helper with the Validation library. … … 101 101 102 102 print form::label('imageup', 'Image Uploads').':<br/>'; 103 print form::upload('imageup ').'<br/>';104 //print form::upload('imageup[]').'<br/>';105 //print form::upload('imageup[]').'<br/>';103 print form::upload('imageup[]').'<br/>'; 104 print form::upload('imageup[]').'<br/>'; 105 print form::upload('imageup[]').'<br/>'; 106 106 print form::submit('upload', 'Upload!'); 107 107 … … 118 118 } 119 119 120 /* 120 /** 121 121 * Method: validation 122 122 * Demontrates how to use the Validation library to validate an arbitrary array. … … 142 142 // Format: 143 143 // key friendly name, validation rules 144 'user' => array('username', 'trim|required[1, 2]'),144 'user' => array('username', 'trim|required[1,12]|regex[[0-9]+]'), 145 145 'pass' => array('password', 'required|sha1'), 146 146 'reme' => array('remember me', 'required') … … 151 151 152 152 // Same syntax, but dynamcially generated wth __get() 153 print $this->validation-> user_error;153 print $this->validation->error_string; 154 154 155 155 // Yay! … … 157 157 } 158 158 159 /* 159 /** 160 160 * Method: database 161 161 * Demonstrates the features of the Database library. … … 236 236 } 237 237 238 /* 238 /** 239 239 * Method: pagination 240 240 * Demonstrates how to use the Pagination library and Pagination styles. … … 263 263 } 264 264 265 /* 265 /** 266 266 * Method: user_agent 267 267 * Demonstrates the User_Agent library. … … 280 280 } 281 281 282 /* 282 /** 283 283 * Method: credit_card 284 284 * Demonstrates the CreditCard library. -
trunk/application/controllers/welcome.php
r870 r1230 1 1 <?php defined('SYSPATH') or die('No direct script access.'); 2 /* 2 /** 3 3 * Class: Welcome 4 4 * Default Kohana controller. -
trunk/index.php
r893 r1230 1 1 <?php 2 /* 2 /** 3 3 * File: index.php 4 4 * This file acts as the "front controller" to your application. You can … … 17 17 */ 18 18 19 /* 19 /** 20 20 * About: Error Reporting 21 21 * Set the error reporting level. By default, Kohana will ignore E_NOTICE … … 25 25 error_reporting(E_ALL); 26 26 27 /* 27 /** 28 28 * About: Display Errors 29 29 * Enable or disable error display. During development, it is very helpful … … 34 34 ini_set('display_errors', TRUE); 35 35 36 /* 36 /** 37 37 * About: Application Directory 38 38 * Kohana website application directory. Most of your controllers, models, and … … 42 42 $kohana_application = 'application'; 43 43 44 /* 44 /** 45 45 * About: System Directory 46 46 * Kohana core resources, includes libraries, drivers, language files, helpers, … … 49 49 $kohana_system = 'system'; 50 50 51 /* 51 /** 52 52 * About: Filename Extension 53 53 * If you have to rename all of the .php files distributed with Kohana to a … … 57 57 define('EXT', '.php'); 58 58 59 /* 59 /** 60 60 * PLEASE DO NOT EDIT BELOW THIS LINE, unless you understand the repercussions! 61 61 * ---------------------------------------------------------------------------- -
trunk/modules/auth/libraries/Auth.php
r1169 r1230 1 1 <?php defined('SYSPATH') or die('No direct script access.'); 2 /* 2 /** 3 3 * Class: Auth 4 4 * … … 33 33 } 34 34 35 /* 35 /** 36 36 * Method: login 37 37 * Attempt a user login. … … 76 76 } 77 77 78 /* 78 /** 79 79 * Method: logout 80 80 * Force a logout of a user. … … 95 95 } 96 96 97 /* 97 /** 98 98 * Creates a hashed password from a plaintext password, inserting salt 99 99 * based on the configured salt pattern. … … 144 144 } 145 145 146 /* 146 /** 147 147 * Perform a hash, using the configured method. 148 148 * … … 158 158 } 159 159 160 /* 160 /** 161 161 * Finds the salt from a password, based on the configured salt pattern. 162 162 * -
trunk/modules/kodoc/controllers/kodoc.php
r1124 r1230 5 5 public function index() 6 6 { 7 $kodoc = new Kodoc(); 8 print "Data: ".Kohana::debug($kodoc->get_docs()); 7 print new View('kodoc_menu'); 8 } 9 10 public function _default() 11 { 12 if (count($segments = $this->uri->segment_array(1)) > 1) 13 { 14 // Find directory (type) and filename 15 $type = array_shift($segments); 16 $file = implode('/', $segments); 17 18 if (substr($file, -(strlen(EXT))) === EXT) 19 { 20 // Remove extension 21 $file = substr($file, 0, -(strlen(EXT))); 22 } 23 24 // Get absolute path to file 25 $file = Kohana::find_file($type, $file); 26 } 27 else 28 { 29 // Nothing to document 30 url::redirect('kodoc'); 31 } 32 33 if (in_array($type, Kodoc::get_types())); 34 { 35 $docs = new Kodoc($type, $file); 36 print "Debug for $file: ".Kohana::debug($docs->get()); 37 } 38 9 39 print Kohana::lang('core.stats_footer'); 10 40 } -
trunk/modules/kodoc/libraries/Kodoc.php
r1124 r1230 1 1 <?php defined('SYSPATH') or die('No direct script access.'); 2 /* 2 /** 3 3 * Provides self-generating documentation about Kohana. 4 4 * … … 10 10 class Kodoc_Core { 11 11 12 protected $types = array12 protected static $types = array 13 13 ( 14 14 'core', … … 20 20 ); 21 21 22 public static function get_types() 23 { 24 return self::$types; 25 } 26 27 public static function get_files() 28 { 29 // Extension length 30 $ext_len = -(strlen(EXT)); 31 32 $files = array(); 33 foreach(self::$types as $type) 34 { 35 $files[$type] = array(); 36 foreach(Kohana::list_files($type, TRUE) as $file) 37 { 38 // Not a source file 39 if (substr($file, $ext_len) !== EXT) 40 continue; 41 42 // Remove the dirs from the filename 43 $file = preg_replace('!^.+'.$type.'/(.+)'.EXT.'$!', '$1', $file); 44 45 if ($type === 'libraries' AND substr($file, 0, 8) === 'drivers/') 46 { 47 // Remove the drivers directory from the file 48 $file = explode('_', substr($file, 8)); 49 50 if (count($file) === 1) 51 { 52 // Driver interface 53 $files[$type][current($file)][] = current($file); 54 } 55 else 56 { 57 // Driver is class suffix 58 $driver = array_pop($file); 59 60 // Library is everything else 61 $library = implode('_', $file); 62 63 // Library driver 64 $files[$type][$library][] = $driver; 65 } 66 } 67 else 68 { 69 $files[$type][$file] = NULL; 70 } 71 } 72 } 73 74 return $files; 75 } 76 77 public static function remove_docroot($file) 78 { 79 return preg_replace('!^'.preg_quote(DOCROOT, '!').'!', '', $file); 80 } 81 22 82 // All files to be parsed 23 protected $files = array(); 24 25 public function __construct() 26 { 27 // Find all files and parse them 28 foreach($this->types as $type) 29 { 30 foreach(Kohana::list_files($type, TRUE) as $file) 31 { 32 $this->files[] = $this->parse($type, $file); 33 } 34 } 35 } 36 37 /* 83 protected $file = array(); 84 85 public function __construct($type, $filename) 86 { 87 // Parse the file 88 $this->file = $this->parse($type, $filename); 89 } 90 91 /** 38 92 * Fetch documentation for all files parsed. 39 93 * 40 94 * Returns: 41 * Array of files42 */ 43 public function get _docs()44 { 45 return $this->file s;46 } 47 48 /* 95 * array: file documentation 96 */ 97 public function get() 98 { 99 return $this->file; 100 } 101 102 /** 49 103 * Parse a file for Kodoc commands, classes, and methods. 50 104 * 51 105 * Parameters: 52 * type - file type 53 * file - filename to read 54 */ 55 protected function parse($type, $file) 56 { 57 $data = array 106 * string: file type 107 * string: absolute filename path 108 */ 109 protected function parse($type, $filename) 110 { 111 // File definition 112 $file = array 58 113 ( 59 114 'type' => $type, 60 115 'about' => '', 61 'package' => '', 62 'file' => preg_replace('!^'.preg_quote(DOCROOT, '!').'!', '', $file), 63 'classes' => array(), 64 'functions' => array() 116 'file' => self::remove_docroot($filename), 117 'classes' => array() 65 118 ); 66 119 67 120 // Open the file for reading 68 $handle = fopen($file, 'r'); 69 70 // Start the line number count 71 $l = 0; 72 73 // Loop through each line of the file 121 $handle = fopen($filename, 'r'); 122 123 // Do not start in a comment 124 $in_comment = FALSE; 125 126 // Add first comment to the file info 127 $add_about = TRUE; 128 74 129 while ($line = fgets($handle)) 75 130 { 76 $l++;77 78 // Handle some basics79 131 switch(substr(trim($line), 0, 2)) 80 132 { 81 case '<?': 82 case '?>': 133 case '/*': 83 134 case '//': 84 // Ignore PHP start and end tags, and non-block comments 135 // Opening of a comment 136 $in_comment = TRUE; 85 137 continue; 86 case '/*':87 // Open a new comment block88 $block = '';89 138 break; 90 case '* ': 91 if (isset($block)) 139 case '*/': 140 // Ending of a comment 141 $in_comment = FALSE; 142 // Stop adding to the about text after the end of the first comment 143 $add_about = FALSE; 144 continue; 145 break; 146 } 147 148 if ($in_comment) 149 { 150 if ($add_about) 151 { 152 // Add info to the block 153 $file['about'] .= $line; 154 } 155 156 // Keep ignoring comments... 157 continue; 158 } 159 160 if (strpos($line, 'class') !== FALSE AND preg_match('/(?:class|interface) ([a-zA-Z0-9_]+)/', $line, $matches)) 161 { 162 // Include the file if it has not already been included 163 class_exists($matches[1], FALSE) or include_once $filename; 164 165 // Use reflection to find information 166 $reflection = new ReflectionClass($matches[1]); 167 168 // Class definition 169 &
