Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

First import

  • Loading branch information...
commit 1b6b7e4aadab4ef6e47fe01a7487d241a3aa6e26 0 parents
Vincent Jousse authored

Showing 2,898 changed files with 27,999 additions and 0 deletions. Show diff stats Hide diff stats

  1. +1 0  .gitignore
  2. +160 0 CHANGELOG
  3. +47 0 COPYRIGHT
  4. +19 0 LICENSE
  5. +20 0 README
  6. +47 0 data/bin/changelog.php
  7. +106 0 data/bin/check_configuration.php
  8. +27 0 data/bin/create_sandbox.sh
  9. +105 0 data/bin/release.php
  10. +35 0 data/bin/sandbox_installer.php
  11. +100 0 data/bin/sandbox_skeleton/README
  12. +37 0 data/bin/symfony
  13. +39 0 data/bin/symfony.bat
  14. +353 0 data/web/sf/sf_admin/css/main.css
  15. BIN  data/web/sf/sf_admin/images/add.png
  16. BIN  data/web/sf/sf_admin/images/cancel.png
  17. BIN  data/web/sf/sf_admin/images/default_icon.png
  18. BIN  data/web/sf/sf_admin/images/delete.png
  19. BIN  data/web/sf/sf_admin/images/edit.png
  20. BIN  data/web/sf/sf_admin/images/error.png
  21. BIN  data/web/sf/sf_admin/images/filter.png
  22. BIN  data/web/sf/sf_admin/images/first.png
  23. BIN  data/web/sf/sf_admin/images/last.png
  24. BIN  data/web/sf/sf_admin/images/list.png
  25. BIN  data/web/sf/sf_admin/images/next.png
  26. BIN  data/web/sf/sf_admin/images/ok.png
  27. BIN  data/web/sf/sf_admin/images/previous.png
  28. BIN  data/web/sf/sf_admin/images/reset.png
  29. BIN  data/web/sf/sf_admin/images/save.png
  30. BIN  data/web/sf/sf_admin/images/tick.png
  31. +87 0 data/web/sf/sf_admin/js/collapse.js
  32. +37 0 data/web/sf/sf_admin/js/double_list.js
  33. +4 0 data/web/sf/sf_default/css/ie.css
  34. +86 0 data/web/sf/sf_default/css/pngfix.htc
  35. +182 0 data/web/sf/sf_default/css/screen.css
  36. BIN  data/web/sf/sf_default/images/bg_body.jpg
  37. BIN  data/web/sf/sf_default/images/bg_sfTAlert.jpg
  38. BIN  data/web/sf/sf_default/images/bg_sfTLock.jpg
  39. BIN  data/web/sf/sf_default/images/bg_sfTMessage.jpg
  40. BIN  data/web/sf/sf_default/images/icons/cancel48.png
  41. BIN  data/web/sf/sf_default/images/icons/colour16.png
  42. BIN  data/web/sf/sf_default/images/icons/db16.png
  43. BIN  data/web/sf/sf_default/images/icons/disabled48.png
  44. BIN  data/web/sf/sf_default/images/icons/edit16.png
  45. BIN  data/web/sf/sf_default/images/icons/folder16.png
  46. BIN  data/web/sf/sf_default/images/icons/linkOut16.png
  47. BIN  data/web/sf/sf_default/images/icons/lock48.png
  48. BIN  data/web/sf/sf_default/images/icons/ok48.png
  49. BIN  data/web/sf/sf_default/images/icons/reload16.png
  50. BIN  data/web/sf/sf_default/images/icons/tools48.png
  51. BIN  data/web/sf/sf_default/images/sfTLogo.png
  52. BIN  data/web/sf/sf_default/images/trans.gif
  53. BIN  data/web/sf/sf_web_debug/images/close.png
  54. BIN  data/web/sf/sf_web_debug/images/config.png
  55. BIN  data/web/sf/sf_web_debug/images/database.png
  56. BIN  data/web/sf/sf_web_debug/images/email.png
  57. BIN  data/web/sf/sf_web_debug/images/error.png
  58. BIN  data/web/sf/sf_web_debug/images/info.png
  59. BIN  data/web/sf/sf_web_debug/images/log.png
  60. BIN  data/web/sf/sf_web_debug/images/memory.png
  61. BIN  data/web/sf/sf_web_debug/images/reload.png
  62. BIN  data/web/sf/sf_web_debug/images/sf.png
  63. BIN  data/web/sf/sf_web_debug/images/time.png
  64. BIN  data/web/sf/sf_web_debug/images/toggle.gif
  65. BIN  data/web/sf/sf_web_debug/images/view.png
  66. BIN  data/web/sf/sf_web_debug/images/warning.png
  67. +523 0 lib/action/sfAction.class.php
  68. +119 0 lib/action/sfActionStack.class.php
  69. +94 0 lib/action/sfActionStackEntry.class.php
  70. +62 0 lib/action/sfActions.class.php
  71. +378 0 lib/action/sfComponent.class.php
  72. +30 0 lib/action/sfComponents.class.php
  73. +130 0 lib/addon/sfData.class.php
  74. +578 0 lib/addon/sfPager.class.php
  75. +229 0 lib/autoload/sfAutoload.class.php
  76. +132 0 lib/autoload/sfAutoloadAgain.class.php
  77. +520 0 lib/autoload/sfCoreAutoload.class.php
  78. +340 0 lib/autoload/sfSimpleAutoload.class.php
  79. +167 0 lib/cache/sfAPCCache.class.php
  80. +231 0 lib/cache/sfCache.class.php
  81. +168 0 lib/cache/sfEAcceleratorCache.class.php
  82. +335 0 lib/cache/sfFileCache.class.php
  83. +112 0 lib/cache/sfFunctionCache.class.php
  84. +283 0 lib/cache/sfMemcacheCache.class.php
  85. +84 0 lib/cache/sfNoCache.class.php
  86. +228 0 lib/cache/sfSQLiteCache.class.php
  87. +212 0 lib/cache/sfXCacheCache.class.php
  88. +35 0 lib/command/cli.php
  89. +128 0 lib/command/sfAnsiColorFormatter.class.php
  90. +650 0 lib/command/sfCommandApplication.class.php
  91. +134 0 lib/command/sfCommandArgument.class.php
  92. +179 0 lib/command/sfCommandArgumentSet.class.php
  93. +21 0 lib/command/sfCommandArgumentsException.class.php
  94. +21 0 lib/command/sfCommandException.class.php
  95. +61 0 lib/command/sfCommandLogger.class.php
  96. +381 0 lib/command/sfCommandManager.class.php
  97. +186 0 lib/command/sfCommandOption.class.php
  98. +176 0 lib/command/sfCommandOptionSet.class.php
  99. +111 0 lib/command/sfFormatter.class.php
  100. +153 0 lib/command/sfSymfonyCommandApplication.class.php
  101. +24 0 lib/config/config/autoload.yml
  102. +45 0 lib/config/config/config_handlers.yml
  103. +39 0 lib/config/config/core_compile.yml
  104. +114 0 lib/config/config/factories.yml
  105. +24 0 lib/config/config/filters.yml
  106. +3 0  lib/config/config/module.yml
  107. 0  lib/config/config/security.yml
  108. +58 0 lib/config/config/settings.yml
  109. +1 0  lib/config/config/view.yml
  110. +697 0 lib/config/sfApplicationConfiguration.class.php
  111. +188 0 lib/config/sfAutoloadConfigHandler.class.php
  112. +114 0 lib/config/sfCacheConfigHandler.class.php
  113. +116 0 lib/config/sfCompileConfigHandler.class.php
  114. +92 0 lib/config/sfConfig.class.php
  115. +393 0 lib/config/sfConfigCache.class.php
  116. +133 0 lib/config/sfConfigHandler.class.php
  117. +149 0 lib/config/sfDatabaseConfigHandler.class.php
  118. +148 0 lib/config/sfDefineEnvironmentConfigHandler.class.php
  119. +256 0 lib/config/sfFactoryConfigHandler.class.php
  120. +207 0 lib/config/sfFilterConfigHandler.class.php
  121. +92 0 lib/config/sfGeneratorConfigHandler.class.php
  122. +232 0 lib/config/sfPluginConfiguration.class.php
  123. +28 0 lib/config/sfPluginConfigurationGeneric.class.php
  124. +635 0 lib/config/sfProjectConfiguration.class.php
  125. +113 0 lib/config/sfRootConfigHandler.class.php
  126. +116 0 lib/config/sfRoutingConfigHandler.class.php
  127. +58 0 lib/config/sfSecurityConfigHandler.class.php
  128. +48 0 lib/config/sfSimpleYamlConfigHandler.class.php
  129. +344 0 lib/config/sfViewConfigHandler.class.php
  130. +158 0 lib/config/sfYamlConfigHandler.class.php
  131. +68 0 lib/controller/default/actions/actions.class.php
  132. +25 0 lib/controller/default/templates/defaultLayout.php
  133. +19 0 lib/controller/default/templates/disabledSuccess.php
  134. +27 0 lib/controller/default/templates/error404Success.php
  135. +25 0 lib/controller/default/templates/indexSuccess.php
  136. +21 0 lib/controller/default/templates/loginSuccess.php
  137. +23 0 lib/controller/default/templates/moduleSuccess.php
  138. +23 0 lib/controller/default/templates/secureSuccess.php
  139. +504 0 lib/controller/sfController.class.php
  140. +59 0 lib/controller/sfFrontWebController.class.php
  141. +198 0 lib/controller/sfWebController.class.php
  142. +170 0 lib/database/sfDatabase.class.php
  143. +137 0 lib/database/sfDatabaseManager.class.php
  144. +124 0 lib/database/sfMySQLDatabase.class.php
  145. +57 0 lib/database/sfMySQLiDatabase.class.php
  146. +114 0 lib/database/sfPDODatabase.class.php
  147. +82 0 lib/database/sfPostgreSQLDatabase.class.php
  148. +261 0 lib/debug/sfDebug.class.php
  149. +84 0 lib/debug/sfTimer.class.php
  150. +61 0 lib/debug/sfTimerManager.class.php
  151. +801 0 lib/debug/sfWebDebug.class.php
  152. +203 0 lib/debug/sfWebDebugPanel.class.php
  153. +49 0 lib/debug/sfWebDebugPanelCache.class.php
  154. +81 0 lib/debug/sfWebDebugPanelConfig.class.php
  155. +125 0 lib/debug/sfWebDebugPanelLogs.class.php
  156. +105 0 lib/debug/sfWebDebugPanelMailer.class.php
  157. +35 0 lib/debug/sfWebDebugPanelMemory.class.php
  158. +33 0 lib/debug/sfWebDebugPanelSymfonyVersion.class.php
  159. +90 0 lib/debug/sfWebDebugPanelTimer.class.php
  160. +366 0 lib/debug/sfWebDebugPanelView.class.php
  161. +243 0 lib/escaper/sfOutputEscaper.class.php
  162. +164 0 lib/escaper/sfOutputEscaperArrayDecorator.class.php
  163. +54 0 lib/escaper/sfOutputEscaperGetterDecorator.class.php
  164. +159 0 lib/escaper/sfOutputEscaperIteratorDecorator.class.php
  165. +112 0 lib/escaper/sfOutputEscaperObjectDecorator.class.php
  166. +78 0 lib/escaper/sfOutputEscaperSafe.class.php
  167. +162 0 lib/event_dispatcher/sfEvent.php
  168. +159 0 lib/event_dispatcher/sfEventDispatcher.php
  169. +1 0  lib/exception/data/error.atom.php
  170. +3 0  lib/exception/data/error.css.php
  171. +49 0 lib/exception/data/error.html.php
  172. +3 0  lib/exception/data/error.js.php
  173. +5 0 lib/exception/data/error.json.php
  174. +1 0  lib/exception/data/error.rdf.php
  175. +8 0 lib/exception/data/error.txt.php
  176. +2 0  lib/exception/data/error.xml.php
  177. +1 0  lib/exception/data/exception.atom.php
  178. +10 0 lib/exception/data/exception.css.php
  179. +64 0 lib/exception/data/exception.html.php
  180. +10 0 lib/exception/data/exception.js.php
  181. +10 0 lib/exception/data/exception.json.php
  182. +1 0  lib/exception/data/exception.rdf.php
  183. +11 0 lib/exception/data/exception.txt.php
  184. +12 0 lib/exception/data/exception.xml.php
  185. +44 0 lib/exception/data/unavailable.php
  186. +23 0 lib/exception/sfCacheException.class.php
  187. +24 0 lib/exception/sfConfigurationException.class.php
  188. +24 0 lib/exception/sfControllerException.class.php
  189. +23 0 lib/exception/sfDatabaseException.class.php
  190. +52 0 lib/exception/sfError404Exception.class.php
  191. +446 0 lib/exception/sfException.class.php
  192. +24 0 lib/exception/sfFactoryException.class.php
  193. +23 0 lib/exception/sfFileException.class.php
  194. +24 0 lib/exception/sfFilterException.class.php
  195. +24 0 lib/exception/sfForwardException.class.php
  196. +23 0 lib/exception/sfInitializationException.class.php
  197. +24 0 lib/exception/sfParseException.class.php
  198. +23 0 lib/exception/sfRenderException.class.php
  199. +23 0 lib/exception/sfSecurityException.class.php
  200. +27 0 lib/exception/sfStopException.class.php
  201. +24 0 lib/exception/sfStorageException.class.php
  202. +23 0 lib/exception/sfViewException.class.php
  203. +108 0 lib/filter/sfBasicSecurityFilter.class.php
  204. +224 0 lib/filter/sfCacheFilter.class.php
  205. +58 0 lib/filter/sfCommonFilter.class.php
  206. +165 0 lib/filter/sfExecutionFilter.class.php
  207. +151 0 lib/filter/sfFilter.class.php
  208. +86 0 lib/filter/sfFilterChain.class.php
  209. +51 0 lib/filter/sfRenderingFilter.class.php
  210. +23 0 lib/form/addon/sfFormFilter.class.php
  211. +283 0 lib/form/addon/sfFormObject.class.php
  212. +109 0 lib/form/addon/sfFormSymfony.class.php
  213. +1,339 0 lib/form/sfForm.class.php
  214. +325 0 lib/form/sfFormField.class.php
  215. +219 0 lib/form/sfFormFieldSchema.class.php
  216. +193 0 lib/generator/sfGenerator.class.php
  217. +115 0 lib/generator/sfGeneratorManager.class.php
  218. +458 0 lib/generator/sfModelGenerator.class.php
  219. +569 0 lib/generator/sfModelGeneratorConfiguration.class.php
  220. +260 0 lib/generator/sfModelGeneratorConfigurationField.class.php
  221. +54 0 lib/generator/sfModelGeneratorHelper.class.php
  222. +709 0 lib/helper/AssetHelper.php
  223. +79 0 lib/helper/CacheHelper.php
  224. +170 0 lib/helper/DateHelper.php
  225. +9 0 lib/helper/DebugHelper.php
  226. +111 0 lib/helper/EscapingHelper.php
  227. +25 0 lib/helper/HelperHelper.php
  228. +76 0 lib/helper/I18NHelper.php
  229. +181 0 lib/helper/JavascriptBaseHelper.php
  230. +47 0 lib/helper/NumberHelper.php
  231. +394 0 lib/helper/PartialHelper.php
  232. +195 0 lib/helper/TagHelper.php
  233. +287 0 lib/helper/TextHelper.php
  234. +643 0 lib/helper/UrlHelper.php
  235. +337 0 lib/i18n/Gettext/MO.php
  236. +143 0 lib/i18n/Gettext/PO.php
  237. +270 0 lib/i18n/Gettext/TGettext.class.php
  238. +1 0  lib/i18n/data/af.dat
  239. +1 0  lib/i18n/data/af_NA.dat
  240. +1 0  lib/i18n/data/af_ZA.dat
  241. +1 0  lib/i18n/data/am.dat
  242. +1 0  lib/i18n/data/am_ET.dat
  243. +1 0  lib/i18n/data/ar.dat
  244. +1 0  lib/i18n/data/ar_AE.dat
  245. +1 0  lib/i18n/data/ar_BH.dat
  246. +1 0  lib/i18n/data/ar_DZ.dat
  247. +1 0  lib/i18n/data/ar_EG.dat
  248. +1 0  lib/i18n/data/ar_IQ.dat
  249. +1 0  lib/i18n/data/ar_JO.dat
  250. +1 0  lib/i18n/data/ar_KW.dat
  251. +1 0  lib/i18n/data/ar_LB.dat
  252. +1 0  lib/i18n/data/ar_LY.dat
  253. +1 0  lib/i18n/data/ar_MA.dat
  254. +1 0  lib/i18n/data/ar_OM.dat
  255. +1 0  lib/i18n/data/ar_QA.dat
  256. +1 0  lib/i18n/data/ar_SA.dat
  257. +1 0  lib/i18n/data/ar_SD.dat
  258. +1 0  lib/i18n/data/ar_SY.dat
  259. +1 0  lib/i18n/data/ar_TN.dat
  260. +1 0  lib/i18n/data/ar_YE.dat
  261. +1 0  lib/i18n/data/as.dat
  262. +1 0  lib/i18n/data/as_IN.dat
  263. +1 0  lib/i18n/data/az.dat
  264. +1 0  lib/i18n/data/az_AZ.dat
  265. +1 0  lib/i18n/data/az_Cyrl.dat
  266. +1 0  lib/i18n/data/az_Cyrl_AZ.dat
  267. +1 0  lib/i18n/data/az_Latn.dat
  268. +1 0  lib/i18n/data/az_Latn_AZ.dat
  269. +1 0  lib/i18n/data/be.dat
  270. +1 0  lib/i18n/data/be_BY.dat
  271. +1 0  lib/i18n/data/bg.dat
  272. +1 0  lib/i18n/data/bg_BG.dat
