codeigniter_vender 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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 */