codeigniter_vender 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. data/.gitignore +2 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README +40 -0
  4. data/Rakefile +18 -0
  5. data/VERSION +1 -0
  6. data/codeigniter_vender.gemspec +389 -0
  7. data/generators/ci_app/USAGE +8 -0
  8. data/generators/ci_app/ci_app_generator.rb +12 -0
  9. data/generators/ci_app/templates/CodeIgniter_1.7.2/index.php +118 -0
  10. data/generators/ci_app/templates/CodeIgniter_1.7.2/license.txt +52 -0
  11. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/autoload.php +116 -0
  12. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/config.php +329 -0
  13. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/constants.php +41 -0
  14. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/database.php +55 -0
  15. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/doctypes.php +15 -0
  16. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/hooks.php +16 -0
  17. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/index.html +10 -0
  18. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/mimes.php +105 -0
  19. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/routes.php +48 -0
  20. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/smileys.php +66 -0
  21. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/config/user_agents.php +175 -0
  22. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/controllers/index.html +10 -0
  23. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/controllers/welcome.php +17 -0
  24. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors/error_404.php +34 -0
  25. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors/error_db.php +34 -0
  26. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors/error_general.php +34 -0
  27. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors/error_php.php +10 -0
  28. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/errors/index.html +10 -0
  29. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/helpers/index.html +10 -0
  30. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/hooks/index.html +10 -0
  31. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/index.html +10 -0
  32. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/language/english/index.html +10 -0
  33. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/libraries/index.html +10 -0
  34. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/models/index.html +10 -0
  35. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/views/index.html +10 -0
  36. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/application/views/welcome_message.php +62 -0
  37. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/cache/index.html +10 -0
  38. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Base4.php +69 -0
  39. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Base5.php +56 -0
  40. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/CodeIgniter.php +280 -0
  41. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Common.php +421 -0
  42. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/Compat.php +93 -0
  43. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/codeigniter/index.html +10 -0
  44. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB.php +146 -0
  45. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_active_rec.php +1820 -0
  46. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_cache.php +195 -0
  47. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_driver.php +1366 -0
  48. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_forge.php +375 -0
  49. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_result.php +342 -0
  50. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/DB_utility.php +389 -0
  51. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/index.html +10 -0
  52. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql/index.html +10 -0
  53. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql/mssql_driver.php +667 -0
  54. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql/mssql_forge.php +248 -0
  55. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql/mssql_result.php +169 -0
  56. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mssql/mssql_utility.php +123 -0
  57. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql/index.html +10 -0
  58. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql/mysql_driver.php +670 -0
  59. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql/mysql_forge.php +254 -0
  60. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql/mysql_result.php +169 -0
  61. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysql/mysql_utility.php +245 -0
  62. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli/index.html +10 -0
  63. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli/mysqli_driver.php +671 -0
  64. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli/mysqli_forge.php +254 -0
  65. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli/mysqli_result.php +169 -0
  66. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/mysqli/mysqli_utility.php +123 -0
  67. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8/index.html +10 -0
  68. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8/oci8_driver.php +780 -0
  69. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8/oci8_forge.php +248 -0
  70. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8/oci8_result.php +249 -0
  71. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/oci8/oci8_utility.php +122 -0
  72. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc/index.html +10 -0
  73. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc/odbc_driver.php +639 -0
  74. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc/odbc_forge.php +266 -0
  75. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc/odbc_result.php +228 -0
  76. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/odbc/odbc_utility.php +148 -0
  77. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre/index.html +10 -0
  78. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre/postgre_driver.php +684 -0
  79. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre/postgre_forge.php +248 -0
  80. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre/postgre_result.php +169 -0
  81. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/postgre/postgre_utility.php +124 -0
  82. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite/index.html +10 -0
  83. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite/sqlite_driver.php +657 -0
  84. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite/sqlite_forge.php +265 -0
  85. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite/sqlite_result.php +179 -0
  86. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/drivers/sqlite/sqlite_utility.php +141 -0
  87. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/database/index.html +10 -0
  88. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/fonts/index.html +10 -0
  89. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/fonts/texb.ttf +0 -0
  90. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/array_helper.php +78 -0
  91. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/compatibility_helper.php +498 -0
  92. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/cookie_helper.php +144 -0
  93. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/date_helper.php +611 -0
  94. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/directory_helper.php +84 -0
  95. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/download_helper.php +100 -0
  96. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/email_helper.php +62 -0
  97. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/file_helper.php +464 -0
  98. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/form_helper.php +1025 -0
  99. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/html_helper.php +416 -0
  100. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/index.html +10 -0
  101. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/inflector_helper.php +171 -0
  102. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/language_helper.php +58 -0
  103. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/number_helper.php +75 -0
  104. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/path_helper.php +72 -0
  105. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/security_helper.php +126 -0
  106. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/smiley_helper.php +273 -0
  107. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/string_helper.php +273 -0
  108. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/text_helper.php +462 -0
  109. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/typography_helper.php +71 -0
  110. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/url_helper.php +593 -0
  111. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/helpers/xml_helper.php +62 -0
  112. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/index.html +10 -0
  113. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/calendar_lang.php +51 -0
  114. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/date_lang.php +60 -0
  115. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/db_lang.php +28 -0
  116. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/email_lang.php +24 -0
  117. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/form_validation_lang.php +24 -0
  118. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/ftp_lang.php +17 -0
  119. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/imglib_lang.php +24 -0
  120. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/index.html +10 -0
  121. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/number_lang.php +10 -0
  122. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/profiler_lang.php +19 -0
  123. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/scaffolding_lang.php +17 -0
  124. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/unit_test_lang.php +24 -0
  125. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/upload_lang.php +22 -0
  126. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/english/validation_lang.php +24 -0
  127. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/language/index.html +10 -0
  128. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Benchmark.php +113 -0
  129. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Calendar.php +477 -0
  130. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Cart.php +550 -0
  131. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Config.php +244 -0
  132. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Controller.php +127 -0
  133. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Email.php +2041 -0
  134. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Encrypt.php +484 -0
  135. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Exceptions.php +174 -0
  136. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Form_validation.php +1278 -0
  137. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Ftp.php +618 -0
  138. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Hooks.php +226 -0
  139. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Image_lib.php +1544 -0
  140. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Input.php +1067 -0
  141. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Language.php +123 -0
  142. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Loader.php +1085 -0
  143. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Log.php +117 -0
  144. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Model.php +83 -0
  145. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Output.php +409 -0
  146. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Pagination.php +244 -0
  147. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Parser.php +173 -0
  148. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Profiler.php +392 -0
  149. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Router.php +389 -0
  150. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Session.php +758 -0
  151. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Sha1.php +251 -0
  152. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Table.php +440 -0
  153. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Trackback.php +547 -0
  154. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Typography.php +406 -0
  155. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/URI.php +586 -0
  156. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Unit_test.php +347 -0
  157. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Upload.php +970 -0
  158. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/User_agent.php +502 -0
  159. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Validation.php +875 -0
  160. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Xmlrpc.php +1421 -0
  161. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Xmlrpcs.php +536 -0
  162. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/Zip.php +359 -0
  163. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/libraries/index.html +10 -0
  164. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/logs/index.html +10 -0
  165. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins/captcha_pi.php +356 -0
  166. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins/index.html +10 -0
  167. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/plugins/js_calendar_pi.php +629 -0
  168. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/Scaffolding.php +291 -0
  169. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images/background.jpg +0 -0
  170. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images/index.html +10 -0
  171. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/images/logo.jpg +0 -0
  172. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/index.html +10 -0
  173. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/add.php +32 -0
  174. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/delete.php +9 -0
  175. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/edit.php +33 -0
  176. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/footer.php +10 -0
  177. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/header.php +29 -0
  178. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/index.html +10 -0
  179. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/no_data.php +8 -0
  180. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/stylesheet.css +143 -0
  181. data/generators/ci_app/templates/CodeIgniter_1.7.2/system/scaffolding/views/view.php +27 -0
  182. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/changelog.html +1080 -0
  183. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/active_record.html +757 -0
  184. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/caching.html +220 -0
  185. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/call_function.html +118 -0
  186. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/configuration.html +157 -0
  187. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/connecting.html +186 -0
  188. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/examples.html +217 -0
  189. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/fields.html +163 -0
  190. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/forge.html +234 -0
  191. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/helpers.html +151 -0
  192. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/index.html +99 -0
  193. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/queries.html +153 -0
  194. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/results.html +238 -0
  195. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/table_data.html +113 -0
  196. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/transactions.html +200 -0
  197. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/database/utilities.html +295 -0
  198. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/doc_style/index.html +86 -0
  199. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/doc_style/template.html +128 -0
  200. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/alternative_php.html +147 -0
  201. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/ancillary_classes.html +117 -0
  202. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/autoloader.html +101 -0
  203. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/caching.html +115 -0
  204. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/common_functions.html +119 -0
  205. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/controllers.html +385 -0
  206. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/core_classes.html +185 -0
  207. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/creating_libraries.html +298 -0
  208. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/credits.html +86 -0
  209. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/errors.html +138 -0
  210. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/helpers.html +185 -0
  211. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/hooks.html +167 -0
  212. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/libraries.html +94 -0
  213. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/managing_apps.html +133 -0
  214. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/models.html +251 -0
  215. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/plugins.html +127 -0
  216. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/profiling.html +104 -0
  217. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/quick_reference.html +77 -0
  218. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/requirements.html +82 -0
  219. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/reserved_names.html +156 -0
  220. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/routing.html +176 -0
  221. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/scaffolding.html +147 -0
  222. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/security.html +153 -0
  223. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/styleguide.html +687 -0
  224. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/urls.html +151 -0
  225. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/general/views.html +274 -0
  226. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/array_helper.html +119 -0
  227. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/compatibility_helper.html +118 -0
  228. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/cookie_helper.html +147 -0
  229. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/date_helper.html +408 -0
  230. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/directory_helper.html +143 -0
  231. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/download_helper.html +112 -0
  232. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/email_helper.html +102 -0
  233. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/file_helper.html +178 -0
  234. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/form_helper.html +484 -0
  235. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/html_helper.html +385 -0
  236. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/inflector_helper.html +151 -0
  237. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/language_helper.html +98 -0
  238. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/number_helper.html +107 -0
  239. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/path_helper.html +106 -0
  240. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/security_helper.html +125 -0
  241. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/smiley_helper.html +215 -0
  242. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/string_helper.html +176 -0
  243. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/text_helper.html +192 -0
  244. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/typography_helper.html +112 -0
  245. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/url_helper.html +289 -0
  246. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/helpers/xml_helper.html +105 -0
  247. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/appflowchart.gif +0 -0
  248. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/arrow.gif +0 -0
  249. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/ci_logo.jpg +0 -0
  250. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/ci_logo_flame.jpg +0 -0
  251. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/ci_quick_ref.png +0 -0
  252. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/codeigniter_1.7.1_helper_reference.pdf +0 -0
  253. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/codeigniter_1.7.1_helper_reference.png +0 -0
  254. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/codeigniter_1.7.1_library_reference.pdf +0 -0
  255. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/codeigniter_1.7.1_library_reference.png +0 -0
  256. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/file.gif +0 -0
  257. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/folder.gif +0 -0
  258. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/nav_bg_darker.jpg +0 -0
  259. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/nav_separator_darker.jpg +0 -0
  260. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/nav_toggle_darker.jpg +0 -0
  261. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/smile.gif +0 -0
  262. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/images/transparent.gif +0 -0
  263. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/index.html +99 -0
  264. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/downloads.html +105 -0
  265. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/index.html +97 -0
  266. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/troubleshooting.html +90 -0
  267. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_120.html +92 -0
  268. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_130.html +203 -0
  269. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_131.html +102 -0
  270. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_132.html +100 -0
  271. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_133.html +112 -0
  272. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_140.html +145 -0
  273. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_141.html +148 -0
  274. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_150.html +178 -0
  275. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_152.html +111 -0
  276. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_153.html +100 -0
  277. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_154.html +116 -0
  278. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_160.html +125 -0
  279. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_161.html +98 -0
  280. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_162.html +106 -0
  281. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_163.html +99 -0
  282. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_170.html +121 -0
  283. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_171.html +98 -0
  284. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_172.html +105 -0
  285. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrade_b11.html +144 -0
  286. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/installation/upgrading.html +101 -0
  287. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/benchmark.html +198 -0
  288. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/calendar.html +249 -0
  289. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/cart.html +346 -0
  290. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/config.html +181 -0
  291. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/email.html +307 -0
  292. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/encryption.html +182 -0
  293. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/file_uploading.html +451 -0
  294. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/form_validation.html +1221 -0
  295. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/ftp.html +303 -0
  296. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/image_lib.html +666 -0
  297. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/input.html +231 -0
  298. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/language.html +137 -0
  299. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/loader.html +214 -0
  300. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/output.html +145 -0
  301. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/pagination.html +218 -0
  302. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/parser.html +208 -0
  303. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/sessions.html +311 -0
  304. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/table.html +292 -0
  305. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/trackback.html +246 -0
  306. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/typography.html +160 -0
  307. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/unit_testing.html +205 -0
  308. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/uri.html +252 -0
  309. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/user_agent.html +201 -0
  310. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/validation.html +740 -0
  311. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/xmlrpc.html +517 -0
  312. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/libraries/zip.html +278 -0
  313. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/license.html +107 -0
  314. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/hacks.txt +9 -0
  315. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/moo.fx.js +119 -0
  316. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/moo.fx.pack.js +241 -0
  317. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/nav.js +139 -0
  318. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/prototype.lite.js +127 -0
  319. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/nav/user_guide_menu.js +4 -0
  320. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/appflow.html +95 -0
  321. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/at_a_glance.html +172 -0
  322. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/cheatsheets.html +83 -0
  323. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/features.html +120 -0
  324. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/getting_started.html +92 -0
  325. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/goals.html +98 -0
  326. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/index.html +84 -0
  327. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/overview/mvc.html +100 -0
  328. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/toc.html +209 -0
  329. data/generators/ci_app/templates/CodeIgniter_1.7.2/user_guide/userguide.css +406 -0
  330. data/generators/ci_app/templates/README +1 -0
  331. data/generators/ci_controller/USAGE +2 -0
  332. data/generators/ci_controller/ci_controller_generator.rb +11 -0
  333. data/generators/ci_controller/templates/ci_controller.php.erb +15 -0
  334. data/generators/ci_controller/templates/ci_view.php.erb +8 -0
  335. data/generators/ci_layout/USAGE +2 -0
  336. data/generators/ci_layout/ci_layout_generator.rb +24 -0
  337. data/generators/ci_layout/templates/application_layout.php.erb +19 -0
  338. data/generators/ci_model/USAGE +2 -0
  339. data/generators/ci_model/ci_model_generator.rb +42 -0
  340. data/generators/ci_model/templates/ci_model.php.erb +15 -0
  341. data/generators/ci_model/templates/model.rb +5 -0
  342. data/generators/ci_model/templates/model_migration.rb.erb +16 -0
  343. data/init.rb +1 -0
  344. data/install.rb +1 -0
  345. data/lib/codeigniter_vender.rb +1 -0
  346. data/lib/tasks/app.rake +8 -0
  347. data/test/codeigniter_vender_test.rb +8 -0
  348. data/test/test_helper.rb +3 -0
  349. data/uninstall.rb +1 -0
  350. metadata +411 -0