Sorry, we could not display the entire diff because too many files (2,898) changed.
1  .gitignore
... ... @@ -0,0 +1 @@
  1 +.svn/
160 CHANGELOG
... ... @@ -0,0 +1,160 @@
  1 +12/08/09: Version 1.4.1
  2 +-----------------------
  3 +
  4 + * [25063] updated class manipulator to work with mixed eol styles and no eol (closes #7694)
  5 + * [25051] fixed typos in plugin manager
  6 + * [25036] fixed php notices when test:* tasks are run outside of a command applications
  7 + * [24993] updated checking for logged trace to be a bit more responsible (closes #7817)
  8 + * [24992] added test coverage for testing browser redirects (refs #7823)
  9 + * [24986] patched class manipulator to work with source that uses an eol other than PHP_EOL (closes #7694)
  10 + * [24976] added translation for "Back To List" for German and Polish (fixes #7819)
  11 + * [24972] added files not included in r24970
  12 + * [24971] fixed sfFormDoctrine::removeFile fails to remove files (closes #7771)
  13 + * [24970] fixed inclusion of linked doctrine schema files (closes #7774, thanks esycat)
  14 + * [24962] using var export on serialisation to prevent invalid php code (fixes #7802)
  15 + * [24944] removed duplicate declaration of options member variable (fixes #7809)
  16 + * [24942] updated japanese translation of the admin generator (closes #7814 patch by river.bright)
  17 + * [24849] fixed typo (closes #7778)
  18 + * [24745] fixed replacing of tokens in doctrine stub and base model classes (closes #7656)
  19 + * [24705] optimized project:validate task
  20 + * [24703] Reverting r24632 (closes #6860)
  21 + * [24701] Fixing strict standards notice
  22 +
  23 +12/01/09: Version 1.4.0
  24 +-----------------------
  25 +
  26 + * [24637] fixed inconsistent case in doctrine crud (closes #7698, refs #5640)
  27 + * [24634] Catching Doctrine validation exceptions so you don't get internal server errors in admin generator if you use Doctrine validation
  28 + * [24632] Fixes issue with magic setters/getters for a field with a underscore and number at the end (closes #6860)
  29 + * [24628] updated date validator to ignore date_format option if tainted value is an array (closes #7753, #7702)
  30 + * [24625] updated doctrine:dql task to render NULL for null values when in table mode (closes #7680)
  31 + * [24624] fixed warning with sfValidatorDate.class when a non string option was passed to it (fixes #7753, #7702)
  32 + * [24622] allowed `__()` and `sfI18N->__()` and `sfMessageFormat->format()` to take an object with a `__toString()` method. Test case for 1.2,1.3 and 1.4 (fixes #7559, #6763, refs #2161)
  33 + * [24621] fixed column name used when generating propel route collections (refs #5572, #6773)
  34 + * [24620] fixed module option being ignored in *:generate-admin task (closes #5572, #6773)
  35 + * [24619] fixed incorrect array access of lastModified header which only was an array pre 1.0. This was effectively preventing 304 Not Modified response from working correctly. Fixed phpdoc referring to array as return type of getHttpHeader() (fixes #6633, #7539)
  36 + * [24618] Removing sfDoctrineRecordListener class which is not used (closes #7265)
  37 + * [24617] Fixes issue with base model classes not having tokens replaced from properties.ini (closes #7656)
  38 + * [24615] updated page and action caching to consider GET parameters (closes #4708)
  39 + * [24607] no longer adding duplicate entries in sfMemcacheCache.class metadata cache when key is already existing (fixes #7602)
  40 + * [24606] Fixing sfDoctrineRecord::__call() so proper exception is thrown (closes #7212)
  41 + * [24605] refactored sfWidgetFormDate.class to allow easier extension and tests, as well as being easier to read (closes #7699)
  42 + * [24604] Fix issue where local is an array (closes #6820)
  43 + * [24598] Fixes issue with attributes in databases.yml (closes #6884)
  44 + * [24597] fixed casting of propel i18n objects to string (closes #7709)
  45 + * [24593] removed old lazy_cache_key setting from generator (closes #7720)
  46 + * [24591] added requirements to DELETE action of sfObjectRouteCollection.class.php (fixes #7634)
  47 + * [24590] fixed obtaining error from mysqli session storage (fixes #7737)
  48 + * [24537] decoupled relation name from form field name when calling embedRelation(), allowed embedding of type "one" relations
  49 + * [24532] updated spanish and basque translation of admin generator (fixes #7735 thanks Javier.Eguiluz)
  50 + * [24531] fixed sfPager::count() implementation (it is more useful to return the total number of items, closes #7651)
  51 + * [24524] fixed regression when cleaning a date string that includes a timezone in new `DateTime` implementation, added appropriate regression test to 1.2
  52 + * [24514] improved vary cache generation. added unit test (refs #7605)
  53 + * [24513] fixed vary cache key again (fixes #7605)
  54 + * [24511] correctly closing output buffering in case of exceptions while requiring a file in sfPHPView (fixes #7596)
  55 + * [24498] fixed getObjectsForParameters() failing on second invocation on sfDoctrineRoute.class.php (fixes #7716)
  56 + * [24496] added missing where condition on culture to SfPropelBehaviorI18n (fixes #7713)
  57 + * [24470] added a project:validate task that validates the project against the deprecated stuff
  58 + * [24396] reset the mb_internal_encoding in case it was changed in text helpers. added basic unit test for that (fixes #7641)
  59 + * [24395] updated upgrade task to specify a class for the common filter since it's no longer specified in the core (closes #7156, #7536)
  60 + * [24390] removed call to deprecated sh() method
  61 + * [24341] fixed fatal error in doctrine build/drop db tasks when no application exists (closes #7686, refs #7633)
  62 + * [24339] optimized unshift of i18n filter to doctrine tables. big performance boost if you're working with many doctrine i18n records from the same table (closes #7392)
  63 + * [24331] updated log:rotate to explicitly sort files by name and use filesystem methods when possible (closes #7683)
  64 +
  65 +11/23/09: Version 1.4.0 RC2
  66 +---------------------------
  67 +
  68 + * [24295] removed deprecated `sfDoctrinePlugin_doctrine_lib_path` setting - use `sf_doctrine_dir` instead
  69 + * [24294] Fixing issue with generators not respecting options of the parent who generated it (fixes #7639)
  70 + * [24293] added missing API for getting Parameters of an sfRoute instance (closes #7632)
  71 + * [24292] reverted the removal of the common filter when upgrading due to backward compatibility concerns. filter is still omitted for new projects (closes #7678)
  72 + * [24288] fixed defaulting to first app when running a task with a project configuration already set (closes #7633, refs #5835)
  73 + * [24281] added back the common filter to ease upgrading existing website (the default is still the same though) (refs #7657)
  74 + * [24279] added missing PHPDoc (closes #7672)
  75 + * [24278] added getOptions method to sfForm (closes #7613)
  76 + * [24277] made exception messages more helpful (closes #7627)
  77 + * [24275] added references to the reference guide in generated configuration files
  78 + * [24271] updated token replacement in doctrine-generated model classes to disallow recursion into directories
  79 + * [24270] updated token replacement in doctrine-generated model classes to allow recursion into plugin and base directories
  80 + * [24265] fixed doc comments (closes #7664, #7666)
  81 + * [24217] fixed embedded forms in functional tests (closes #7653)
  82 + * [24215] fixed missing actions_base_class for Doctrine Generator (closes #7655, refs #5995)
  83 + * [24150] enhanced doctrine:dql task to accept query parameters and render how long a query took
  84 + * [24148] fixed forcing of colors in test:coverage task
  85 + * [24137] fixed invalid id attributes generation in sfWidgetForm (closes #6980, based on a patch from Leon.van.der.Ree)
  86 + * [24134] reverted yaml style (closes #7624)
  87 + * [24132] fixed sfWidgetFormInputFileEditable (closes #7621)
  88 + * [24130] fixed typo in propel I18N behavior
  89 + * [24094] updated czech admin generator translation (fixes #7610, thanks to Pavel.Campr)
  90 + * [24093] updated greek admin generator translation (fixes #7608, thanks to Zapantis Antreas)
  91 + * [24092] updated polish admin generator translation (fixes #7608, thanks to m)
  92 + * [24091] updated italian admin generator translation (fixes #7606, thanks to alexodus71)
  93 +
  94 +11/16/09: Version 1.4.0 RC1
  95 +---------------------------
  96 +
  97 + * [24071] added script to help with formatting Subversion log for CHANGELOG
  98 + * [24069] cleaned up template paths shown in WDT view panel
  99 + * [24068] added check for generate*Filename method on form object to handle naming uploading files (closes #7350)
  100 + * [24063] cleaned up generator templates (closes #7600)
  101 + * [24062] fixed issue with autoloading not correctly sorted in windows (fixes #7226)
  102 + * [24061] removed unneeded calls to setDefaultParameters by checking for a dirty flag.
  103 + * [24060] added database arguments to doctrine create and drop database tasks (closes #7351)
  104 + * [24056] reverted r23117 (refs #7363, closes #7456)
  105 + * [24051] made all generated base classes abstract (closes #7301)
  106 + * [24048] switched lime to new version 1.0.8
  107 + * [24045] renamed listCredentials() as getCredentials(), removed the former in 1.4 (closes #7443)
  108 + * [24043] added generic accessor for security.yml values
  109 + * [24037] deprecated loading of helpers from the include path
  110 + * [24036] fixed a bug with the / route that was made visible by r24026 (fixes #7597)
  111 + * [24033] removed unnecessary call to sfConfig
  112 + * [24032] moved project:optimize cache from project to application configuration
  113 + * [24027] changed components dependencies to use the 1.0 branch
  114 + * [24021] added short circuit checking for a static route prefix. Improves performance with many routes by up to 25%
  115 + * [24020] added loadHelpers to project:optimize (closes #4556)
  116 + * [24018] fixed command.* events not firing from generate:app task
  117 + * [24015] Static texts in native widgets are translated by default (fixes #7590, patch by FabienP)
  118 + * [24013] updated functional test bootstrap so fixture cache is always cleared before the context is created
  119 + * [24012] Options within optgroups are translated correctly, optgroup labels are translated as well (fixes #7591)
  120 + * [24008] ported r23909 to Propel 1.4 I18N behavior
  121 + * [24007] removed unnecessary calls to sfConfig, cleaned up shortening of paths used in exception messages
  122 + * [23995] reduced size of serialized sfRoute slightly due to the fact that defaultParameters will be always reset and compiled will be always true
  123 + * [23994] Moved get/setParent() from sfWidgetFormSchema to sfWidgetForm. The choices of all select/choice widgets are now translated by default (fixes #5886)
  124 + * [23993] removed obsolete setDefaultParameter code in routing
  125 + * [23984] not setting status header for servers in cgi-sapi mode (fixes #3191)
  126 + * [23977] fixed image saving for Doctrine
  127 + * [23968] fixed i18n functional test not using deprectated redirect checking
  128 + * [23967] corrected problem with validation when i18n is used. i18n should not be taken into account when the object is new (fixes #7486, patch by Dejan.Spasic)
  129 + * [23954] updated phpdoc to reflect the actual possibilities for redirect parameters (refs #6082)
  130 + * [23953] made empty redirect check faster and type tolerant (fixes #6082)
  131 + * [23951] fixed file validator on certain mac os configurations (closes #6641)
  132 + * [23950] fixed doctrine modules when dealing with multiple primary keys (closes #7571)
  133 + * [23948] improved searching for symfony script file on windows (closes #6914)
  134 + * [23930] fixed defaults for singular and plural name for generate crud tasks in case none are specified (refs #5640)
  135 + * [23927] added a new option to change the generator class for forms and filters (closes #5014, patch from joostdj)
  136 + * [23925] fixed sfMemcacheCache delete() operation (closes #6220)
  137 + * [23924] fixed defaults for singular and plural name for generate crud tasks in case none are specified (refs #5640)
  138 + * [23923] changed the routing handler cache file so that it consumes less memory
  139 + * [23919] made crud generator respect singular and plural name (fixes #5640, patch by Dejan.Spasic)
  140 + * [23917] Added sfFormField and sfFormFieldSchema to the safe classes in sfView. Widgets are always expected to be escaped by the developers! (fixes #7560, patch by nicolas)
  141 + * [23915] added unit test for sfSessionStorage (closes #7585, patch by Rubino)
  142 + * [23911] improved sfApplicationConfiguration getXYZDir caching when not using the project optimize task, by lazy caching (fixes #6413)
  143 + * [23910] changed CLI tests to use the new admin generator instead of the old one
  144 + * [23909] updated SfObjectBuilder so that Propel objects do not query the I18N table when they are new (fixes #7513, patch by joostdj)
  145 + * [23907] improved sfApplicationConfiguration getXYZDir caching when not using the project optimize task, by lazy caching (fixes #6413)
  146 + * [23901] The last exception is reset on every new page call in functional tests (fixes #6342, patch by Stefan.Koopmanschap)
  147 + * [23900] Default fields are created for %%variables%% in the title of the edit, list and new action, if possible. Closes #7578
  148 + * [23897] updated sfProtoculous javascript externals
  149 + * [23896] switched phing external to 2.3.3 tag instead of its revision in the trunk
  150 + * [23892] added Countable and Iterator interface to DOM CSS selector
  151 + * [23888] reporting error on empty url for sfWebController#redirect (fixes #6082, patch by ThijsFeryn )
  152 + * [23887] fixed Phing autoloading in upgrade task (fixes #7577, patch by Stefan.Koopmanschap)
  153 + * [23882] sfI18N now correctly rejects invalid dates when using a culture that has the dot as separator, and correctly respects am/pm markers (fixes #7582)
  154 + * [23852] fixed assumption in propel upgrade (closes #7577)
  155 + * [23849] removed reference to removed file (closes #7563)
  156 + * [23822] fixed loading of application-less plugin autoloader when multiple plugins are enabled
  157 + * [23810] set svn:eol-style property to native and svn:keywords property to Id on all .php files
  158 + * [23799] removed need for runtime insertion of lowercase module name into *_module_config.yml.php files. The module name is already inserted correctly by the sfDefineEnvironmentConfigHandler. This improves especially performance for projects with some more entries in module/config/module.yml (fixes #2105)
  159 + * [23763] added some configuration to the project:send-emails task (number of messages and time limit)
  160 + * [23762] updated Swift Mailer to the latest 4.1 version
47 COPYRIGHT
... ... @@ -0,0 +1,47 @@
19 LICENSE
... ... @@ -0,0 +1,19 @@
  1 +Copyright (c) 2004-2010 Fabien Potencier
  2 +
  3 +Permission is hereby granted, free of charge, to any person obtaining a copy
  4 +of this software and associated documentation files (the "Software"), to deal
  5 +in the Software without restriction, including without limitation the rights
  6 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7 +copies of the Software, and to permit persons to whom the Software is furnished
  8 +to do so, subject to the following conditions:
  9 +
  10 +The above copyright notice and this permission notice shall be included in all
  11 +copies or substantial portions of the Software.
  12 +
  13 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19 +THE SOFTWARE.
20 README
... ... @@ -0,0 +1,20 @@
  1 +Symfony is a complete framework designed to optimize the development of web applications by way of several key features.
  2 +For starters, it separates a web application's business rules, server logic, and presentation views.
  3 +It contains numerous tools and classes aimed at shortening the development time of a complex web application.
  4 +Additionally, it automates common tasks so that the developer can focus entirely on the specifics of an application.
  5 +The end result of these advantages means there is no need to reinvent the wheel every time a new web application is built!
  6 +
  7 +Symfony was written entirely in PHP 5.
  8 +It has been thoroughly tested in various real-world projects, and is actually in use for high-demand e-business websites.
  9 +It is compatible with most of the available databases engines, including MySQL, PostgreSQL, Oracle, and Microsoft SQL Server.
  10 +It runs on *nix and Windows platforms.
  11 +
  12 +LICENSE
  13 +-------
  14 +
  15 +see LICENSE file
  16 +
  17 +INSTALLATION
  18 +------------
  19 +
  20 +see http://www.symfony-project.org/getting-started/1_4/en/
47 data/bin/changelog.php
... ... @@ -0,0 +1,47 @@
  1 +<?php
  2 +
  3 +/*
  4 + * This file is part of the symfony package.
  5 + * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  6 + *
  7 + * For the full copyright and license information, please view the LICENSE
  8 + * file that was distributed with this source code.
  9 + */
  10 +
  11 +/**
  12 + * Outputs formatted Subversion log entries.
  13 + *
  14 + * Usage: php data/bin/changelog.php -r12345:67890 /branches/1.3
  15 + *
  16 + * @package symfony
  17 + * @author Fabien Potencier <fabien.potencier@symfony-project.com>
  18 + * @version SVN: $Id: changelog.php 24071 2009-11-17 07:36:21Z Kris.Wallsmith $
  19 + */
  20 +require_once dirname(__FILE__).'/../../lib/task/sfFilesystem.class.php';
  21 +
  22 +if (!isset($argv[1]))
  23 +{
  24 + throw new Exception('You must provide a revision range (-r123:456)');
  25 +}
  26 +
  27 +if (!isset($argv[2]))
  28 +{
  29 + throw new Exception('You must provide a repository path (/branches/1.3)');
  30 +}
  31 +
  32 +$filesystem = new sfFilesystem();
  33 +
  34 +list($out, $err) = $filesystem->execute('svn info --xml');
  35 +$info = new SimpleXMLElement($out);
  36 +
  37 +list($out, $err) = $filesystem->execute(vsprintf('svn log %s --xml %s', array_map('escapeshellarg', array(
  38 + $argv[1],
  39 + (string) $info->entry->repository->root.$argv[2],
  40 +))));
  41 +$log = new SimpleXMLElement($out);
  42 +
  43 +foreach ($log->logentry as $logentry)
  44 +{
  45 + echo sprintf(' * [%d] %s', $logentry['revision'], trim(preg_replace('/\s*\[[\d\., ]+\]\s*/', '', (string) $logentry->msg)));
  46 + echo PHP_EOL;
  47 +}
106 data/bin/check_configuration.php
... ... @@ -0,0 +1,106 @@
  1 +<?php
  2 +
  3 +function is_cli()
  4 +{
  5 + return !isset($_SERVER['HTTP_HOST']);
  6 +}
  7 +
  8 +/**
  9 + * Checks a configuration.
  10 + */
  11 +function check($boolean, $message, $help = '', $fatal = false)
  12 +{
  13 + echo $boolean ? " OK " : sprintf("[[%s]] ", $fatal ? ' ERROR ' : 'WARNING');
  14 + echo sprintf("$message%s\n", $boolean ? '' : ': FAILED');
  15 +
  16 + if (!$boolean)
  17 + {
  18 + echo " *** $help ***\n";
  19 + if ($fatal)
  20 + {
  21 + die("You must fix this problem before resuming the check.\n");
  22 + }
  23 + }
  24 +}
  25 +
  26 +/**
  27 + * Gets the php.ini path used by the current PHP interpretor.
  28 + *
  29 + * @return string the php.ini path
  30 + */
  31 +function get_ini_path()
  32 +{
  33 + if ($path = get_cfg_var('cfg_file_path'))
  34 + {
  35 + return $path;
  36 + }
  37 +
  38 + return 'WARNING: not using a php.ini file';
  39 +}
  40 +
  41 +if (!is_cli())
  42 +{
  43 + echo '<html><body><pre>';
  44 +}
  45 +
  46 +echo "********************************\n";
  47 +echo "* *\n";
  48 +echo "* symfony requirements check *\n";
  49 +echo "* *\n";
  50 +echo "********************************\n\n";
  51 +
  52 +echo sprintf("php.ini used by PHP: %s\n\n", get_ini_path());
  53 +
  54 +if (is_cli())
  55 +{
  56 + echo "** WARNING **\n";
  57 + echo "* The PHP CLI can use a different php.ini file\n";
  58 + echo "* than the one used with your web server.\n";
  59 + if ('\\' == DIRECTORY_SEPARATOR)
  60 + {
  61 + echo "* (especially on the Windows platform)\n";
  62 + }
  63 + echo "* If this is the case, please launch this\n";
  64 + echo "* utility from your web server.\n";
  65 + echo "** WARNING **\n";
  66 +}
  67 +
  68 +// mandatory
  69 +echo "\n** Mandatory requirements **\n\n";
  70 +check(version_compare(phpversion(), '5.2.4', '>='), sprintf('PHP version is at least 5.2.4 (%s)', phpversion()), 'Current version is '.phpversion(), true);
  71 +
  72 +// warnings
  73 +echo "\n** Optional checks **\n\n";
  74 +check(class_exists('PDO'), 'PDO is installed', 'Install PDO (mandatory for Propel and Doctrine)', false);
  75 +if (class_exists('PDO'))
  76 +{
  77 + $drivers = PDO::getAvailableDrivers();
  78 + check(count($drivers), 'PDO has some drivers installed: '.implode(', ', $drivers), 'Install PDO drivers (mandatory for Propel and Doctrine)');
  79 +}
  80 +check(class_exists('DomDocument'), 'PHP-XML module is installed', 'Install the php-xml module (required by Propel)', false);
  81 +check(class_exists('XSLTProcessor'), 'XSL module is installed', 'Install the XSL module (recommended for Propel)', false);
  82 +check(function_exists('token_get_all'), 'The token_get_all() function is available', 'Install token_get_all() function (highly recommended)', false);
  83 +check(function_exists('mb_strlen'), 'The mb_strlen() function is available', 'Install mb_strlen() function', false);
  84 +check(function_exists('iconv'), 'The iconv() function is available', 'Install iconv() function', false);
  85 +check(function_exists('utf8_decode'), 'The utf8_decode() is available', 'Install utf8_decode() function', false);
  86 +
  87 +$accelerator =
  88 + (function_exists('apc_store') && ini_get('apc.enabled'))
  89 + ||
  90 + function_exists('eaccelerator_put') && ini_get('eaccelerator.enable')
  91 + ||
  92 + function_exists('xcache_set')
  93 +;
  94 +check($accelerator, 'A PHP accelerator is installed', 'Install a PHP accelerator like APC (highly recommended)', false);
  95 +
  96 +check(!ini_get('short_open_tag'), 'php.ini has short_open_tag set to off', 'Set it to off in php.ini', false);
  97 +check(!ini_get('magic_quotes_gpc'), 'php.ini has magic_quotes_gpc set to off', 'Set it to off in php.ini', false);
  98 +check(!ini_get('register_globals'), 'php.ini has register_globals set to off', 'Set it to off in php.ini', false);
  99 +check(!ini_get('session.auto_start'), 'php.ini has session.auto_start set to off', 'Set it to off in php.ini', false);
  100 +
  101 +check(version_compare(phpversion(), '5.2.9', '!='), 'PHP version is not 5.2.9', 'PHP 5.2.9 broke array_unique() and sfToolkit::arrayDeepMerge(). Use 5.2.10 instead [Ticket #6211]', false);
  102 +
  103 +if (!is_cli())
  104 +{
  105 + echo '</pre></body></html>';
  106 +}
27 data/bin/create_sandbox.sh
... ... @@ -0,0 +1,27 @@
  1 +#!/bin/sh
  2 +
  3 +# Creates a sandbox for this symfony version
  4 +
  5 +echo ">>> sandbox initialization"
  6 +DIR=`pwd`/`dirname $0`
  7 +SANDBOX_NAME=sf_sandbox
  8 +PHP=php
  9 +
  10 +rm -rf /tmp/${SANDBOX_NAME}
  11 +mkdir /tmp/${SANDBOX_NAME}
  12 +cd /tmp/${SANDBOX_NAME}
  13 +
  14 +echo ">>> embed symfony"
  15 +mkdir -p lib/vendor/symfony
  16 +cp -R ${DIR}/../../* lib/vendor/symfony
  17 +
  18 +echo ">>> create a new project and a new app"
  19 +${PHP} lib/vendor/symfony/data/bin/symfony generate:project ${SANDBOX_NAME} --installer=${DIR}/sandbox_installer.php
  20 +
  21 +echo ">>> create archives"
  22 +cd ..
  23 +tar --exclude=".svn" -zcpf ${DIR}/../../${SANDBOX_NAME}.tgz ${SANDBOX_NAME}
  24 +zip -rq ${DIR}/../../${SANDBOX_NAME}.zip ${SANDBOX_NAME} -x \*/\*.svn/\*
  25 +
  26 +echo ">>> cleanup"
  27 +rm -rf ${SANDBOX_NAME}
105 data/bin/release.php
... ... @@ -0,0 +1,105 @@
  1 +<?php
  2 +
  3 +/*
  4 + * This file is part of the symfony package.
  5 + * (c) 2004-2007 Fabien Potencier <fabien.potencier@symfony-project.com>
  6 + *
  7 + * For the full copyright and license information, please view the LICENSE
  8 + * file that was distributed with this source code.
  9 + */
  10 +
  11 +/**
  12 + * Release script.
  13 + *
  14 + * Usage: php data/bin/release.php 1.3.0 stable
  15 + *
  16 + * @package symfony
  17 + * @author Fabien Potencier <fabien.potencier@symfony-project.com>
  18 + * @version SVN: $Id: release.php 24079 2009-11-17 07:59:41Z Kris.Wallsmith $
  19 + */
  20 +require_once(dirname(__FILE__).'/../../lib/exception/sfException.class.php');
  21 +require_once(dirname(__FILE__).'/../../lib/task/sfFilesystem.class.php');
  22 +require_once(dirname(__FILE__).'/../../lib/util/sfFinder.class.php');
  23 +require_once(dirname(__FILE__).'/../../lib/vendor/lime/lime.php');
  24 +
  25 +if (!isset($argv[1]))
  26 +{
  27 + throw new Exception('You must provide version prefix.');
  28 +}
  29 +
  30 +if (!isset($argv[2]))
  31 +{
  32 + throw new Exception('You must provide stability status (alpha/beta/stable).');
  33 +}
  34 +
  35 +$stability = $argv[2];
  36 +
  37 +$filesystem = new sfFilesystem();
  38 +
  39 +if (($stability == 'beta' || $stability == 'alpha') && count(explode('.', $argv[1])) < 2)
  40 +{
  41 + $version_prefix = $argv[1];
  42 +
  43 + list($result) = $filesystem->execute('svn status -u '.getcwd());
  44 + if (preg_match('/Status against revision\:\s+(\d+)\s*$/im', $result, $match))
  45 + {
  46 + $version = $match[1];
  47 + }
  48 +
  49 + if (!isset($version))
  50 + {
  51 + throw new Exception('Unable to find last SVN revision.');
  52 + }
  53 +
  54 + // make a PEAR compatible version
  55 + $version = $version_prefix.'.'.$version;
  56 +}
  57 +else
  58 +{
  59 + $version = $argv[1];
  60 +}
  61 +
  62 +print sprintf("Releasing symfony version \"%s\".\n", $version);
  63 +
  64 +// tests
  65 +list($result) = $filesystem->execute('php data/bin/symfony symfony:test');
  66 +
  67 +if (0 != $result)
  68 +{
  69 + throw new Exception('Some tests failed. Release process aborted!');
  70 +}
  71 +
  72 +if (is_file('package.xml'))
  73 +{
  74 + $filesystem->remove(getcwd().DIRECTORY_SEPARATOR.'package.xml');
  75 +}
  76 +
  77 +$filesystem->copy(getcwd().'/package.xml.tmpl', getcwd().'/package.xml');
  78 +
  79 +// add class files
  80 +$finder = sfFinder::type('file')->relative();
  81 +$xml_classes = '';
  82 +$dirs = array('lib' => 'php', 'data' => 'data');
  83 +foreach ($dirs as $dir => $role)
  84 +{
  85 + $class_files = $finder->in($dir);
  86 + foreach ($class_files as $file)
  87 + {
  88 + $xml_classes .= '<file role="'.$role.'" baseinstalldir="symfony" install-as="'.$file.'" name="'.$dir.'/'.$file.'" />'."\n";
  89 + }
  90 +}
  91 +
  92 +// replace tokens
  93 +$filesystem->replaceTokens(getcwd().DIRECTORY_SEPARATOR.'package.xml', '##', '##', array(
  94 + 'SYMFONY_VERSION' => $version,
  95 + 'CURRENT_DATE' => date('Y-m-d'),
  96 + 'CLASS_FILES' => $xml_classes,
  97 + 'STABILITY' => $stability,
  98 +));
  99 +
  100 +list($results) = $filesystem->execute('pear package');
  101 +echo $results;
  102 +
  103 +$filesystem->remove(getcwd().DIRECTORY_SEPARATOR.'package.xml');
  104 +
  105 +exit(0);
35 data/bin/sandbox_installer.php
... ... @@ -0,0 +1,35 @@
  1 +<?php
  2 +
  3 +$this->installDir(dirname(__FILE__).'/sandbox_skeleton');
  4 +
  5 +$this->logSection('install', 'add symfony CLI for Windows users');
  6 +$this->getFilesystem()->copy(dirname(__FILE__).'/symfony.bat', sfConfig::get('sf_root_dir').'/symfony.bat');
  7 +
  8 +$this->logSection('install', 'add LICENSE');
  9 +$this->getFilesystem()->copy(dirname(__FILE__).'/../../LICENSE', sfConfig::get('sf_root_dir').'/LICENSE');
  10 +
  11 +$this->logSection('install', 'default to sqlite');
  12 +$this->runTask('configure:database', sprintf("'sqlite:%s/sandbox.db'", sfConfig::get('sf_data_dir')));
  13 +
  14 +$this->logSection('install', 'create an application');
  15 +$this->runTask('generate:app', 'frontend');
  16 +
  17 +$this->logSection('install', 'publish assets');
  18 +$this->runTask('plugin:publish-assets');
  19 +
  20 +$this->logSection('install', 'fix sqlite database permissions');
  21 +touch(sfConfig::get('sf_data_dir').'/sandbox.db');
  22 +chmod(sfConfig::get('sf_data_dir'), 0777);
  23 +chmod(sfConfig::get('sf_data_dir').'/sandbox.db', 0777);
  24 +
  25 +$this->logSection('install', 'add an empty file in empty directories');
  26 +$seen = array();
  27 +foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator(sfConfig::get('sf_root_dir')), RecursiveIteratorIterator::CHILD_FIRST) as $path => $item)
  28 +{
  29 + if ($item->isDir() && !$item->isLink() && !isset($seen[$path]))
  30 + {
  31 + touch($item->getRealPath().'/.sf');
  32 + }
  33 +
  34 + $seen[$item->getPath()] = true;
  35 +}
100 data/bin/sandbox_skeleton/README
... ... @@ -0,0 +1,100 @@
  1 +symfony sandbox
  2 +===============
  3 +
  4 +Thank you for downloading the symfony sandbox. This pre-configured symfony
  5 +project will allow you to experiment with the symfony framework immediately,
  6 +without any installation or configuration.
  7 +
  8 +Quick start
  9 +-----------
  10 +
  11 +The sandbox project will work "out of the box", provided that you extract the
  12 +.tgz archive under the root web directory configured for your server (usually
  13 +`web/`).
  14 +
  15 +After unpacking the archive, test the sandbox by requesting the following URL:
  16 +
  17 + http://localhost/sf_sandbox/web/
  18 +
  19 +You should see a congratulations page.
  20 +
  21 +Command line
  22 +------------
  23 +
  24 +If you are in the `sf_sandbox/` directory, you can use the command line to do
  25 +usual site management operations. For instance, to clear the cache, type:
  26 +
  27 + $ ./symfony.sh clear-cache (*nix)
  28 + symfony clear-cache (Windows)
  29 +
  30 +To discover all the available actions of the symfony command line, type:
  31 +
  32 + $ ./symfony.sh -T (*nix)
  33 + symfony -T (Windows)
  34 +
  35 +Environments
  36 +------------
  37 +
  38 +The sandbox already contains one application called `frontend`, accessible
  39 +through two environments:
  40 +
  41 +- the default environment is the `prod` one, in which the application is fast
  42 + but outputs few error messages
  43 +- the `dev` environment is slower but gives access to a lot of information
  44 + about the current request
  45 +
  46 +To access the `frontend` application in the `dev` environment, type:
  47 +
  48 + http://localhost/sf_sandbox/web/frontend_dev.php/
  49 + (don't forget the final /)
  50 +
  51 +Modules
  52 +-------
  53 +
  54 +To create a new module `mymodule`, just type in the command line:
  55 +
  56 + $ ./symfony.sh init-module frontend mymodule (*nix)
  57 + symfony init-module frontend mymodule (Windows)
  58 +
  59 +To access it, call:
  60 +
  61 + http://localhost/sf_sandbox/web/mymodule
  62 +
  63 +If, at this point, you meet an error, this means that your web server doesn't
  64 +support mod_rewrite. Delete the `.htaccess` file from the `web/` directory and
  65 +call instead:
  66 +
  67 + http://localhost/sf_sandbox/web/index.php/mymodule
  68 +
  69 +What's in the sandbox?
  70 +----------------------
  71 +
  72 +The sandbox is an empty symfony project where all the required libraries
  73 +(symfony, pake, creole, propel and phing) are already included (in the
  74 +`sf_sandbox/lib/` directory). It is configured to work without any
  75 +configuration if unpacked under the web root, but you can install it anywhere
  76 +in your disk. In this case,
  77 +
  78 +- delete the 22nd line of the `sf_sandbox/apps/frontend/config/settings.yml`
  79 + (`relative_url_root: /sf_sandbox/web/`)
  80 +- create a virtual host in your web server configuration to address the
  81 + `sf_sandbox/web` directory
  82 +
  83 +The sandbox is intended for you to practice with symfony in a local computer,
  84 +not really to develop complex applications that may end up on the web.
  85 +However, the version of symfony shipped with the sandbox is fully functional
  86 +and equivalent to the one you can install via PEAR.
  87 +
  88 +Beware that the sandbox is not upgradeable.
  89 +
  90 +Happy symfony!
  91 +--------------
  92 +
  93 +Feel free to experiment and try the various techniques described in the
  94 +www.symfony-project.com website. All the tutorials can also work in a sandbox.
  95 +But in the long run, if you decide to go on with symfony, we advise you to
  96 +switch to a PEAR installation, which will guarantee you with the possibility
  97 +to use the latest patches and enhancements.
  98 +
  99 +The symfony team
  100 +http://www.symfony-project.com/
37 data/bin/symfony
... ... @@ -0,0 +1,37 @@
  1 +#!/usr/bin/env php
  2 +<?php
  3 +
  4 +/*
  5 + * This file is part of the symfony package.
  6 + * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  7 + *
  8 + * For the full copyright and license information, please view the LICENSE
  9 + * file that was distributed with this source code.
  10 + */
  11 +
  12 +// project exists?
  13 +if (file_exists('config/ProjectConfiguration.class.php'))
  14 +{
  15 + require_once('config/ProjectConfiguration.class.php');
  16 + $dir = sfCoreAutoload::getInstance()->getBaseDir();
  17 +}
  18 +else
  19 +{
  20 + if (is_readable(dirname(__FILE__).'/../../lib/autoload/sfCoreAutoload.class.php'))
  21 + {
  22 + // SVN
  23 + $dir = realpath(dirname(__FILE__).'/../../lib');
  24 + }
  25 + else
  26 + {
  27 + // PEAR
  28 + $dir = '@PEAR-DIR@/symfony';
  29 +
  30 + if (!is_dir($dir))
  31 + {
  32 + throw new Exception('Unable to find symfony libraries');
  33 + }
  34 + }
  35 +}
  36 +
  37 +include($dir.'/command/cli.php');
39 data/bin/symfony.bat
... ... @@ -0,0 +1,39 @@
  1 +@echo off
  2 +
  3 +rem *************************************************************
  4 +rem ** symfony CLI for Windows based systems (based on phing.bat)
  5 +rem *************************************************************
  6 +
  7 +rem This script will do the following:
  8 +rem - check for PHP_COMMAND env, if found, use it.
  9 +rem - if not found detect php, if found use it, otherwise err and terminate
  10 +
  11 +if "%OS%"=="Windows_NT" @setlocal
  12 +
  13 +rem %~dp0 is expanded pathname of the current script under NT
  14 +set SCRIPT_DIR=%~dp0
  15 +
  16 +goto init
  17 +
  18 +:init
  19 +
  20 +if "%PHP_COMMAND%" == "" goto no_phpcommand
  21 +
  22 +if "%SCRIPT_DIR%" == "" (
  23 + %PHP_COMMAND% "symfony" %*
  24 +) else (
  25 + %PHP_COMMAND% "%SCRIPT_DIR%\symfony" %*
  26 +)
  27 +goto cleanup
  28 +
  29 +:no_phpcommand
  30 +rem echo ------------------------------------------------------------------------
  31 +rem echo WARNING: Set environment var PHP_COMMAND to the location of your php.exe
  32 +rem echo executable (e.g. C:\PHP\php.exe). (assuming php.exe on PATH)
  33 +rem echo ------------------------------------------------------------------------
  34 +set PHP_COMMAND=php.exe
  35 +goto init
  36 +
  37 +:cleanup
  38 +if "%OS%"=="Windows_NT" @endlocal
  39 +rem pause
353 data/web/sf/sf_admin/css/main.css
... ... @@ -0,0 +1,353 @@
  1 +#sf_admin_container ul, #sf_admin_container ol, #sf_admin_container li, #sf_admin_container h1, #sf_admin_container h2, #sf_admin_container h3, #sf_admin_container h4, #sf_admin_container h5, #sf_admin_container h6, #sf_admin_container pre, #sf_admin_container form, #sf_admin_container body, #sf_admin_container html, #sf_admin_container p, #sf_admin_container blockquote, #sf_admin_container fieldset, #sf_admin_container input { margin: 0; padding: 0; }
  2 +#sf_admin_container a img,:link img,:visited img { border: none; }
  3 +
  4 +#sf_admin_container a:link, #sf_admin_container a:visited
  5 +{
  6 + text-decoration: none;
  7 +}
  8 +
  9 +#sf_admin_container a:hover
  10 +{
  11 + text-decoration: underline;
  12 +}
  13 +
  14 +#sf_admin_container td
  15 +{
  16 + margin: 0;
  17 + padding: 20px;
  18 + font-family: Arial, sans-serif;
  19 + font-size: 11px;
  20 + background-color: #fff;
  21 +}
  22 +
  23 +#sf_admin_container p
  24 +{
  25 + margin-bottom: 5px;
  26 +}
  27 +
  28 +#sf_admin_container #sf_admin_bar
  29 +{
  30 + margin-top: 8px;
  31 + position: absolute;
  32 + right: 20px;
  33 + width: 250px;
  34 +}
  35 +
  36 +#sf_admin_container #sf_admin_content
  37 +{
  38 + margin-right: 270px;
  39 +}
  40 +
  41 +#sf_admin_container h1
  42 +{
  43 + margin: 8px 0;
  44 + padding: 3px;
  45 + padding-left: 0px;
  46 + color: #555;
  47 + font-family: "Trebuchet MS", Arial, Verdana, sans-serif;
  48 + font-size: 25px;
  49 +}
  50 +
  51 +#sf_admin_container fieldset h2
  52 +{
  53 + padding: 3px;
  54 + color: #333;
  55 + background-color: #ccf;
  56 + font-size: 11px;
  57 +}
  58 +
  59 +#sf_admin_container input, #sf_admin_container textarea, #sf_admin_container select
  60 +{
  61 + padding: 3px;
  62 + font-family: Arial, sans-serif;
  63 + font-size: 11px;
  64 + border: 1px solid #ddd;
  65 + vertical-align:middle;
  66 +}
  67 +
  68 +#sf_admin_container label
  69 +{
  70 + display: block;
  71 + padding: 0 1em 3px 0;
  72 + float: left;
  73 + text-align: left;
  74 + width: 8em;
  75 + color: #666;
  76 + font-weight: normal !important;
  77 +}
  78 +
  79 +#sf_admin_container label.required
  80 +{
  81 + color: #333 !important;
  82 + font-weight: bold !important;
  83 +}
  84 +
  85 +#sf_admin_container .sf_admin_filters input[type="checkbox"] + label
  86 +{
  87 + display: inline;
  88 + float: none;
  89 +}
  90 +
  91 +#sf_admin_container .save-ok
  92 +{
  93 + margin-bottom: 10px;
  94 + border: 1px solid #73B65A;
  95 +}
  96 +
  97 +#sf_admin_container .save-ok h2
  98 +{
  99 + margin: 0 !important;
  100 + padding: 5px 20px 5px 25px;
  101 + font-size: 11px;
  102 + color: #fff;
  103 + background: #73B65A url(../images/ok.png) no-repeat 5px 2px;
  104 +}
  105 +
  106 +#sf_admin_container .form-row
  107 +{
  108 + clear: both;
  109 + padding: 10px;
  110 + border-bottom: 1px solid #ddd;
  111 +}
  112 +
  113 +#sf_admin_container .form-row .content
  114 +{
  115 + padding-left: 9em;
  116 +}
  117 +
  118 +#sf_admin_container .form-errors
  119 +{
  120 + margin-bottom: 10px;
  121 + border: 1px solid #f33;
  122 + background-color: #ffc;
  123 +}
  124 +
  125 +#sf_admin_container .form-errors h2
  126 +{
  127 + padding: 5px 20px 5px 25px;
  128 + font-size: 11px;
  129 + color: #fff;
  130 + background: #f33 url(../images/error.png) no-repeat 5px 2px;
  131 +}
  132 +
  133 +#sf_admin_container .form-errors dl
  134 +{
  135 + padding: 5px;
  136 +}
  137 +
  138 +#sf_admin_container .form-errors dt
  139 +{
  140 + font-weight: bold;
  141 + float: left;
  142 + padding-right: 5px;
  143 +}
  144 +
  145 +#sf_admin_container .form-errors dd
  146 +{
  147 + margin: 0;
  148 +}
  149 +
  150 +#sf_admin_container .form-error
  151 +{
  152 + color: #f33;
  153 +}
  154 +
  155 +#sf_admin_container .form-error input, #sf_admin_container .form-error select, #sf_admin_container .form-error textarea
  156 +{
  157 + border: 1px solid #f33;
  158 +}
  159 +
  160 +#sf_admin_container fieldset
  161 +{
  162 + margin-bottom: 3px;
  163 + border: 1px solid #ddd;
  164 + border-bottom: 0px;
  165 + background-color: #fff;
  166 +}
  167 +
  168 +#sf_admin_container fieldset.collapsed * { display:none; }
  169 +#sf_admin_container fieldset.collapsed h2, #sf_admin_container fieldset.collapsed { display:block !important; }
  170 +#sf_admin_container fieldset.collapsed .collapse-toggle { display: inline !important; }
  171 +#sf_admin_container fieldset.collapse h2 a.collapse-toggle { color:#ffc; }
  172 +#sf_admin_container fieldset.collapse h2 a.collapse-toggle:hover { text-decoration:underline; }
  173 +
  174 +#sf_admin_container .float-left
  175 +{
  176 + float: left;
  177 +}
  178 +
  179 +#sf_admin_container .float-right
  180 +{
  181 + float: right;
  182 +}
  183 +
  184 +#sf_admin_container ul.sf_admin_td_actions
  185 +{
  186 + list-style-type: none;
  187 +}
  188 +
  189 +#sf_admin_container ul.sf_admin_td_actions li
  190 +{
  191 + list-style-type: none;
  192 + display: inline;
  193 +}
  194 +
  195 +#sf_admin_container ul.sf_admin_actions
  196 +{
  197 + margin: 10px 0;
  198 + list-style-type: none;
  199 + text-align: right;
  200 +}
  201 +
  202 +#sf_admin_container ul.sf_admin_actions a
  203 +{
  204 + color: #333;
  205 +}
  206 +
  207 +#sf_admin_container ul.sf_admin_actions li
  208 +{
  209 + list-style-type: none;
  210 + display: inline;
  211 +}
  212 +
  213 +#sf_admin_container ul.sf_admin_actions input
  214 +{
  215 + padding: 3px 3px 3px 20px;
  216 + color: #333;
  217 + font-size: 11px;
  218 + font-family: Arial, sans-serif;
  219 + border: 0px;
  220 + border-right: 4px solid #999;
  221 + background-color: #ffc;
  222 + cursor: hand;
  223 + cursor: pointer;
  224 +}
  225 +
  226 +#sf_admin_container .sf_admin_action_create
  227 +{
  228 + background: url(../images/add.png) no-repeat 3px 2px;
  229 + border-right: 4px solid #73B65A !important;
  230 +}
  231 +
  232 +#sf_admin_container .sf_admin_action_save
  233 +{
  234 + background: url(../images/save.png) no-repeat 3px 2px;
  235 + border-right: 4px solid #73B65A !important;