codeigniter_vender 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +10 -0
  4. data/README.md +39 -0
  5. data/Rakefile +4 -2
  6. data/VERSION +1 -1
  7. data/bin/ci +5 -0
  8. data/codeigniter_vender.gemspec +355 -344
  9. data/lib/codeigniter/commands/app.rb +5 -0
  10. data/lib/codeigniter/commands/help.rb +7 -0
  11. data/lib/codeigniter/commands.rb +19 -0
  12. data/lib/{tasks/app.rake → codeigniter/tasks/ci.rake} +1 -1
  13. data/lib/codeigniter_vender.rb +26 -1
  14. data/lib/generators/base.rb +11 -0
  15. data/{generators → lib/generators/ci}/ci_app/USAGE +0 -0
  16. data/lib/generators/ci/ci_app/ci_app_generator.rb +10 -0
  17. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/.htaccess +1 -0
  18. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/cache/.htaccess +1 -0
  19. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/cache}/index.html +0 -0
  20. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/autoload.php +18 -18
  21. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/config.php +62 -31
  22. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/constants.php +7 -7
  23. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/database.php +20 -13
  24. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/doctypes.php +1 -1
  25. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/config/foreign_chars.php +64 -0
  26. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/hooks.php +1 -1
  27. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/controllers → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/config}/index.html +0 -0
  28. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/mimes.php +5 -5
  29. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/config/profiler.php +17 -0
  30. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/routes.php +7 -9
  31. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/smileys.php +2 -2
  32. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/config/user_agents.php +7 -4
  33. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/controllers}/index.html +0 -0
  34. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/controllers/welcome.php +17 -0
  35. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/helpers → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/core}/index.html +0 -0
  36. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/errors/error_404.php +1 -1
  37. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/errors/error_db.php +1 -1
  38. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/errors/error_general.php +1 -1
  39. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/errors/error_php.php +0 -0
  40. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/hooks → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/errors}/index.html +0 -0
  41. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/helpers}/index.html +0 -0
  42. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/language/english → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/hooks}/index.html +0 -0
  43. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application}/index.html +0 -0
  44. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/models → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/language/english}/index.html +0 -0
  45. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/application/views → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/libraries}/index.html +0 -0
  46. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/cache → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/logs}/index.html +0 -0
  47. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/models}/index.html +0 -0
  48. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/third_party}/index.html +0 -0
  49. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/application/views}/index.html +0 -0
  50. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/application/views/welcome_message.php +6 -4
  51. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/index.php +166 -0
  52. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/license.txt +1 -2
  53. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/.htaccess +1 -0
  54. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Benchmark.php +5 -5
  55. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/CodeIgniter.php +340 -0
  56. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Common.php +503 -0
  57. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Config.php +126 -57
  58. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Controller.php +67 -0
  59. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Exceptions.php +24 -20
  60. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Hooks.php +14 -15
  61. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Input.php +652 -0
  62. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Language.php → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Lang.php} +33 -16
  63. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Loader.php +374 -364
  64. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Model.php +56 -0
  65. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Output.php +140 -93
  66. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/Router.php +185 -115
  67. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/URI.php +78 -58
  68. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core/Utf8.php +165 -0
  69. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/core}/index.html +0 -0
  70. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB.php +32 -27
  71. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_active_rec.php +478 -225
  72. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_cache.php +30 -30
  73. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_driver.php +199 -175
  74. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_forge.php +43 -36
  75. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_result.php +115 -52
  76. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/DB_utility.php +69 -44
  77. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers}/index.html +0 -0
  78. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/mssql}/index.html +0 -0
  79. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mssql/mssql_driver.php +64 -67
  80. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mssql/mssql_forge.php +19 -19
  81. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mssql/mssql_result.php +14 -14
  82. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mssql/mssql_utility.php +3 -38
  83. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/mysql}/index.html +0 -0
  84. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysql/mysql_driver.php +155 -63
  85. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysql/mysql_forge.php +36 -21
  86. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysql/mysql_result.php +14 -14
  87. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysql/mysql_utility.php +25 -60
  88. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/mysqli}/index.html +0 -0
  89. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysqli/mysqli_driver.php +131 -62
  90. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysqli/mysqli_forge.php +17 -17
  91. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysqli/mysqli_result.php +14 -14
  92. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/mysqli/mysqli_utility.php +4 -40
  93. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/oci8}/index.html +0 -0
  94. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/oci8/oci8_driver.php +55 -58
  95. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/oci8/oci8_forge.php +18 -18
  96. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/oci8/oci8_result.php +17 -17
  97. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/oci8/oci8_utility.php +2 -37
  98. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/database → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/odbc}/index.html +0 -0
  99. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/odbc/odbc_driver.php +58 -61
  100. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/odbc/odbc_forge.php +21 -21
  101. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/odbc/odbc_result.php +11 -11
  102. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/odbc/odbc_utility.php +5 -50
  103. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/fonts → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/postgre}/index.html +0 -0
  104. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/postgre/postgre_driver.php +61 -61
  105. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/postgre/postgre_forge.php +84 -33
  106. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/postgre/postgre_result.php +11 -11
  107. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/postgre/postgre_utility.php +2 -38
  108. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database/drivers/sqlite}/index.html +0 -0
  109. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/sqlite/sqlite_driver.php +65 -65
  110. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/sqlite/sqlite_forge.php +18 -18
  111. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/sqlite/sqlite_result.php +12 -12
  112. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/database/drivers/sqlite/sqlite_utility.php +3 -48
  113. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/database}/index.html +0 -0
  114. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/fonts}/index.html +0 -0
  115. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/fonts/texb.ttf +0 -0
  116. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/array_helper.php +46 -6
  117. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/helpers/captcha_helper.php +246 -0
  118. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/cookie_helper.php +7 -48
  119. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/date_helper.php +90 -90
  120. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/directory_helper.php +18 -22
  121. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/download_helper.php +8 -8
  122. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/email_helper.php +4 -4
  123. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/file_helper.php +45 -39
  124. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/form_helper.php +59 -35
  125. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/html_helper.php +20 -14
  126. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/language → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/helpers}/index.html +0 -0
  127. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/inflector_helper.php +27 -16
  128. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/language_helper.php +3 -3
  129. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/number_helper.php +15 -14
  130. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/path_helper.php +7 -7
  131. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/security_helper.php +49 -15
  132. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/smiley_helper.php +29 -23
  133. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/string_helper.php +45 -28
  134. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/text_helper.php +195 -124
  135. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/typography_helper.php +32 -9
  136. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/url_helper.php +17 -15
  137. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/helpers/xml_helper.php +21 -12
  138. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system}/index.html +0 -0
  139. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/language/english/calendar_lang.php +51 -0
  140. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/date_lang.php +1 -0
  141. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/db_lang.php +2 -1
  142. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/email_lang.php +0 -0
  143. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/form_validation_lang.php +5 -4
  144. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/ftp_lang.php +1 -0
  145. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/imglib_lang.php +0 -0
  146. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/logs → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/language/english}/index.html +0 -0
  147. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/number_lang.php +0 -0
  148. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/profiler_lang.php +4 -1
  149. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/unit_test_lang.php +1 -0
  150. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/language/english/upload_lang.php +0 -0
  151. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/language}/index.html +0 -0
  152. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Cache/Cache.php +216 -0
  153. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Cache/drivers/Cache_apc.php +151 -0
  154. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Cache/drivers/Cache_dummy.php +129 -0
  155. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Cache/drivers/Cache_file.php +196 -0
  156. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Cache/drivers/Cache_memcached.php +209 -0
  157. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Calendar.php +81 -83
  158. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Cart.php +73 -73
  159. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Driver.php +229 -0
  160. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Email.php +209 -188
  161. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Encrypt.php +78 -15
  162. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Form_validation.php +265 -228
  163. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Ftp.php +46 -4
  164. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Image_lib.php +36 -43
  165. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Javascript.php +871 -0
  166. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Log.php +29 -32
  167. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Pagination.php +64 -29
  168. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Parser.php +63 -24
  169. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Profiler.php +502 -0
  170. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/Security.php +737 -0
  171. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Session.php +33 -16
  172. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Sha1.php +14 -14
  173. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Table.php +172 -84
  174. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Trackback.php +129 -128
  175. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Typography.php +84 -80
  176. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Unit_test.php +105 -69
  177. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Upload.php +273 -235
  178. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/User_agent.php +150 -115
  179. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Xmlrpc.php +193 -179
  180. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Xmlrpcs.php +91 -83
  181. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/system/libraries/Zip.php +110 -46
  182. data/{generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries}/index.html +0 -0
  183. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/system/libraries/javascript/Jquery.php +1071 -0
  184. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/changelog.html +182 -29
  185. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/active_record.html +48 -48
  186. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/caching.html +2 -2
  187. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/call_function.html +3 -3
  188. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/configuration.html +14 -5
  189. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/connecting.html +5 -3
  190. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/examples.html +2 -2
  191. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/fields.html +3 -3
  192. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/forge.html +3 -3
  193. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/helpers.html +2 -2
  194. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/index.html +3 -3
  195. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/queries.html +4 -4
  196. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/results.html +17 -17
  197. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/table_data.html +3 -3
  198. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/transactions.html +2 -2
  199. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/database/utilities.html +21 -2
  200. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/doc_style/index.html +4 -3
  201. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/doc_style/template.html +2 -2
  202. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/alternative_php.html +4 -4
  203. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/ancillary_classes.html +2 -2
  204. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/autoloader.html +3 -4
  205. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/caching.html +2 -2
  206. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/common_functions.html +9 -3
  207. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/controllers.html +32 -29
  208. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/core_classes.html +10 -9
  209. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/general/creating_drivers.html +100 -0
  210. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/creating_libraries.html +8 -13
  211. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/credits.html +4 -4
  212. data/{generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/profiling.html → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/general/drivers.html} +21 -21
  213. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/errors.html +5 -3
  214. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/helpers.html +4 -4
  215. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/hooks.html +2 -4
  216. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/libraries.html +9 -5
  217. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/managing_apps.html +24 -24
  218. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/models.html +13 -13
  219. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/general/profiling.html +176 -0
  220. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/quick_reference.html +2 -2
  221. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/requirements.html +3 -3
  222. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/reserved_names.html +4 -33
  223. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/routing.html +7 -17
  224. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/security.html +3 -3
  225. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/styleguide.html +71 -79
  226. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/urls.html +2 -2
  227. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/general/views.html +13 -13
  228. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/array_helper.html +53 -2
  229. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/helpers/captcha_helper.html +195 -0
  230. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/helpers/cookie_helper.html +107 -0
  231. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/date_helper.html +6 -6
  232. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/directory_helper.html +6 -6
  233. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/download_helper.html +2 -2
  234. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/email_helper.html +2 -2
  235. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/file_helper.html +5 -4
  236. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/form_helper.html +9 -9
  237. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/html_helper.html +6 -6
  238. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/inflector_helper.html +2 -2
  239. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/language_helper.html +2 -2
  240. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/number_helper.html +9 -3
  241. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/path_helper.html +2 -2
  242. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/security_helper.html +12 -5
  243. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/smiley_helper.html +12 -12
  244. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/string_helper.html +11 -9
  245. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/text_helper.html +21 -2
  246. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/typography_helper.html +2 -2
  247. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/url_helper.html +7 -8
  248. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/helpers/xml_helper.html +2 -2
  249. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/appflowchart.gif +0 -0
  250. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/arrow.gif +0 -0
  251. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/ci_logo.jpg +0 -0
  252. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/ci_logo_flame.jpg +0 -0
  253. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/ci_quick_ref.png +0 -0
  254. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/codeigniter_1.7.1_helper_reference.pdf +0 -0
  255. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/codeigniter_1.7.1_helper_reference.png +0 -0
  256. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/codeigniter_1.7.1_library_reference.pdf +0 -0
  257. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/codeigniter_1.7.1_library_reference.png +0 -0
  258. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/file.gif +0 -0
  259. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/folder.gif +0 -0
  260. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/nav_bg_darker.jpg +0 -0
  261. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/nav_separator_darker.jpg +0 -0
  262. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/nav_toggle_darker.jpg +0 -0
  263. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/images/reactor-bullet.png +0 -0
  264. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/smile.gif +0 -0
  265. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/images/transparent.gif +0 -0
  266. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/index.html +2 -2
  267. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/downloads.html +10 -6
  268. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/index.html +10 -5
  269. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/troubleshooting.html +2 -2
  270. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_120.html +2 -2
  271. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_130.html +2 -2
  272. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_131.html +2 -2
  273. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_132.html +2 -2
  274. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_133.html +2 -2
  275. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_140.html +2 -2
  276. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_141.html +2 -2
  277. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_150.html +2 -2
  278. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_152.html +2 -2
  279. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_153.html +2 -2
  280. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_154.html +5 -5
  281. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_160.html +6 -6
  282. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_161.html +2 -2
  283. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_162.html +5 -5
  284. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_163.html +2 -2
  285. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_170.html +5 -5
  286. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_171.html +2 -2
  287. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_172.html +7 -3
  288. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/installation/upgrade_200.html +131 -0
  289. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrade_b11.html +2 -2
  290. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/installation/upgrading.html +3 -2
  291. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/benchmark.html +4 -4
  292. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/libraries/caching.html +193 -0
  293. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/calendar.html +3 -3
  294. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/cart.html +345 -345
  295. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/config.html +4 -4
  296. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/email.html +4 -4
  297. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/encryption.html +49 -7
  298. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/file_uploading.html +15 -15
  299. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/form_validation.html +22 -25
  300. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/ftp.html +21 -8
  301. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/image_lib.html +4 -3
  302. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/input.html +69 -31
  303. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/libraries/javascript.html +246 -0
  304. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/language.html +3 -3
  305. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/loader.html +56 -15
  306. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/output.html +19 -2
  307. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/pagination.html +19 -8
  308. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/parser.html +6 -2
  309. data/lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0/user_guide/libraries/security.html +135 -0
  310. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/sessions.html +18 -7
  311. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/table.html +33 -10
  312. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/trackback.html +2 -2
  313. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/typography.html +5 -5
  314. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/unit_testing.html +27 -6
  315. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/uri.html +3 -3
  316. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/user_agent.html +27 -2
  317. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/xmlrpc.html +25 -23
  318. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/libraries/zip.html +13 -3
  319. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/license.html +3 -3
  320. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/nav/hacks.txt +2 -1
  321. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/nav/moo.fx.js +1 -37
  322. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/nav/nav.js +27 -24
  323. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/nav/prototype.lite.js +0 -0
  324. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/nav/user_guide_menu.js +0 -0
  325. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/appflow.html +3 -3
  326. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/at_a_glance.html +5 -15
  327. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/cheatsheets.html +2 -2
  328. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/features.html +3 -5
  329. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/getting_started.html +2 -2
  330. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/goals.html +2 -2
  331. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/index.html +3 -3
  332. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/overview/mvc.html +2 -2
  333. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/toc.html +14 -15
  334. data/{generators/ci_app/templates/CodeIgniter_1.7.2 → lib/generators/ci/ci_app/templates/CodeIgniterLibs/CodeIgniter_2.0.0}/user_guide/userguide.css +9 -0
  335. data/{generators → lib/generators/ci}/ci_app/templates/README +0 -0
  336. data/lib/generators/ci/ci_auth/USAGE +8 -0
  337. data/lib/generators/ci/ci_auth/ci_auth_generator.rb +11 -0
  338. data/lib/generators/ci/ci_auth/templates/auth.php +133 -0
  339. data/lib/generators/ci/ci_auth/templates/auth_model.php +52 -0
  340. data/lib/generators/ci/ci_auth/templates/login_form.php +29 -0
  341. data/{generators → lib/generators/ci}/ci_controller/USAGE +0 -0
  342. data/{generators → lib/generators/ci}/ci_controller/ci_controller_generator.rb +0 -0
  343. data/{generators → lib/generators/ci}/ci_controller/templates/ci_controller.php.erb +0 -0
  344. data/{generators → lib/generators/ci}/ci_controller/templates/ci_view.php.erb +0 -0
  345. data/{generators → lib/generators/ci}/ci_layout/USAGE +0 -0
  346. data/{generators → lib/generators/ci}/ci_layout/ci_layout_generator.rb +0 -0
  347. data/{generators → lib/generators/ci}/ci_layout/templates/application_layout.php.erb +0 -0
  348. data/{generators → lib/generators/ci}/ci_model/USAGE +0 -0
  349. data/{generators → lib/generators/ci}/ci_model/ci_model_generator.rb +0 -0
  350. data/{generators → lib/generators/ci}/ci_model/templates/ci_model.php.erb +0 -0
  351. data/{generators → lib/generators/ci}/ci_model/templates/model.rb +0 -0
  352. data/{generators → lib/generators/ci}/ci_model/templates/model_migration.rb.erb +0 -0
  353. metadata +358 -347
  354. data/README +0 -40
  355. data/generators/ci_app/ci_app_generator.rb +0 -12
  356. data/generators/ci_app/templates/CodeIgniter_1.7.2/index.php +0 -118
  357. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/controllers/welcome.php +0 -17
  358. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Base4.php +0 -69
  359. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Base5.php +0 -56
  360. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/CodeIgniter.php +0 -280
  361. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Common.php +0 -421
  362. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Compat.php +0 -93
  363. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/fonts/texb.ttf +0 -0
  364. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/compatibility_helper.php +0 -498
  365. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/calendar_lang.php +0 -51
  366. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/scaffolding_lang.php +0 -17
  367. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/validation_lang.php +0 -24
  368. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Controller.php +0 -127
  369. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Input.php +0 -1067
  370. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Model.php +0 -83
  371. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Profiler.php +0 -392
  372. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Validation.php +0 -875
  373. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins/captcha_pi.php +0 -356
  374. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins/js_calendar_pi.php +0 -629
  375. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/Scaffolding.php +0 -291
  376. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images/background.jpg +0 -0
  377. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images/logo.jpg +0 -0
  378. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/index.html +0 -10
  379. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/add.php +0 -32
  380. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/delete.php +0 -9
  381. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/edit.php +0 -33
  382. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/footer.php +0 -10
  383. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/header.php +0 -29
  384. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/index.html +0 -10
  385. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/no_data.php +0 -8
  386. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/stylesheet.css +0 -143
  387. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/view.php +0 -27
  388. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/plugins.html +0 -127
  389. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/scaffolding.html +0 -147
  390. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/compatibility_helper.html +0 -118
  391. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/cookie_helper.html +0 -147
  392. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/validation.html +0 -740
  393. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/moo.fx.pack.js +0 -241
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * CodeIgniter
4
4
  *