@@ -0,0 +1,780 @@
1
+ <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
+ /**
3
+ * CodeIgniter
4
+ *
5
+ * An open source application development framework for PHP 4.3.2 or newer
6
+ *
7
+ * @package CodeIgniter
8
+ * @author ExpressionEngine Dev Team
9
+ * @copyright Copyright (c) 2008 - 2010, EllisLab, Inc.
10
+ * @license http://codeigniter.com/user_guide/license.html
11
+ * @link http://codeigniter.com
12
+ * @since Version 1.0
13
+ * @filesource
14
+ */
15
+
16
+ // ------------------------------------------------------------------------
17
+
18
+ /**
19
+ * oci8 Database Adapter Class
20
+ *
21
+ * Note: _DB is an extender class that the app controller
22
+ * creates dynamically based on whether the active record
23
+ * class is being used or not.
24
+ *
25
+ * @package CodeIgniter
26
+ * @subpackage Drivers
27
+ * @category Database
28
+ * @author ExpressionEngine Dev Team
29
+ * @link http://codeigniter.com/user_guide/database/
30
+ */
31
+
32
+ /**
33
+ * oci8 Database Adapter Class
34
+ *
35
+ * This is a modification of the DB_driver class to
36
+ * permit access to oracle databases
37
+ *
38
+ * NOTE: this uses the PHP 4 oci methods
39
+ *
40
+ * @author Kelly McArdle
41
+ *
42
+ */
43
+
44
+ class CI_DB_oci8_driver extends CI_DB {
45
+
46
+ var $dbdriver = 'oci8';
47
+
48
+ // The character used for excaping
49
+ var $_escape_char = '"';
50
+
51
+ // clause and character used for LIKE escape sequences
52
+ var $_like_escape_str = " escape '%s' ";
53
+ var $_like_escape_chr = '!';
54
+
55
+ /**
56
+ * The syntax to count rows is slightly different across different
57
+ * database engines, so this string appears in each driver and is
58
+ * used for the count_all() and count_all_results() functions.
59
+ */
60
+ var $_count_string = "SELECT COUNT(1) AS ";
61
+ var $_random_keyword = ' ASC'; // not currently supported
62
+
63
+ // Set "auto commit" by default
64
+ var $_commit = OCI_COMMIT_ON_SUCCESS;
65
+
66
+ // need to track statement id and cursor id
67
+ var $stmt_id;
68
+ var $curs_id;
69
+
70
+ // if we use a limit, we will add a field that will
71
+ // throw off num_fields later
72
+ var $limit_used;
73
+
74
+ /**
75
+ * Non-persistent database connection
76
+ *
77
+ * @access private called by the base class
78
+ * @return resource
79
+ */
80
+ function db_connect()
81
+ {
82
+ return @ocilogon($this->username, $this->password, $this->hostname);
83
+ }
84
+
85
+ // --------------------------------------------------------------------
86
+
87
+ /**
88
+ * Persistent database connection
89
+ *
90
+ * @access private called by the base class
91
+ * @return resource
92
+ */
93
+ function db_pconnect()
94
+ {
95
+ return @ociplogon($this->username, $this->password, $this->hostname);
96
+ }
97
+
98
+ // --------------------------------------------------------------------
99
+
100
+ /**
101
+ * Reconnect
102
+ *
103
+ * Keep / reestablish the db connection if no queries have been
104
+ * sent for a length of time exceeding the server's idle timeout
105
+ *
106
+ * @access public
107
+ * @return void
108
+ */
109
+ function reconnect()
110
+ {
111
+ // not implemented in oracle
112
+ }
113
+
114
+ // --------------------------------------------------------------------
115
+
116
+ /**
117
+ * Select the database
118
+ *
119
+ * @access private called by the base class
120
+ * @return resource
121
+ */
122
+ function db_select()
123
+ {
124
+ return TRUE;
125
+ }
126
+
127
+ // --------------------------------------------------------------------
128
+
129
+ /**
130
+ * Set client character set
131
+ *
132
+ * @access public
133
+ * @param string
134
+ * @param string
135
+ * @return resource
136
+ */
137
+ function db_set_charset($charset, $collation)
138
+ {
139
+ // @todo - add support if needed
140
+ return TRUE;
141
+ }
142
+
143
+ // --------------------------------------------------------------------
144
+
145
+ /**
146
+ * Version number query string
147
+ *
148
+ * @access public
149
+ * @return string
150
+ */
151
+ function _version()
152
+ {
153
+ return ociserverversion($this->conn_id);
154
+ }
155
+
156
+ // --------------------------------------------------------------------
157
+
158
+ /**
159
+ * Execute the query
160
+ *
161
+ * @access private called by the base class
162
+ * @param string an SQL query
163
+ * @return resource
164
+ */
165
+ function _execute($sql)
166
+ {
167
+ // oracle must parse the query before it is run. All of the actions with
168
+ // the query are based on the statement id returned by ociparse
169
+ $this->stmt_id = FALSE;
170
+ $this->_set_stmt_id($sql);
171
+ ocisetprefetch($this->stmt_id, 1000);
172
+ return @ociexecute($this->stmt_id, $this->_commit);
173
+ }
174
+
175
+ /**
176
+ * Generate a statement ID
177
+ *
178
+ * @access private
179
+ * @param string an SQL query
180
+ * @return none
181
+ */
182
+ function _set_stmt_id($sql)
183
+ {
184
+ if ( ! is_resource($this->stmt_id))
185
+ {
186
+ $this->stmt_id = ociparse($this->conn_id, $this->_prep_query($sql));
187
+ }
188
+ }
189
+
190
+ // --------------------------------------------------------------------
191
+
192
+ /**
193
+ * Prep the query
194
+ *
195
+ * If needed, each database adapter can prep the query string
196
+ *
197
+ * @access private called by execute()
198
+ * @param string an SQL query
199
+ * @return string
200
+ */
201
+ function _prep_query($sql)
202
+ {
203
+ return $sql;
204
+ }
205
+
206
+ // --------------------------------------------------------------------
207
+
208
+ /**
209
+ * getCursor. Returns a cursor from the datbase
210
+ *
211
+ * @access public
212
+ * @return cursor id
213
+ */
214
+ function get_cursor()
215
+ {
216
+ $this->curs_id = ocinewcursor($this->conn_id);
217
+ return $this->curs_id;
218
+ }
219
+
220
+ // --------------------------------------------------------------------
221
+
222
+ /**
223
+ * Stored Procedure. Executes a stored procedure
224
+ *
225
+ * @access public
226
+ * @param package package stored procedure is in
227
+ * @param procedure stored procedure to execute
228
+ * @param params array of parameters
229
+ * @return array
230
+ *
231
+ * params array keys
232
+ *
233
+ * KEY OPTIONAL NOTES
234
+ * name no the name of the parameter should be in :<param_name> format
235
+ * value no the value of the parameter. If this is an OUT or IN OUT parameter,
236
+ * this should be a reference to a variable
237
+ * type yes the type of the parameter
238
+ * length yes the max size of the parameter
239
+ */
240
+ function stored_procedure($package, $procedure, $params)
241
+ {
242
+ if ($package == '' OR $procedure == '' OR ! is_array($params))
243
+ {
244
+ if ($this->db_debug)
245
+ {
246
+ log_message('error', 'Invalid query: '.$package.'.'.$procedure);
247
+ return $this->display_error('db_invalid_query');
248
+ }
249
+ return FALSE;
250
+ }
251
+
252
+ // build the query string
253
+ $sql = "begin $package.$procedure(";
254
+
255
+ $have_cursor = FALSE;
256
+ foreach($params as $param)
257
+ {
258
+ $sql .= $param['name'] . ",";
259
+
260
+ if (array_key_exists('type', $param) && ($param['type'] == OCI_B_CURSOR))
261
+ {
262
+ $have_cursor = TRUE;
263
+ }
264
+ }
265
+ $sql = trim($sql, ",") . "); end;";
266
+
267
+ $this->stmt_id = FALSE;
268
+ $this->_set_stmt_id($sql);
269
+ $this->_bind_params($params);
270
+ $this->query($sql, FALSE, $have_cursor);
271
+ }
272
+
273
+ // --------------------------------------------------------------------
274
+
275
+ /**
276
+ * Bind parameters
277
+ *
278
+ * @access private
279
+ * @return none
280
+ */
281
+ function _bind_params($params)
282
+ {
283
+ if ( ! is_array($params) OR ! is_resource($this->stmt_id))
284
+ {
285
+ return;
286
+ }
287
+
288
+ foreach ($params as $param)
289
+ {
290
+ foreach (array('name', 'value', 'type', 'length') as $val)
291
+ {
292
+ if ( ! isset($param[$val]))
293
+ {
294
+ $param[$val] = '';
295
+ }
296
+ }
297
+
298
+ ocibindbyname($this->stmt_id, $param['name'], $param['value'], $param['length'], $param['type']);
299
+ }
300
+ }
301
+
302
+ // --------------------------------------------------------------------
303
+
304
+ /**
305
+ * Begin Transaction
306
+ *
307
+ * @access public
308
+ * @return bool
309
+ */
310
+ function trans_begin($test_mode = FALSE)
311
+ {
312
+ if ( ! $this->trans_enabled)
313
+ {
314
+ return TRUE;
315
+ }
316
+
317
+ // When transactions are nested we only begin/commit/rollback the outermost ones
318
+ if ($this->_trans_depth > 0)
319
+ {
320
+ return TRUE;
321
+ }
322
+
323
+ // Reset the transaction failure flag.
324
+ // If the $test_mode flag is set to TRUE transactions will be rolled back
325
+ // even if the queries produce a successful result.
326
+ $this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
327
+
328
+ $this->_commit = OCI_DEFAULT;
329
+ return TRUE;
330
+ }
331
+
332
+ // --------------------------------------------------------------------
333
+
334
+ /**
335
+ * Commit Transaction
336
+ *
337
+ * @access public
338
+ * @return bool
339
+ */
340
+ function trans_commit()
341
+ {
342
+ if ( ! $this->trans_enabled)
343
+ {
344
+ return TRUE;
345
+ }
346
+
347
+ // When transactions are nested we only begin/commit/rollback the outermost ones
348
+ if ($this->_trans_depth > 0)
349
+ {
350
+ return TRUE;
351
+ }
352
+
353
+ $ret = OCIcommit($this->conn_id);
354
+ $this->_commit = OCI_COMMIT_ON_SUCCESS;
355
+ return $ret;
356
+ }
357
+
358
+ // --------------------------------------------------------------------
359
+
360
+ /**
361
+ * Rollback Transaction
362
+ *
363
+ * @access public
364
+ * @return bool
365
+ */
366
+ function trans_rollback()
367
+ {
368
+ if ( ! $this->trans_enabled)
369
+ {
370
+ return TRUE;
371
+ }
372
+
373
+ // When transactions are nested we only begin/commit/rollback the outermost ones
374
+ if ($this->_trans_depth > 0)
375
+ {
376
+ return TRUE;
377
+ }
378
+
379
+ $ret = OCIrollback($this->conn_id);
380
+ $this->_commit = OCI_COMMIT_ON_SUCCESS;
381
+ return $ret;
382
+ }
383
+
384
+ // --------------------------------------------------------------------
385
+
386
+ /**
387
+ * Escape String
388
+ *
389
+ * @access public
390
+ * @param string
391
+ * @param bool whether or not the string will be used in a LIKE condition
392
+ * @return string
393
+ */
394
+ function escape_str($str, $like = FALSE)
395
+ {
396
+ if (is_array($str))
397
+ {
398
+ foreach($str as $key => $val)
399
+ {
400
+ $str[$key] = $this->escape_str($val, $like);
401
+ }
402
+
403
+ return $str;
404
+ }
405
+
406
+ // Access the CI object
407
+ $CI =& get_instance();
408
+
409
+ $str = $CI->input->_remove_invisible_characters($str);
410
+
411
+ // escape LIKE condition wildcards
412
+ if ($like === TRUE)
413
+ {
414
+ $str = str_replace( array('%', '_', $this->_like_escape_chr),
415
+ array($this->_like_escape_chr.'%', $this->_like_escape_chr.'_', $this->_like_escape_chr.$this->_like_escape_chr),
416
+ $str);
417
+ }
418
+
419
+ return $str;
420
+ }
421
+
422
+ // --------------------------------------------------------------------
423
+
424
+ /**
425
+ * Affected Rows
426
+ *
427
+ * @access public
428
+ * @return integer
429
+ */
430
+ function affected_rows()
431
+ {
432
+ return @ocirowcount($this->stmt_id);
433
+ }
434
+
435
+ // --------------------------------------------------------------------
436
+
437
+ /**
438
+ * Insert ID
439
+ *
440
+ * @access public
441
+ * @return integer
442
+ */
443
+ function insert_id()
444
+ {
445
+ // not supported in oracle
446
+ return $this->display_error('db_unsupported_function');
447
+ }
448
+
449
+ // --------------------------------------------------------------------
450
+
451
+ /**
452
+ * "Count All" query
453
+ *
454
+ * Generates a platform-specific query string that counts all records in
455
+ * the specified database
456
+ *
457
+ * @access public
458
+ * @param string
459
+ * @return string
460
+ */
461
+ function count_all($table = '')
462
+ {
463
+ if ($table == '')
464
+ {
465
+ return 0;
466
+ }
467
+
468
+ $query = $this->query($this->_count_string . $this->_protect_identifiers('numrows') . " FROM " . $this->_protect_identifiers($table, TRUE, NULL, FALSE));
469
+
470
+ if ($query == FALSE)
471
+ {
472
+ return 0;
473
+ }
474
+
475
+ $row = $query->row();
476
+ return (int) $row->numrows;
477
+ }
478
+
479
+ // --------------------------------------------------------------------
480
+
481
+ /**
482
+ * Show table query
483
+ *
484
+ * Generates a platform-specific query string so that the table names can be fetched
485
+ *
486
+ * @access private
487
+ * @param boolean
488
+ * @return string
489
+ */
490
+ function _list_tables($prefix_limit = FALSE)
491
+ {
492
+ $sql = "SELECT TABLE_NAME FROM ALL_TABLES";
493
+
494
+ if ($prefix_limit !== FALSE AND $this->dbprefix != '')
495
+ {
496
+ $sql .= " WHERE TABLE_NAME LIKE '".$this->escape_like_str($this->dbprefix)."%' ".sprintf($this->_like_escape_str, $this->_like_escape_char);
497
+ }
498
+
499
+ return $sql;
500
+ }
501
+
502
+ // --------------------------------------------------------------------
503
+
504
+ /**
505
+ * Show column query
506
+ *
507
+ * Generates a platform-specific query string so that the column names can be fetched
508
+ *
509
+ * @access public
510
+ * @param string the table name
511
+ * @return string
512
+ */
513
+ function _list_columns($table = '')
514
+ {
515
+ return "SELECT COLUMN_NAME FROM all_tab_columns WHERE table_name = '$table'";
516
+ }
517
+
518
+ // --------------------------------------------------------------------
519
+
520
+ /**
521
+ * Field data query
522
+ *
523
+ * Generates a platform-specific query so that the column data can be retrieved
524
+ *
525
+ * @access public
526
+ * @param string the table name
527
+ * @return object
528
+ */
529
+ function _field_data($table)
530
+ {
531
+ return "SELECT * FROM ".$table." where rownum = 1";
532
+ }
533
+
534
+ // --------------------------------------------------------------------
535
+
536
+ /**
537
+ * The error message string
538
+ *
539
+ * @access private
540
+ * @return string
541
+ */
542
+ function _error_message()
543
+ {
544
+ $error = ocierror($this->conn_id);
545
+ return $error['message'];
546
+ }
547
+
548
+ // --------------------------------------------------------------------
549
+
550
+ /**
551
+ * The error message number
552
+ *
553
+ * @access private
554
+ * @return integer
555
+ */
556
+ function _error_number()
557
+ {
558
+ $error = ocierror($this->conn_id);
559
+ return $error['code'];
560
+ }
561
+
562
+ // --------------------------------------------------------------------
563
+
564
+ /**
565
+ * Escape the SQL Identifiers
566
+ *
567
+ * This function escapes column and table names
568
+ *
569
+ * @access private
570
+ * @param string
571
+ * @return string
572
+ */
573
+ function _escape_identifiers($item)
574
+ {
575
+ if ($this->_escape_char == '')
576
+ {
577
+ return $item;
578
+ }
579
+
580
+ foreach ($this->_reserved_identifiers as $id)
581
+ {
582
+ if (strpos($item, '.'.$id) !== FALSE)
583
+ {
584
+ $str = $this->_escape_char. str_replace('.', $this->_escape_char.'.', $item);
585
+
586
+ // remove duplicates if the user already included the escape
587
+ return preg_replace('/['.$this->_escape_char.']+/', $this->_escape_char, $str);
588
+ }
589
+ }
590
+
591
+ if (strpos($item, '.') !== FALSE)
592
+ {
593
+ $str = $this->_escape_char.str_replace('.', $this->_escape_char.'.'.$this->_escape_char, $item).$this->_escape_char;
594
+ }
595
+ else
596
+ {
597
+ $str = $this->_escape_char.$item.$this->_escape_char;
598
+ }
599
+
600
+ // remove duplicates if the user already included the escape
601
+ return preg_replace('/['.$this->_escape_char.']+/', $this->_escape_char, $str);
602
+ }
603
+
604
+ // --------------------------------------------------------------------
605
+
606
+ /**
607
+ * From Tables
608
+ *
609
+ * This function implicitly groups FROM tables so there is no confusion
610
+ * about operator precedence in harmony with SQL standards
611
+ *
612
+ * @access public
613
+ * @param type
614
+ * @return type
615
+ */
616
+ function _from_tables($tables)
617
+ {
618
+ if ( ! is_array($tables))
619
+ {
620
+ $tables = array($tables);
621
+ }
622
+
623
+ return implode(', ', $tables);
624
+ }
625
+
626
+ // --------------------------------------------------------------------
627
+
628
+ /**
629
+ * Insert statement
630
+ *
631
+ * Generates a platform-specific insert string from the supplied data
632
+ *
633
+ * @access public
634
+ * @param string the table name
635
+ * @param array the insert keys
636
+ * @param array the insert values
637
+ * @return string
638
+ */
639
+ function _insert($table, $keys, $values)
640
+ {
641
+ return "INSERT INTO ".$table." (".implode(', ', $keys).") VALUES (".implode(', ', $values).")";
642
+ }
643
+
644
+ // --------------------------------------------------------------------
645
+
646
+ /**
647
+ * Update statement
648
+ *
649
+ * Generates a platform-specific update string from the supplied data
650
+ *
651
+ * @access public
652
+ * @param string the table name
653
+ * @param array the update data
654
+ * @param array the where clause
655
+ * @param array the orderby clause
656
+ * @param array the limit clause
657
+ * @return string
658
+ */
659
+ function _update($table, $values, $where, $orderby = array(), $limit = FALSE)
660
+ {
661
+ foreach($values as $key => $val)
662
+ {
663
+ $valstr[] = $key." = ".$val;
664
+ }
665
+
666
+ $limit = ( ! $limit) ? '' : ' LIMIT '.$limit;
667
+
668
+ $orderby = (count($orderby) >= 1)?' ORDER BY '.implode(", ", $orderby):'';
669
+
670
+ $sql = "UPDATE ".$table." SET ".implode(', ', $valstr);
671
+
672
+ $sql .= ($where != '' AND count($where) >=1) ? " WHERE ".implode(" ", $where) : '';
673
+
674
+ $sql .= $orderby.$limit;
675
+
676
+ return $sql;
677
+ }
678
+
679
+ // --------------------------------------------------------------------
680
+
681
+ /**
682
+ * Truncate statement
683
+ *
684
+ * Generates a platform-specific truncate string from the supplied data
685
+ * If the database does not support the truncate() command
686
+ * This function maps to "DELETE FROM table"
687
+ *
688
+ * @access public
689
+ * @param string the table name
690
+ * @return string
691
+ */
692
+ function _truncate($table)
693
+ {
694
+ return "TRUNCATE TABLE ".$table;
695
+ }
696
+
697
+ // --------------------------------------------------------------------
698
+
699
+ /**
700
+ * Delete statement
701
+ *
702
+ * Generates a platform-specific delete string from the supplied data
703
+ *
704
+ * @access public
705
+ * @param string the table name
706
+ * @param array the where clause
707
+ * @param string the limit clause
708
+ * @return string
709
+ */
710
+ function _delete($table, $where = array(), $like = array(), $limit = FALSE)
711
+ {
712
+ $conditions = '';
713
+
714
+ if (count($where) > 0 OR count($like) > 0)
715
+ {
716
+ $conditions = "\nWHERE ";
717
+ $conditions .= implode("\n", $this->ar_where);
718
+
719
+ if (count($where) > 0 && count($like) > 0)
720
+ {
721
+ $conditions .= " AND ";
722
+ }
723
+ $conditions .= implode("\n", $like);
724
+ }
725
+
726
+ $limit = ( ! $limit) ? '' : ' LIMIT '.$limit;
727
+
728
+ return "DELETE FROM ".$table.$conditions.$limit;
729
+ }
730
+
731
+ // --------------------------------------------------------------------
732
+
733
+ /**
734
+ * Limit string
735
+ *
736
+ * Generates a platform-specific LIMIT clause
737
+ *
738
+ * @access public
739
+ * @param string the sql query string
740
+ * @param integer the number of rows to limit the query to
741
+ * @param integer the offset value
742
+ * @return string
743
+ */
744
+ function _limit($sql, $limit, $offset)
745
+ {
746
+ $limit = $offset + $limit;
747
+ $newsql = "SELECT * FROM (select inner_query.*, rownum rnum FROM ($sql) inner_query WHERE rownum < $limit)";
748
+
749
+ if ($offset != 0)
750
+ {
751
+ $newsql .= " WHERE rnum >= $offset";
752
+ }
753
+
754
+ // remember that we used limits
755
+ $this->limit_used = TRUE;
756
+
757
+ return $newsql;
758
+ }
759
+
760
+ // --------------------------------------------------------------------
761
+
762
+ /**
763
+ * Close DB Connection
764
+ *
765
+ * @access public
766
+ * @param resource
767
+ * @return void
768
+ */
769
+ function _close($conn_id)
770
+ {
771
+ @ocilogoff($conn_id);
772
+ }
773
+
774
+
775
+ }
776
+
777
+
778
+
779
+ /* End of file oci8_driver.php */
780
+ /* Location: ./system/database/drivers/oci8/oci8_driver.php */