5
- * An open source application development framework for PHP 4.3.2 or newer
5
+ * An open source application development framework for PHP 5.1.6 or newer
6
6
  *
7
7
  * @package CodeIgniter
8
8
  * @author ExpressionEngine Dev Team
9
- * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
9
+ * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
10
10
  * @license http://codeigniter.com/user_guide/license.html
11
11
  * @link http://codeigniter.com
12
12
  * @since Version 1.0
@@ -31,16 +31,17 @@ class CI_Loader {
31
31
  // All these are set automatically. Don't mess with them.
32
32
  var $_ci_ob_level;
33
33
  var $_ci_view_path = '';
34
- var $_ci_is_php5 = FALSE;
35
- var $_ci_is_instance = FALSE; // Whether we should use $this or $CI =& get_instance()
34
+ var $_ci_library_paths = array();
35
+ var $_ci_model_paths = array();
36
+ var $_ci_helper_paths = array();
37
+ var $_base_classes = array(); // Set by the controller class
36
38
  var $_ci_cached_vars = array();
37
39
  var $_ci_classes = array();
38
40
  var $_ci_loaded_files = array();
39
41
  var $_ci_models = array();
40
42
  var $_ci_helpers = array();
41
- var $_ci_plugins = array();
42
43
  var $_ci_varmap = array('unit_test' => 'unit', 'user_agent' => 'agent');
43
-
44
+
44
45
 
45
46
  /**
46
47
  * Constructor
@@ -49,17 +50,19 @@ class CI_Loader {
49
50
  *
50
51
  * @access public
51
52
  */
52
- function CI_Loader()
53
- {
54
- $this->_ci_is_php5 = (floor(phpversion()) >= 5) ? TRUE : FALSE;
53
+ function __construct()
54
+ {
55
55
  $this->_ci_view_path = APPPATH.'views/';
56
56
  $this->_ci_ob_level = ob_get_level();
57
-
57
+ $this->_ci_library_paths = array(APPPATH, BASEPATH);
58
+ $this->_ci_helper_paths = array(APPPATH, BASEPATH);
59
+ $this->_ci_model_paths = array(APPPATH);
60
+
58
61
  log_message('debug', "Loader Class Initialized");
59
62
  }
60
-
63
+
61
64
  // --------------------------------------------------------------------
62
-
65
+
63
66
  /**
64
67
  * Class Loader
65
68
  *
@@ -71,15 +74,25 @@ class CI_Loader {
71
74
  * @param mixed the optional parameters
72
75
  * @param string an optional object name
73
76
  * @return void
74
- */
77
+ */
75
78
  function library($library = '', $params = NULL, $object_name = NULL)
76
79
  {
77
- if ($library == '')
80
+ if (is_array($library))
81
+ {
82
+ foreach($library as $read)
83
+ {
84
+ $this->library($read);
85
+ }
86
+
87
+ return;
88
+ }
89
+
90
+ if ($library == '' OR isset($this->_base_classes[$library]))
78
91
  {
79
92
  return FALSE;
80
93
  }
81
94
 
82
- if ( ! is_null($params) AND ! is_array($params))
95
+ if ( ! is_null($params) && ! is_array($params))
83
96
  {
84
97
  $params = NULL;
85
98
  }
@@ -95,12 +108,10 @@ class CI_Loader {
95
108
  {
96
109
  $this->_ci_load_class($library, $params, $object_name);
97
110
  }
98
-
99
- $this->_ci_assign_to_models();
100
111
  }
101
112
 
102
113
  // --------------------------------------------------------------------
103
-
114
+
104
115
  /**
105
116
  * Model Loader
106
117
  *
@@ -111,14 +122,14 @@ class CI_Loader {
111
122
  * @param string name for the model
112
123
  * @param bool database connection
113
124
  * @return void
114
- */
125
+ */
115
126
  function model($model, $name = '', $db_conn = FALSE)
116
- {
127
+ {
117
128
  if (is_array($model))
118
129
  {
119
130
  foreach($model as $babe)
120
131
  {
121
- $this->model($babe);
132
+ $this->model($babe);
122
133
  }
123
134
  return;
124
135
  }
@@ -127,68 +138,75 @@ class CI_Loader {
127
138
  {
128
139
  return;
129
140
  }
130
-
141
+
142
+ $path = '';
143
+
131
144
  // Is the model in a sub-folder? If so, parse out the filename and path.
132
- if (strpos($model, '/') === FALSE)
145
+ if (($last_slash = strrpos($model, '/')) !== FALSE)
133
146
  {
134
- $path = '';
135
- }
136
- else
137
- {
138
- $x = explode('/', $model);
139
- $model = end($x);
140
- unset($x[count($x)-1]);
141
- $path = implode('/', $x).'/';
147
+ // The path is in front of the last slash
148
+ $path = substr($model, 0, $last_slash + 1);
149
+
150
+ // And the model name behind it
151
+ $model = substr($model, $last_slash + 1);
142
152
  }
143
-
153
+
144
154
  if ($name == '')
145
155
  {
146
156
  $name = $model;
147
157
  }
148
-
158
+
149
159
  if (in_array($name, $this->_ci_models, TRUE))
150
160
  {
151
161
  return;
152
162
  }
153
-
163
+
154
164
  $CI =& get_instance();
155
165
  if (isset($CI->$name))
156
166
  {
157
167
  show_error('The model name you are loading is the name of a resource that is already being used: '.$name);
158
168
  }
159
-
169
+
160
170
  $model = strtolower($model);
161
-
162
- if ( ! file_exists(APPPATH.'models/'.$path.$model.EXT))
163
- {
164
- show_error('Unable to locate the model you have specified: '.$model);
165
- }
166
-
167
- if ($db_conn !== FALSE AND ! class_exists('CI_DB'))
168
- {
169
- if ($db_conn === TRUE)
170
- $db_conn = '';
171
-
172
- $CI->load->database($db_conn, FALSE, TRUE);
173
- }
174
-
175
- if ( ! class_exists('Model'))
171
+
172
+ foreach ($this->_ci_model_paths as $mod_path)
176
173
  {
177
- load_class('Model', FALSE);
178
- }
174
+ if ( ! file_exists($mod_path.'models/'.$path.$model.EXT))
175
+ {
176
+ continue;
177
+ }
179
178
 
180
- require_once(APPPATH.'models/'.$path.$model.EXT);
179
+ if ($db_conn !== FALSE AND ! class_exists('CI_DB'))
180
+ {
181
+ if ($db_conn === TRUE)
182
+ {
183
+ $db_conn = '';
184
+ }
185
+
186
+ $CI->load->database($db_conn, FALSE, TRUE);
187
+ }
188
+
189
+ if ( ! class_exists('CI_Model'))
190
+ {
191
+ load_class('Model', 'core');
192
+ }
193
+
194
+ require_once($mod_path.'models/'.$path.$model.EXT);
195
+
196
+ $model = ucfirst($model);
181
197
 
182
- $model = ucfirst($model);
183
-
184
- $CI->$name = new $model();
185
- $CI->$name->_assign_libraries();
186
-
187
- $this->_ci_models[] = $name;
198
+ $CI->$name = new $model();
199
+
200
+ $this->_ci_models[] = $name;
201
+ return;
202
+ }
203
+
204
+ // couldn't find the model
205
+ show_error('Unable to locate the model you have specified: '.$model);
188
206
  }
189
-
207
+
190
208
  // --------------------------------------------------------------------
191
-
209
+
192
210
  /**
193
211
  * Database Loader
194
212
  *
@@ -197,94 +215,87 @@ class CI_Loader {
197
215
  * @param bool whether to return the DB object
198
216
  * @param bool whether to enable active record (this allows us to override the config setting)
199
217
  * @return object
200
- */
201
- function database($params = '', $return = FALSE, $active_record = FALSE)
218
+ */
219
+ function database($params = '', $return = FALSE, $active_record = NULL)
202
220
  {
203
221
  // Grab the super object
204
222
  $CI =& get_instance();
205
-
223
+
206
224
  // Do we even need to load the database class?
207
- if (class_exists('CI_DB') AND $return == FALSE AND $active_record == FALSE AND isset($CI->db) AND is_object($CI->db))
225
+ if (class_exists('CI_DB') AND $return == FALSE AND $active_record == NULL AND isset($CI->db) AND is_object($CI->db))
208
226
  {
209
227
  return FALSE;
210
- }
211
-
228
+ }
229
+
212
230
  require_once(BASEPATH.'database/DB'.EXT);
213
231
 
214
232
  if ($return === TRUE)
215
233
  {
216
234
  return DB($params, $active_record);
217
235
  }
218
-
219
- // Initialize the db variable. Needed to prevent
236
+
237
+ // Initialize the db variable. Needed to prevent
220
238
  // reference errors with some configurations
221
239
  $CI->db = '';
222
-
240
+
223
241
  // Load the DB class
224
- $CI->db =& DB($params, $active_record);
225
-
226
- // Assign the DB object to any existing models
227
- $this->_ci_assign_to_models();
242
+ $CI->db =& DB($params, $active_record);
228
243
  }
229
-
244
+
230
245
  // --------------------------------------------------------------------
231
246
 
232
247
  /**
233
248
  * Load the Utilities Class
234
249
  *
235
250
  * @access public
236
- * @return string
237
- */
251
+ * @return string
252
+ */
238
253
  function dbutil()
239
254
  {
240
255
  if ( ! class_exists('CI_DB'))
241
256
  {
242
257
  $this->database();
243
258
  }
244
-
259
+
245
260
  $CI =& get_instance();
246
261
 
247
262
  // for backwards compatibility, load dbforge so we can extend dbutils off it
248
263
  // this use is deprecated and strongly discouraged
249
264
  $CI->load->dbforge();
250
-
265
+
251
266
  require_once(BASEPATH.'database/DB_utility'.EXT);
252
267
  require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_utility'.EXT);
253
268
  $class = 'CI_DB_'.$CI->db->dbdriver.'_utility';
254
269
 
255
- $CI->dbutil =& instantiate_class(new $class());
256
-
257
- $CI->load->_ci_assign_to_models();
270
+ $CI->dbutil = new $class();
258
271
  }
259
-
272
+
260
273
  // --------------------------------------------------------------------
261
274
 
262
275
  /**
263
276
  * Load the Database Forge Class
264
277
  *
265
278
  * @access public
266
- * @return string
267
- */
279
+ * @return string
280
+ */
268
281
  function dbforge()
269
282
  {
270
283
  if ( ! class_exists('CI_DB'))
271
284
  {
272
285
  $this->database();
273
286
  }
274
-
287
+
275
288
  $CI =& get_instance();
276
-
289
+
277
290
  require_once(BASEPATH.'database/DB_forge'.EXT);
278
291
  require_once(BASEPATH.'database/drivers/'.$CI->db->dbdriver.'/'.$CI->db->dbdriver.'_forge'.EXT);
279
292
  $class = 'CI_DB_'.$CI->db->dbdriver.'_forge';
280
293
 
281
294
  $CI->dbforge = new $class();
282
-
283
- $CI->load->_ci_assign_to_models();
284
295
  }
285
-
296
+
286
297
  // --------------------------------------------------------------------
287
-
298
+
288
299
  /**
289
300
  * Load View
290
301
  *
@@ -306,9 +317,9 @@ class CI_Loader {
306
317
  {
307
318
  return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
308
319
  }
309
-
320
+
310
321
  // --------------------------------------------------------------------
311
-
322
+
312
323
  /**
313
324
  * Load File
314
325
  *
@@ -323,9 +334,9 @@ class CI_Loader {
323
334
  {
324
335
  return $this->_ci_load(array('_ci_path' => $path, '_ci_return' => $return));
325
336
  }
326
-
337
+
327
338
  // --------------------------------------------------------------------
328
-
339
+
329
340
  /**
330
341
  * Set Variables
331
342
  *
@@ -342,9 +353,9 @@ class CI_Loader {
342
353
  {
343
354
  $vars = array($vars => $val);
344
355
  }
345
-
356
+
346
357
  $vars = $this->_ci_object_to_array($vars);
347
-
358
+
348
359
  if (is_array($vars) AND count($vars) > 0)
349
360
  {
350
361
  foreach ($vars as $key => $val)
@@ -353,9 +364,9 @@ class CI_Loader {
353
364
  }
354
365
  }
355
366
  }
356
-
367
+
357
368
  // --------------------------------------------------------------------
358
-
369
+
359
370
  /**
360
371
  * Load Helper
361
372
  *
@@ -367,58 +378,56 @@ class CI_Loader {
367
378
  */
368
379
  function helper($helpers = array())
369
380
  {
370
- if ( ! is_array($helpers))
381
+ foreach ($this->_ci_prep_filename($helpers, '_helper') as $helper)
371
382
  {
372
- $helpers = array($helpers);
373
- }
374
-
375
- foreach ($helpers as $helper)
376
- {
377
- $helper = strtolower(str_replace(EXT, '', str_replace('_helper', '', $helper)).'_helper');
378
-
379
383
  if (isset($this->_ci_helpers[$helper]))
380
384
  {
381
385
  continue;
382
386
  }
383
-
387
+
384
388
  $ext_helper = APPPATH.'helpers/'.config_item('subclass_prefix').$helper.EXT;
385
389
 
386
- // Is this a helper extension request?
390
+ // Is this a helper extension request?
387
391
  if (file_exists($ext_helper))
388
392
  {
389
393
  $base_helper = BASEPATH.'helpers/'.$helper.EXT;
390
-
394
+
391
395
  if ( ! file_exists($base_helper))
392
396
  {
393
397
  show_error('Unable to load the requested file: helpers/'.$helper.EXT);
394
398
  }
395
-
399
+
396
400
  include_once($ext_helper);
397
401
  include_once($base_helper);
402
+
403
+ $this->_ci_helpers[$helper] = TRUE;
404
+ log_message('debug', 'Helper loaded: '.$helper);
405
+ continue;
398
406
  }
399
- elseif (file_exists(APPPATH.'helpers/'.$helper.EXT))
400
- {
401
- include_once(APPPATH.'helpers/'.$helper.EXT);
402
- }
403
- else
404
- {
405
- if (file_exists(BASEPATH.'helpers/'.$helper.EXT))
406
- {
407
- include_once(BASEPATH.'helpers/'.$helper.EXT);
408
- }
409
- else
407
+
408
+ // Try to load the helper
409
+ foreach ($this->_ci_helper_paths as $path)
410
+ {
411
+ if (file_exists($path.'helpers/'.$helper.EXT))
410
412
  {
411
- show_error('Unable to load the requested file: helpers/'.$helper.EXT);
413
+ include_once($path.'helpers/'.$helper.EXT);
414
+
415
+ $this->_ci_helpers[$helper] = TRUE;
416
+ log_message('debug', 'Helper loaded: '.$helper);
417
+ break;
412
418
  }
413
419
  }
414
420
 
415
- $this->_ci_helpers[$helper] = TRUE;
416
- log_message('debug', 'Helper loaded: '.$helper);
417
- }
421
+ // unable to load the helper
422
+ if ( ! isset($this->_ci_helpers[$helper]))
423
+ {
424
+ show_error('Unable to load the requested file: helpers/'.$helper.EXT);
425
+ }
426
+ }
418
427
  }
419
-
428
+
420
429
  // --------------------------------------------------------------------
421
-
430
+
422
431
  /**
423
432
  * Load Helpers
424
433
  *
@@ -433,156 +442,167 @@ class CI_Loader {
433
442
  {
434
443
  $this->helper($helpers);
435
444
  }
436
-
445
+
437
446
  // --------------------------------------------------------------------
438
-
447
+
439
448
  /**
440
- * Load Plugin
441
- *
442
- * This function loads the specified plugin.
449
+ * Loads a language file
443
450
  *
444
451
  * @access public
445
452
  * @param array
453
+ * @param string
446
454
  * @return void
447
455
  */
448
- function plugin($plugins = array())
456
+ function language($file = array(), $lang = '')
449
457
  {
450
- if ( ! is_array($plugins))
458
+ $CI =& get_instance();
459
+
460
+ if ( ! is_array($file))
451
461
  {
452
- $plugins = array($plugins);
462
+ $file = array($file);
453
463
  }
454
-
455
- foreach ($plugins as $plugin)
456
- {
457
- $plugin = strtolower(str_replace(EXT, '', str_replace('_pi', '', $plugin)).'_pi');
458
464
 
459
- if (isset($this->_ci_plugins[$plugin]))
460
- {
461
- continue;
462
- }
463
-
464
- if (file_exists(APPPATH.'plugins/'.$plugin.EXT))
465
- {
466
- include_once(APPPATH.'plugins/'.$plugin.EXT);
467
- }
468
- else
469
- {
470
- if (file_exists(BASEPATH.'plugins/'.$plugin.EXT))
471
- {
472
- include_once(BASEPATH.'plugins/'.$plugin.EXT);
473
- }
474
- else
475
- {
476
- show_error('Unable to load the requested file: plugins/'.$plugin.EXT);
477
- }
478
- }
479
-
480
- $this->_ci_plugins[$plugin] = TRUE;
481
- log_message('debug', 'Plugin loaded: '.$plugin);
482
- }
465
+ foreach ($file as $langfile)
466
+ {
467
+ $CI->lang->load($langfile, $lang);
468
+ }
483
469
  }
484
470
 
485
471
  // --------------------------------------------------------------------
486
-
472
+
487
473
  /**
488
- * Load Plugins
489
- *
490
- * This is simply an alias to the above function in case the
491
- * user has written the plural form of this function.
474
+ * Loads a config file
492
475
  *
493
476
  * @access public
494
- * @param array
477
+ * @param string
495
478
  * @return void
496
479
  */
497
- function plugins($plugins = array())
480
+ function config($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
498
481
  {
499
- $this->plugin($plugins);
482
+ $CI =& get_instance();
483
+ $CI->config->load($file, $use_sections, $fail_gracefully);
500
484
  }
501
-
485
+
502
486
  // --------------------------------------------------------------------
503
-
487
+
504
488
  /**
505
- * Loads a language file
489
+ * Driver
506
490
  *
507
- * @access public
508
- * @param array
509
- * @param string
491
+ * Loads a driver library
492
+ *
493
+ * @param string the name of the class
494
+ * @param mixed the optional parameters
495
+ * @param string an optional object name
510
496
  * @return void
511
497
  */
512
- function language($file = array(), $lang = '')
498
+ function driver($library = '', $params = NULL, $object_name = NULL)
513
499
  {
514
- $CI =& get_instance();
515
-
516
- if ( ! is_array($file))
500
+ if ( ! class_exists('CI_Driver_Library'))
517
501
  {
518
- $file = array($file);
502
+ // we aren't instantiating an object here, that'll be done by the Library itself
503
+ require BASEPATH.'libraries/Driver'.EXT;
519
504
  }
520
505
 
521
- foreach ($file as $langfile)
522
- {
523
- $CI->lang->load($langfile, $lang);
506
+ // We can save the loader some time since Drivers will *always* be in a subfolder,
507
+ // and typically identically named to the library
508
+ if ( ! strpos($library, '/'))
509
+ {
510
+ $library = ucfirst($library).'/'.$library;
524
511
  }
512
+
513
+ return $this->library($library, $params, $object_name);
525
514
  }
526
515
 
516
+ // --------------------------------------------------------------------
517
+
527
518
  /**
528
- * Loads language files for scaffolding
519
+ * Add Package Path
520
+ *
521
+ * Prepends a parent path to the library, model, helper, and config path arrays
529
522
  *
530
523
  * @access public
531
524
  * @param string
532
- * @return arra
525
+ * @return void
533
526
  */
534
- function scaffold_language($file = '', $lang = '', $return = FALSE)
527
+ function add_package_path($path)
535
528
  {
536
- $CI =& get_instance();
537
- return $CI->lang->load($file, $lang, $return);
529
+ $path = rtrim($path, '/').'/';
530
+
531
+ array_unshift($this->_ci_library_paths, $path);
532
+ array_unshift($this->_ci_model_paths, $path);
533
+ array_unshift($this->_ci_helper_paths, $path);
534
+
535
+ // Add config file path
536
+ $config =& $this->_ci_get_component('config');
537
+ array_unshift($config->_config_paths, $path);
538
538
  }
539
-
539
+
540
540
  // --------------------------------------------------------------------
541
-
541
+
542
542
  /**
543
- * Loads a config file
543
+ * Get Package Paths
544
+ *
545
+ * Return a list of all package paths, by default it will ignore BASEPATH.
544
546
  *
545
547
  * @access public
546
548
  * @param string
547
549
  * @return void
548
550
  */
549
- function config($file = '', $use_sections = FALSE, $fail_gracefully = FALSE)
550
- {
551
- $CI =& get_instance();
552
- $CI->config->load($file, $use_sections, $fail_gracefully);
551
+ function get_package_paths($include_base = FALSE)
552
+ {
553
+ return $include_base === TRUE ? $this->_ci_library_paths : $this->_ci_model_paths;
553
554
  }
554
555
 
555
556
  // --------------------------------------------------------------------
556
-
557
+
557
558
  /**
558
- * Scaffolding Loader
559
+ * Remove Package Path
559
560
  *
560
- * This initializing function works a bit different than the
561
- * others. It doesn't load the class. Instead, it simply
562
- * sets a flag indicating that scaffolding is allowed to be
563
- * used. The actual scaffolding function below is
564
- * called by the front controller based on whether the
565
- * second segment of the URL matches the "secret" scaffolding
566
- * word stored in the application/config/routes.php
561
+ * Remove a path from the library, model, and helper path arrays if it exists
562
+ * If no path is provided, the most recently added path is removed.
567
563
  *
568
564
  * @access public
569
- * @param string
570
- * @return void
571
- */
572
- function scaffolding($table = '')
573
- {
574
- if ($table === FALSE)
565
+ * @param type
566
+ * @return type
567
+ */
568
+ function remove_package_path($path = '', $remove_config_path = TRUE)
569
+ {
570
+ $config =& $this->_ci_get_component('config');
571
+
572
+ if ($path == '')
575
573
  {
576
- show_error('You must include the name of the table you would like to access when you initialize scaffolding');
574
+ $void = array_shift($this->_ci_library_paths);
575
+ $void = array_shift($this->_ci_model_paths);
576
+ $void = array_shift($this->_ci_helper_paths);
577
+ $void = array_shift($config->_config_paths);
577
578
  }
578
-
579
- $CI =& get_instance();
580
- $CI->_ci_scaffolding = TRUE;
581
- $CI->_ci_scaff_table = $table;
579
+ else
580
+ {
581
+ $path = rtrim($path, '/').'/';
582
+
583
+ foreach (array('_ci_library_paths', '_ci_model_paths', '_ci_helper_paths') as $var)
584
+ {
585
+ if (($key = array_search($path, $this->{$var})) !== FALSE)
586
+ {
587
+ unset($this->{$var}[$key]);
588
+ }
589
+ }
590
+
591
+ if (($key = array_search($path, $config->_config_paths)) !== FALSE)
592
+ {
593
+ unset($config->_config_paths[$key]);
594
+ }
595
+ }
596
+
597
+ // make sure the application default paths are still in the array
598
+ $this->_ci_library_paths = array_unique(array_merge($this->_ci_library_paths, array(APPPATH, BASEPATH)));
599
+ $this->_ci_helper_paths = array_unique(array_merge($this->_ci_helper_paths, array(APPPATH, BASEPATH)));
600
+ $this->_ci_model_paths = array_unique(array_merge($this->_ci_model_paths, array(APPPATH)));
601
+ $config->_config_paths = array_unique(array_merge($config->_config_paths, array(APPPATH)));
582
602
  }
583
603
 
584
604
  // --------------------------------------------------------------------
585
-
605
+
586
606
  /**
587
607
  * Loader
588
608
  *
@@ -614,25 +634,21 @@ class CI_Loader {
614
634
  $_ci_x = explode('/', $_ci_path);
615
635
  $_ci_file = end($_ci_x);
616
636
  }
617
-
637
+
618
638
  if ( ! file_exists($_ci_path))
619
639
  {
620
640
  show_error('Unable to load the requested file: '.$_ci_file);
621
641
  }
622
-
642
+
623
643
  // This allows anything loaded using $this->load (views, files, etc.)
624
644
  // to become accessible from within the Controller and Model functions.
625
- // Only needed when running PHP 5
626
-
627
- if ($this->_ci_is_instance())
645
+
646
+ $_ci_CI =& get_instance();
647
+ foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var)
628
648
  {
629
- $_ci_CI =& get_instance();
630
- foreach (get_object_vars($_ci_CI) as $_ci_key => $_ci_var)
649
+ if ( ! isset($this->$_ci_key))
631
650
  {
632
- if ( ! isset($this->$_ci_key))
633
- {
634
- $this->$_ci_key =& $_ci_CI->$_ci_key;
635
- }
651
+ $this->$_ci_key =& $_ci_CI->$_ci_key;
636
652
  }
637
653
  }
638
654
 
@@ -643,13 +659,13 @@ class CI_Loader {
643
659
  * function or via the second parameter of this function. We'll merge
644
660
  * the two types and cache them so that views that are embedded within
645
661
  * other views can have access to these variables.
646
- */
662
+ */
647
663
  if (is_array($_ci_vars))
648
664
  {
649
665
  $this->_ci_cached_vars = array_merge($this->_ci_cached_vars, $_ci_vars);
650
666
  }
651
667
  extract($this->_ci_cached_vars);
652
-
668
+
653
669
  /*
654
670
  * Buffer the output
655
671
  *
@@ -663,11 +679,11 @@ class CI_Loader {
663
679
  * the browser and then stop the timer it won't be accurate.
664
680
  */
665
681
  ob_start();
666
-
682
+
667
683
  // If the PHP installation does not support short tags we'll
668
684
  // do a little string replacement, changing the short tags
669
685
  // to standard PHP echo statements.
670
-
686
+
671
687
  if ((bool) @ini_get('short_open_tag') === FALSE AND config_item('rewrite_short_tags') == TRUE)
672
688
  {
673
689
  echo eval('?>'.preg_replace("/;*\s*\?>/", "; ?>", str_replace('<?=', '<?php echo ', file_get_contents($_ci_path))));
@@ -676,12 +692,12 @@ class CI_Loader {
676
692
  {
677
693
  include($_ci_path); // include() vs include_once() allows for multiple views with the same name
678
694
  }
679
-
695
+
680
696
  log_message('debug', 'File loaded: '.$_ci_path);
681
-
697
+
682
698
  // Return the file data if requested
683
699
  if ($_ci_return === TRUE)
684
- {
700
+ {
685
701
  $buffer = ob_get_contents();
686
702
  @ob_end_clean();
687
703
  return $buffer;
@@ -696,16 +712,14 @@ class CI_Loader {
696
712
  * it can be seen and included properly by the first included
697
713
  * template and any subsequent ones. Oy!
698
714
  *
699
- */
715
+ */
700
716
  if (ob_get_level() > $this->_ci_ob_level + 1)
701
717
  {
702
718
  ob_end_flush();
703
719
  }
704
720
  else
705
721
  {
706
- // PHP 4 requires that we use a global
707
- global $OUT;
708
- $OUT->append_output(ob_get_contents());
722
+ $_ci_CI->output->append_output(ob_get_contents());
709
723
  @ob_end_clean();
710
724
  }
711
725
  }
@@ -718,34 +732,28 @@ class CI_Loader {
718
732
  * This function loads the requested class.
719
733
  *
720
734
  * @access private
721
- * @param string the item that is being loaded
735
+ * @param string the item that is being loaded
722
736
  * @param mixed any additional parameters
723
737
  * @param string an optional object name
724
- * @return void
738
+ * @return void
725
739
  */
726
740
  function _ci_load_class($class, $params = NULL, $object_name = NULL)
727
- {
728
- // Get the class name, and while we're at it trim any slashes.
729
- // The directory path can be included as part of the class name,
741
+ {
742
+ // Get the class name, and while we're at it trim any slashes.
743
+ // The directory path can be included as part of the class name,
730
744
  // but we don't want a leading slash
731
745
  $class = str_replace(EXT, '', trim($class, '/'));
732
-
746
+
733
747
  // Was the path included with the class name?
734
748
  // We look for a slash to determine this
735
749
  $subdir = '';
736
- if (strpos($class, '/') !== FALSE)
750
+ if (($last_slash = strrpos($class, '/')) !== FALSE)
737
751
  {
738
- // explode the path so we can separate the filename from the path
739
- $x = explode('/', $class);
740
-
741
- // Reset the $class variable now that we know the actual filename
742
- $class = end($x);
743
-
744
- // Kill the filename from the array
745
- unset($x[count($x)-1]);
746
-
747
- // Glue the path back together, sans filename
748
- $subdir = implode($x, '/').'/';
752
+ // Extract the path
753
+ $subdir = substr($class, 0, $last_slash + 1);
754
+
755
+ // Get the filename from the path
756
+ $class = substr($class, $last_slash + 1);
749
757
  }
750
758
 
751
759
  // We'll test for both lowercase and capitalized versions of the file name
@@ -753,11 +761,11 @@ class CI_Loader {
753
761
  {
754
762
  $subclass = APPPATH.'libraries/'.$subdir.config_item('subclass_prefix').$class.EXT;
755
763
 
756
- // Is this a class extension request?
764
+ // Is this a class extension request?
757
765
  if (file_exists($subclass))
758
766
  {
759
767
  $baseclass = BASEPATH.'libraries/'.ucfirst($class).EXT;
760
-
768
+
761
769
  if ( ! file_exists($baseclass))
762
770
  {
763
771
  log_message('error', "Unable to load the requested class: ".$class);
@@ -775,35 +783,34 @@ class CI_Loader {
775
783
  $CI =& get_instance();
776
784
  if ( ! isset($CI->$object_name))
777
785
  {
778
- return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
786
+ return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
779
787
  }
780
788
  }
781
-
789
+
782
790
  $is_duplicate = TRUE;
783
791
  log_message('debug', $class." class already loaded. Second attempt ignored.");
784
792
  return;
785
793
  }
786
-
787
- include_once($baseclass);
794
+
795
+ include_once($baseclass);
788
796
  include_once($subclass);
789
797
  $this->_ci_loaded_files[] = $subclass;
790
-
791
- return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
798
+
799
+ return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
792
800
  }
793
-
801
+
794
802
  // Lets search for the requested library file and load it.
795
- $is_duplicate = FALSE;
796
- for ($i = 1; $i < 3; $i++)
803
+ $is_duplicate = FALSE;
804
+ foreach ($this->_ci_library_paths as $path)
797
805
  {
798
- $path = ($i % 2) ? APPPATH : BASEPATH;
799
806
  $filepath = $path.'libraries/'.$subdir.$class.EXT;
800
-
807
+
801
808
  // Does the file exist? No? Bummer...
802
809
  if ( ! file_exists($filepath))
803
810
  {
804
811
  continue;
805
812
  }
806
-
813
+
807
814
  // Safety: Was the class already loaded by a previous call?
808
815
  if (in_array($filepath, $this->_ci_loaded_files))
809
816
  {
@@ -818,16 +825,17 @@ class CI_Loader {
818
825
  return $this->_ci_init_class($class, '', $params, $object_name);
819
826
  }
820
827
  }
821
-
828
+
822
829
  $is_duplicate = TRUE;
823
830
  log_message('debug', $class." class already loaded. Second attempt ignored.");
824
831
  return;
825
832
  }
826
-
833
+
827
834
  include_once($filepath);
828
835
  $this->_ci_loaded_files[] = $filepath;
829
836
  return $this->_ci_init_class($class, '', $params, $object_name);
830
837
  }
838
+
831
839
  } // END FOREACH
832
840
 
833
841
  // One last attempt. Maybe the library is in a subdirectory, but it wasn't specified?
@@ -836,7 +844,7 @@ class CI_Loader {
836
844
  $path = strtolower($class).'/'.$class;
837
845
  return $this->_ci_load_class($path, $params);
838
846
  }
839
-
847
+
840
848
  // If we got this far we were unable to find the requested class.
841
849
  // We do not issue errors if the load call failed due to a duplicate request
842
850
  if ($is_duplicate == FALSE)
@@ -845,7 +853,7 @@ class CI_Loader {
845
853
  show_error("Unable to load the requested class: ".$class);
846
854
  }
847
855
  }
848
-
856
+
849
857
  // --------------------------------------------------------------------
850
858
 
851
859
  /**
@@ -858,29 +866,42 @@ class CI_Loader {
858
866
  * @return null
859
867
  */
860
868
  function _ci_init_class($class, $prefix = '', $config = FALSE, $object_name = NULL)
861
- {
862
- // Is there an associated config file for this class?
869
+ {
870
+ // Is there an associated config file for this class? Note: these should always be lowercase
863
871
  if ($config === NULL)
864
872
  {
865
- // We test for both uppercase and lowercase, for servers that
866
- // are case-sensitive with regard to file names
867
- if (file_exists(APPPATH.'config/'.strtolower($class).EXT))
868
- {
869
- include_once(APPPATH.'config/'.strtolower($class).EXT);
870
- }
871
- elseif (file_exists(APPPATH.'config/'.ucfirst(strtolower($class)).EXT))
873
+ // Fetch the config paths containing any package paths
874
+ $config_component = $this->_ci_get_component('config');
875
+
876
+ if (is_array($config_component->_config_paths))
872
877
  {
873
- include_once(APPPATH.'config/'.ucfirst(strtolower($class)).EXT);
878
+ // Break on the first found file, thus package files
879
+ // are not overridden by default paths
880
+ foreach ($config_component->_config_paths as $path)
881
+ {
882
+ // We test for both uppercase and lowercase, for servers that
883
+ // are case-sensitive with regard to file names
884
+ if (file_exists($path .'config/'.strtolower($class).EXT))
885
+ {
886
+ include_once($path .'config/'.strtolower($class).EXT);
887
+ break;
888
+ }
889
+ elseif (file_exists($path .'config/'.ucfirst(strtolower($class)).EXT))
890
+ {
891
+ include_once($path .'config/'.ucfirst(strtolower($class)).EXT);
892
+ break;
893
+ }
894
+ }
874
895
  }
875
896
  }
876
-
897
+
877
898
  if ($prefix == '')
878
- {
879
- if (class_exists('CI_'.$class))
899
+ {
900
+ if (class_exists('CI_'.$class))
880
901
  {
881
902
  $name = 'CI_'.$class;
882
903
  }
883
- elseif (class_exists(config_item('subclass_prefix').$class))
904
+ elseif (class_exists(config_item('subclass_prefix').$class))
884
905
  {
885
906
  $name = config_item('subclass_prefix').$class;
886
907
  }
@@ -893,18 +914,18 @@ class CI_Loader {
893
914
  {
894
915
  $name = $prefix.$class;
895
916
  }
896
-
917
+
897
918
  // Is the class name valid?
898
919
  if ( ! class_exists($name))
899
920
  {
900
921
  log_message('error', "Non-existent class: ".$name);
901
922
  show_error("Non-existent class: ".$class);
902
923
  }
903
-
924
+
904
925
  // Set the variable name we will assign the class to
905
926
  // Was a custom class name supplied? If so we'll use it
906
927
  $class = strtolower($class);
907
-
928
+
908
929
  if (is_null($object_name))
909
930
  {
910
931
  $classvar = ( ! isset($this->_ci_varmap[$class])) ? $class : $this->_ci_varmap[$class];
@@ -914,68 +935,77 @@ class CI_Loader {
914
935
  $classvar = $object_name;
915
936
  }
916
937
 
917
- // Save the class name and object name
938
+ // Save the class name and object name
918
939
  $this->_ci_classes[$class] = $classvar;
919
940
 
920
- // Instantiate the class
941
+ // Instantiate the class
921
942
  $CI =& get_instance();
922
943
  if ($config !== NULL)
923
944
  {
924
945
  $CI->$classvar = new $name($config);
925
946
  }
926
947
  else
927
- {
948
+ {
928
949
  $CI->$classvar = new $name;
929
- }
930
- }
931
-
950
+ }
951
+ }
952
+
932
953
  // --------------------------------------------------------------------
933
-
954
+
934
955
  /**
935
956
  * Autoloader
936
957
  *
937
958
  * The config/autoload.php file contains an array that permits sub-systems,
938
- * libraries, plugins, and helpers to be loaded automatically.
959
+ * libraries, and helpers to be loaded automatically.
939
960
  *
940
961
  * @access private
941
962
  * @param array
942
963
  * @return void
943
964
  */
944
965
  function _ci_autoloader()
945
- {
966
+ {
946
967
  include_once(APPPATH.'config/autoload'.EXT);
947
-
968
+
948
969
  if ( ! isset($autoload))
949
970
  {
950
971
  return FALSE;
951
972
  }
952
-
973
+
974
+ // Autoload packages
975
+ if (isset($autoload['packages']))
976
+ {
977
+ foreach ($autoload['packages'] as $package_path)
978
+ {
979
+ $this->add_package_path($package_path);
980
+ }
981
+ }
982
+
953
983
  // Load any custom config file
954
984
  if (count($autoload['config']) > 0)
955
- {
985
+ {
956
986
  $CI =& get_instance();
957
987
  foreach ($autoload['config'] as $key => $val)
958
988
  {
959
989
  $CI->config->load($val);
960
990
  }
961
- }
991
+ }
962
992
 
963
- // Autoload plugins, helpers and languages
964
- foreach (array('helper', 'plugin', 'language') as $type)
965
- {
993
+ // Autoload helpers and languages
994
+ foreach (array('helper', 'language') as $type)
995
+ {
966
996
  if (isset($autoload[$type]) AND count($autoload[$type]) > 0)
967
997
  {
968
998
  $this->$type($autoload[$type]);
969
- }
999
+ }
970
1000
  }
971
1001
 
972
1002
  // A little tweak to remain backward compatible
973
1003
  // The $autoload['core'] item was deprecated
974
- if ( ! isset($autoload['libraries']))
1004
+ if ( ! isset($autoload['libraries']) AND isset($autoload['core']))
975
1005
  {
976
1006
  $autoload['libraries'] = $autoload['core'];
977
1007
  }
978
-
1008
+
979
1009
  // Load libraries
980
1010
  if (isset($autoload['libraries']) AND count($autoload['libraries']) > 0)
981
1011
  {
@@ -986,100 +1016,80 @@ class CI_Loader {
986
1016
  $autoload['libraries'] = array_diff($autoload['libraries'], array('database'));
987
1017
  }
988
1018
 
989
- // Load scaffolding
990
- if (in_array('scaffolding', $autoload['libraries']))
991
- {
992
- $this->scaffolding();
993
- $autoload['libraries'] = array_diff($autoload['libraries'], array('scaffolding'));
994
- }
995
-
996
1019
  // Load all other libraries
997
1020
  foreach ($autoload['libraries'] as $item)
998
1021
  {
999
1022
  $this->library($item);
1000
1023
  }
1001
- }
1024
+ }
1002
1025
 
1003
1026
  // Autoload models
1004
1027
  if (isset($autoload['model']))
1005
1028
  {
1006
1029
  $this->model($autoload['model']);
1007
1030
  }
1008
-
1009
1031
  }
1010
-
1032
+
1011
1033
  // --------------------------------------------------------------------
1012
1034
 
1013
1035
  /**
1014
- * Assign to Models
1036
+ * Object to Array
1015
1037
  *
1016
- * Makes sure that anything loaded by the loader class (libraries, plugins, etc.)
1017
- * will be available to models, if any exist.
1038
+ * Takes an object as input and converts the class variables to array key/vals
1018
1039
  *
1019
1040
  * @access private
1020
1041
  * @param object
1021
1042
  * @return array
1022
1043
  */
1023
- function _ci_assign_to_models()
1044
+ function _ci_object_to_array($object)
1024
1045
  {
1025
- if (count($this->_ci_models) == 0)
1026
- {
1027
- return;
1028
- }
1029
-
1030
- if ($this->_ci_is_instance())
1031
- {
1032
- $CI =& get_instance();
1033
- foreach ($this->_ci_models as $model)
1034
- {
1035
- $CI->$model->_assign_libraries();
1036
- }
1037
- }
1038
- else
1039
- {
1040
- foreach ($this->_ci_models as $model)
1041
- {
1042
- $this->$model->_assign_libraries();
1043
- }
1044
- }
1045
- }
1046
+ return (is_object($object)) ? get_object_vars($object) : $object;
1047
+ }
1046
1048
 
1047
1049
  // --------------------------------------------------------------------
1048
1050
 
1049
1051
  /**
1050
- * Object to Array
1051
- *
1052
- * Takes an object as input and converts the class variables to array key/vals
1052
+ * Get a reference to a specific library or model
1053
1053
  *
1054
1054
  * @access private
1055
- * @param object
1056
- * @return array
1055
+ * @return bool
1057
1056
  */
1058
- function _ci_object_to_array($object)
1057
+ function &_ci_get_component($component)
1059
1058
  {
1060
- return (is_object($object)) ? get_object_vars($object) : $object;
1059
+ $CI =& get_instance();
1060
+ return $CI->$component;
1061
1061
  }
1062
1062
 
1063
1063
  // --------------------------------------------------------------------
1064
1064
 
1065
1065
  /**
1066
- * Determines whether we should use the CI instance or $this
1066
+ * Prep filename
1067
+ *
1068
+ * This function preps the name of various items to make loading them more reliable.
1067
1069
  *
1068
1070
  * @access private
1069
- * @return bool
1071
+ * @param mixed
1072
+ * @return array
1070
1073
  */
1071
- function _ci_is_instance()
1074
+ function _ci_prep_filename($filename, $extension)
1072
1075
  {
1073
- if ($this->_ci_is_php5 == TRUE)
1076
+ if ( ! is_array($filename))
1074
1077
  {
1075
- return TRUE;
1078
+ return array(strtolower(str_replace(EXT, '', str_replace($extension, '', $filename)).$extension));
1079
+ }
1080
+ else
1081
+ {
1082
+ foreach ($filename as $key => $val)
1083
+ {
1084
+ $filename[$key] = strtolower(str_replace(EXT, '', str_replace($extension, '', $val)).$extension);
1085
+ }
1086
+
1087
+ return $filename;
1076
1088
  }
1077
-
1078
- global $CI;
1079
- return (is_object($CI)) ? TRUE : FALSE;
1080
1089
  }
1081
1090
 
1091
+
1082
1092
  }
1083
1093
 
1084
1094
  /* End of file Loader.php */
1085
- /* Location: ./system/libraries/Loader.php */
1095
+ /* Location: ./system/core/Loader.php */