__color__	ticket	summary	component	version	milestone	type	owner	created	_changetime	_description	_reporter
3	6934	[PATCH] sfGuardUser::setPassword returns NULL	sfGuardPlugin	1.2.8		defect	fabien	1248961013	1352233989	`PluginsfGuardUser::setPassword($password)` method doesn't return anything (returns NULL) but it should return itself.    Changing   `parent::setPassword(call_user_func_array($algorithm, array($salt.$password)));`   into   `return parent::setPassword(call_user_func_array($algorithm, array($salt.$password)));`   solves the problem.	crozin
3	7879	[PATCH][sfFormExtraPlugin] sfWidgetJQueryDate bug fixes and improvements	sfFormExtraPlugin	1.4.1		defect	fabien	1260457764	1263036271	in sfWidgetJQueryDate:      {{{      if ('en' == $this->getOption('culture'))      {        $this->setOption('culture', 'en');      }    }}}    should rather be      {{{      if ('en' == $this->getOption('culture'))      {        $this->setOption('culture', '');      }  }}}    In order to use the default labels when the culture is the default culture (i.e. en) - this bug is only seen when you add an other culture (by adding a translation catalog to the page as a .js file)    Moreover, the changeset #24548 has introduced one new defect #7793.    The proposed changed would:[[BR]]  - fix the bug reported on top[[BR]]  - fix bug #7793[[BR]]  - fix bug #7792[[BR]]  - use the date widget culture (when it has one and culture is not overridden by setting the culture option)[[BR]]  - make the render function much easier to read (by using strtr rather and sprintf.        	victor
3	8281	doctrine:migrate fails with Versionable behavior	sfDoctrinePlugin	1.4.7		defect	Jonathan.Wage	1266187706	1287234111	1.Create an empty project with the following schema, run doctrine:build --all[[BR]]    {{{  DocPage:    actAs:      I18n:        fields:         [ name ]        actAs:          Versionable:            fields:     ~    columns:      name:             { type: string(255), notnull: true }    }}}    2. Add another I18n field ('is_done'), run doctrine:generate-migrations-diff, doctrine:migrate      {{{  DocPage:    actAs:      I18n:        fields:         [ name, is_done ]        actAs:          Versionable:            fields:     ~    columns:      name:             { type: string(255), notnull: true }      is_done:          { type: boolean, notnull: true, default: false }    }}}    3. Alter the schema, add another non-i18n field ('test'):    {{{  DocPage:    actAs:      I18n:        fields:         [ name, is_done ]        actAs:          Versionable:            fields:     ~    columns:      name:             { type: string(255), notnull: true }      is_done:          { type: boolean, notnull: true, default: false }      test:             { type: string(255)}  }}}    When running doctrine:generate-migrations-diff, doctrine:migrate, the following error is thrown:      {{{     - SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'is_done'. Failing Query: "ALTER TABLE doc_page_translation ADD is_done TINYINT(1) DEFAULT '0' NOT NULL"               - SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'is_done'. Failing Query: "ALTER TABLE doc_page_translation_version ADD is_done TINYINT(1) DEFAULT '0' NOT NULL"    }}}  	pulse00
3	10037	call_user_func expects parameter 1 to be a valid callback	other	1.4.16		defect	fabien	1338663889	1348033406	  The example code just above the Summary chapter does not work on symfony 1.4.18:    {{{  <p>Hello, <?php echo $sf_params->get('name', 'John Doe') ?>!</p>  }}}    The error is:  {{{  Hello, Warning: call_user_func() expects parameter 1 to be a valid callback, function 'John Doe' not found or invalid function name in /var/www/sfproject/lib/vendor/symfony-1.4.18/lib/escaper/sfOutputEscaper.class.php on line 92 !  }}}  	hfmanson
3	10049	Option --trace is not documented in  ./symfony help project:deploy	tasks	1.4.19		defect	trend	1342107772	1342442048	Easy to fix and marked as MAJOR because it really is annoying, if you want to set up rsync-exlude properyl and are tapping in the dark ... until one studies source code ...	zevero
3	5538	Many search boxes on symfony website do not work correctly	website	1.2.0		documentation	fabien	1231190148	1265371320	Google tries to search    * http://www.symfony-project.org/jobeet/1_2/en/ while the code is available under    * http://www.symfony-project.org/jobeet/1_2/Propel/en/	Erik.Itland
3	8826	Jobeet tutorial day 14 - url_for lacks '@' in route	jobeet	1.4.5		documentation	fabien	1278071280	1291160744	In the source code as given in the Jobeet tutorial on day 14, a link is crated with   url_for('homepage', true)  This should be   url_for('@homepage', true).  Without the '@', the source does not work correctly, and renders the error 'Warning: array_merge() [<a href='function.array-merge'>function.array-merge</a>]: Argument #2 is not an array in C:\wamp\www\jobeet\lib\vendor\symfony\lib\helper\UrlHelper.php on line 81'    This is the given source code:     <!-- apps/frontend/modules/job/templates/indexSuccess.atom.php -->   <title>Jobeet</title>[[BR]]   <subtitle>Latest Jobs</subtitle>[[BR]]   <link href="<?php echo url_for('job', array('sf_format' => 'atom'), true) ?>" rel="self"/>[[BR]]   <link href="<?php echo url_for('homepage', true) ?>"/>[[BR]]   <updated><?php echo gmstrftime('%Y-%m-%dT%H:%M:%SZ', JobeetJobPeer::getLatestPost()->getCreatedAt('U')) ?></updated>[[BR]]   <author>[[BR]]   <name>Jobeet</name>[[BR]]   </author>[[BR]]   <id><?php echo sha1(url_for('job', array('sf_format' => 'atom'), true)) ?></id>  	annemarie.zuydweg
3	3711	[PATCH] Generator fails to find generator.yml a in module	generator	1.0.16	1.0.18	defect	fabien	1213023729	1226662694	'''There is an error in sfGeneratorConfigHandler.class.php. In some cases when we have cleared the cache we get symfony exception that regards to generator.yml file parse. Generator takes the original symfony generator.yml file (/data/symfony/generator/...) instead of the file in our module.'''    Here is this error stack trace:    ( ! ) Notice: Undefined offset: 1 in /home/sowodzin/workspace/dhcp_intruder/lib/symfony/config/sfGeneratorConfigHandler.class.php on line 70  Call Stack  #_Time_Memory_Function_Location  1_0.0006_60520_{main}( )_../frontend_dev.php:0  2_0.2586_3171780_sfFrontWebController->dispatch( )_../frontend_dev.php:10  3_0.2604_3192836_sfController->forward( )_../sfFrontWebController.class.php:48  4_0.2606_3193208_sfConfigCache->import( )_../sfController.class.php:194  5_0.2606_3193208_sfConfigCache->checkConfig( )_../sfConfigCache.class.php:248  6_0.2614_3194216_sfConfigCache->callHandler( )_../sfConfigCache.class.php:190  7_0.2925_3712552_sfGeneratorConfigHandler->execute( )_../sfConfigCache.class.php:103    ( ! ) Warning: Cannot modify header information - headers already sent by (output started at /home/sowodzin/workspace/dhcp_intruder/lib/symfony/config/sfGeneratorConfigHandler.class.php:70) in /home/sowodzin/workspace/dhcp_intruder/lib/symfony/exception/sfException.class.php on line 101  Call Stack  #_Time_Memory_Function_Location  1_0.0006_60520_{main}( )_../frontend_dev.php:0  2_0.2586_3171780_sfFrontWebController->dispatch( )_../frontend_dev.php:10  3_0.3581_4209932_sfException->printStackTrace( )_../sfFrontWebController.class.php:57  4_0.3582_4209932_header ( )_../sfException.class.php:101  [sfParseException]  You must specify a "moduleName"  stack trace        * at ()        in SF_ROOT_DIR/lib/symfony/generator/sfCrudGenerator.class.php line 52 ...                49.         $error = 'You must specify a "%s"';                50.         $error = sprintf($error, $entry);                51.                52.         throw new sfParseException($error);                53.       }                54.     }    55.      * at sfCrudGenerator->generate(array('model_class' => 'Host', 'theme' => 'default', array('title' => 'Hosts list', array('=host_name', '_host_mac', 'vlan', 'host_ip', 'host_description', 'host_type', 'created_at'), array(array('name' => 'Name'), array('name' => 'Virtual LAN'), array('name' => 'Host type'), array('name' => 'MAC'), array('name' => 'IP'), array('name' => 'Description')), array(array(null), array(null)), array('host_name', 'host_mac', '_vlan', 'host_ip', 'host_description'), 'max_per_page' => '50', array(array(null), array('name' => 'export data', 'action' => 'exportData'))), array('title' => 'Edit host', array('host_name', 'vlan_vlan_id', 'host_type_host_type_id', 'host_mac', 'host_ip4', 'host_description'), array(array('name' => 'Name', 'type' => 'input_tag', 'params' => 'size=50'), array('name' => 'Virtual LAN', 'params' => 'include_custom=Wybierz'), array('name' => 'Host type'), array('name' => 'MAC', 'help' => 'np. c8a1c6d6ff11', 'type' => 'input_tag', 'params' => 'size=12'), array('name' => 'IP4', 'help' => 'przy dodawaniu nowego w polu jest wpisany pierwszy wolny IP', 'type' => 'input_tag', 'params' => 'size=3'), array('name' => 'Description', 'type' => 'input_tag', 'params' => 'size=100')), array(array(null), array(null), array(null), array(null), array(null))), null))        in SF_ROOT_DIR/lib/symfony/generator/sfGeneratorManager.class.php line 55 ...                52.   {                53.     $generator = new $generator_class();                54.     $generator->initialize($this);                55.     $data = $generator->generate($param);                56.                57.     return $data;                58.   }      * at sfGeneratorManager->generate('sfPropelAdminGenerator', array('model_class' => 'Host', 'theme' => 'default', array('title' => 'Hosts list', array('=host_name', '_host_mac', 'vlan', 'host_ip', 'host_description', 'host_type', 'created_at'), array(array('name' => 'Name'), array('name' => 'Virtual LAN'), array('name' => 'Host type'), array('name' => 'MAC'), array('name' => 'IP'), array('name' => 'Description')), array(array(null), array(null)), array('host_name', 'host_mac', '_vlan', 'host_ip', 'host_description'), 'max_per_page' => '50', array(array(null), array('name' => 'export data', 'action' => 'exportData'))), array('title' => 'Edit host', array('host_name', 'vlan_vlan_id', 'host_type_host_type_id', 'host_mac', 'host_ip4', 'host_description'), array(array('name' => 'Name', 'type' => 'input_tag', 'params' => 'size=50'), array('name' => 'Virtual LAN', 'params' => 'include_custom=Wybierz'), array('name' => 'Host type'), array('name' => 'MAC', 'help' => 'np. c8a1c6d6ff11', 'type' => 'input_tag', 'params' => 'size=12'), array('name' => 'IP4', 'help' => 'przy dodawaniu nowego w polu jest wpisany pierwszy wolny IP', 'type' => 'input_tag', 'params' => 'size=3'), array('name' => 'Description', 'type' => 'input_tag', 'params' => 'size=100')), array(array(null), array(null), array(null), array(null), array(null))), null))        in SF_ROOT_DIR/lib/symfony/config/sfGeneratorConfigHandler.class.php line 72 ...                69.     preg_match('#.*/'.sfConfig::get('sf_app_module_dir_name').'/([^/]+)/#', $configFiles[0], $match);                70.     $generatorParam['moduleName'] = $match[1];                71.                72.     $data = $generatorManager->generate($config['class'], $generatorParam);                73.                74.     // compile data                75.     $retval = "<?php\n".      * at sfGeneratorConfigHandler->execute(array('/home/sowodzin/workspace/dhcp_intruder/config/../data/symfony/config/generator.yml', '/home/sowodzin/workspace/dhcp_intruder/apps/frontend/modules/host/config/generator.yml'))        in SF_ROOT_DIR/lib/symfony/config/sfConfigCache.class.php line 103 ...               100.     if ($handlerToCall)               101.     {               102.       // call the handler and retrieve the cache data               103.       $data = $handlerToCall->execute($configs);               104.               105.       $this->writeCacheFile($handler, $cache, $data);               106.     }      * at sfConfigCache->callHandler('modules/host/config/generator.yml', array('/home/sowodzin/workspace/dhcp_intruder/config/../data/symfony/config/generator.yml', '/home/sowodzin/workspace/dhcp_intruder/apps/frontend/modules/host/config/generator.yml'), '/home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/config/modules_host_config_generator.yml.php')        in SF_ROOT_DIR/lib/symfony/config/sfConfigCache.class.php line 190 ...               187.     if (!is_readable($cache) || $mtime > filemtime($cache))               188.     {               189.       // configuration has changed so we need to reparse it               190.       $this->callHandler($configPath, $files, $cache);               191.               192.       // clear process cache               193.       if ('config/config_handlers.yml' != $configPath && sfConfig::get('sf_use_process_cache') && !$process_cache_cleared)      * at sfConfigCache->checkConfig('modules/host/config/generator.yml', '1')        in SF_ROOT_DIR/lib/symfony/config/sfConfigCache.class.php line 248 ...               245.    */               246.   public function import($config, $once = true, $optional = false)               247.   {               248.     $cache = $this->checkConfig($config, $optional);               249.               250.     if ($optional && !$cache)               251.     {      * at sfConfigCache->import('modules/host/config/generator.yml', '1', '1')        in SF_ROOT_DIR/lib/symfony/controller/sfController.class.php line 194 ...               191.     }               192.               193.     // check for a module generator config file               194.     sfConfigCache::getInstance()->import(sfConfig::get('sf_app_module_dir_name').'/'.$moduleName.'/'.sfConfig::get('sf_app_module_config_dir_name').'/generator.yml', true, true);               195.               196.     if (!$this->actionExists($moduleName, $actionName))               197.     {      * at sfController->forward('host', 'list')        in SF_ROOT_DIR/lib/symfony/controller/sfFrontWebController.class.php line 48 ...                45.       $actionName = $request->getParameter('action');                46.                47.       // make the first request                48.       $this->forward($moduleName, $actionName);                49.     }                50.     catch (sfException $e)                51.     {      * at sfFrontWebController->dispatch()        in SF_ROOT_DIR/web/frontend_dev.php line 10 ...                 7.                 8. require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');                 9.                10. sfContext::getInstance()->getController()->dispatch();  11.    symfony settings ...    ---  sf_admin_web_dir: /sf/sf_admin  sf_app: frontend  sf_app_config_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend/config  sf_app_config_dir_name: config  sf_app_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend  sf_app_i18n_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend/i18n  sf_app_i18n_dir_name: i18n  sf_app_lib_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend/lib  sf_app_lib_dir_name: lib  sf_app_module_action_dir_name: actions  sf_app_module_config_dir_name: config  sf_app_module_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend/modules  sf_app_module_dir_name: modules  sf_app_module_i18n_dir_name: i18n  sf_app_module_lib_dir_name: lib  sf_app_module_template_dir_name: templates  sf_app_module_validate_dir_name: validate  sf_app_module_view_dir_name: views  sf_app_template_dir: /home/sowodzin/workspace/dhcp_intruder/apps/frontend/templates  sf_app_template_dir_name: templates  sf_apps_dir_name: apps  sf_autoloading_functions:   sf_available: 1  sf_base_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend  sf_bin_dir: /home/sowodzin/workspace/dhcp_intruder/batch  sf_bin_dir_name: batch  sf_cache:   sf_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev  sf_cache_dir_name: cache  sf_calendar_web_dir: /sf/calendar  sf_charset: utf-8  sf_check_lock:   sf_check_symfony_version:   sf_compressed:   sf_config_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/config  sf_config_dir: /home/sowodzin/workspace/dhcp_intruder/config  sf_config_dir_name: config  sf_data_dir: /home/sowodzin/workspace/dhcp_intruder/data  sf_data_dir_name: data  sf_debug: 1  sf_default_action: index  sf_default_module: default  sf_doc_dir: /home/sowodzin/workspace/dhcp_intruder/data/doc  sf_doc_dir_name: doc  sf_enabled_modules:     - default    - sfGuardGroup    - sfGuardUser    - sfGuardPermission    - sfGuardAuth  sf_environment: dev  sf_error_404_action: error404  sf_error_404_module: default  sf_error_reporting: 4095  sf_escaping_method: ESC_ENTITIES  sf_escaping_strategy: bc  sf_etag:   sf_i18n: 1  sf_i18n_cache: 1  sf_i18n_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/i18n  sf_i18n_debug:   sf_i18n_default_culture: en_GB  sf_i18n_source: XLIFF  sf_i18n_untranslated_prefix: [T]  sf_i18n_untranslated_suffix: [/T]  sf_lib_dir: /home/sowodzin/workspace/dhcp_intruder/lib  sf_lib_dir_name: lib  sf_log_dir: /home/sowodzin/workspace/dhcp_intruder/log  sf_log_dir_name: log  sf_logging_enabled: 1  sf_logging_history: 10  sf_logging_level: debug  sf_logging_period: 7  sf_logging_purge: 1  sf_logging_rotate:   sf_login_action: signin  sf_login_module: sfGuardAuth  sf_max_forwards: 5  sf_model_dir_name: model  sf_model_lib_dir: /home/sowodzin/workspace/dhcp_intruder/lib/model  sf_module_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/modules  sf_module_disabled_action: disabled  sf_module_disabled_module: default  sf_no_script_name:   sf_orm: propel  sf_path_info_array: SERVER  sf_path_info_key: PATH_INFO  sf_plugins_dir: /home/sowodzin/workspace/dhcp_intruder/plugins  sf_plugins_dir_name: plugins  sf_prototype_web_dir: /sf/prototype  sf_rich_text_js_dir: js/tiny_mce  sf_root_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache  sf_root_dir: /home/sowodzin/workspace/dhcp_intruder  sf_routing_defaults:     sf_culture: en_GB  sf_secure_action: secure  sf_secure_module: sfGuardAuth  sf_standard_helpers:     - Partial    - Cache    - Form  sf_strip_comments: 1  sf_suffix: .  sf_symfony_data_dir: /home/sowodzin/workspace/dhcp_intruder/config/../data/symfony  sf_symfony_lib_dir: /home/sowodzin/workspace/dhcp_intruder/config/../lib/symfony  sf_template_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/template  sf_test:   sf_test_cache_dir: /home/sowodzin/workspace/dhcp_intruder/cache/frontend/dev/test  sf_test_dir: /home/sowodzin/workspace/dhcp_intruder/test  sf_test_dir_name: test  sf_timeout: 1800  sf_timer_start: 1213022411.46  sf_unavailable_action: unavailable  sf_unavailable_module: default  sf_upload_dir: /home/sowodzin/workspace/dhcp_intruder/web/uploads  sf_upload_dir_name: uploads  sf_url_format: PATH  sf_use_database: 1  sf_use_flash: 1  sf_use_process_cache: 1  sf_use_security: 1  sf_validation_error_class: form_error  sf_validation_error_id_prefix: error_for_  sf_validation_error_prefix:  ↓   sf_validation_error_suffix:   ↓  sf_web_debug: 1  sf_web_debug_web_dir: /sf/sf_web_debug  sf_web_dir: /home/sowodzin/workspace/dhcp_intruder/web  sf_web_dir_name: web    request ...    ---  parameterHolder:     symfony/default:       action: list      module: host  attributeHolder:     symfony/default:     response ...    ---  cookies:   httpHeaders:   parameterHolder:     global vars ...    ---  cookie:     KTRADMIN: e3292c32eebf74067d8bb2ea68f36799    KTRSESSION: a6dafb5829fa5799ce63314d4fcd9c68    MANTIS_PROJECT_COOKIE: 18    MANTIS_VIEW_ALL_COOKIE: 170    ktr_admin_left_menu: 1    symfony: ff9c67b3a5010e50eaad9b78eee82c94  env:     APACHE_PID_FILE: /var/run/apache2.pid    APACHE_RUN_GROUP: www-data    APACHE_RUN_USER: www-data    LANG: C    PATH: /usr/local/bin:/usr/bin:/bin    PWD: /home/sowodzin/workspace/dhcp_intruder  files:   get:   post:   server:     DOCUMENT_ROOT: /var/www/    GATEWAY_INTERFACE: CGI/1.1    HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8    HTTP_ACCEPT_CHARSET: ISO-8859-2,utf-8;q=0.7,*;q=0.7    HTTP_ACCEPT_ENCODING: gzip,deflate    HTTP_ACCEPT_LANGUAGE: pl,en-us;q=0.7,en;q=0.3    HTTP_CONNECTION: keep-alive    HTTP_COOKIE: MANTIS_PROJECT_COOKIE=18; MANTIS_VIEW_ALL_COOKIE=170; ktr_admin_left_menu=1; symfony=ff9c67b3a5010e50eaad9b78eee82c94; KTRADMIN=e3292c32eebf74067d8bb2ea68f36799; KTRSESSION=a6dafb5829fa5799ce63314d4fcd9c68    HTTP_HOST: localhost    HTTP_KEEP_ALIVE: 300    HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5    PATH: /usr/local/bin:/usr/bin:/bin    PHP_SELF: /~sowodzin/dhcp_intruder/web/frontend_dev.php    QUERY_STRING:     REMOTE_ADDR: 127.0.0.1    REMOTE_PORT: 50576    REQUEST_METHOD: GET    REQUEST_TIME: 1213022411    REQUEST_URI: /~sowodzin/dhcp_intruder/web/frontend_dev.php    SCRIPT_FILENAME: /home/sowodzin/workspace/dhcp_intruder/web/frontend_dev.php    SCRIPT_NAME: /~sowodzin/dhcp_intruder/web/frontend_dev.php    SERVER_ADDR: 127.0.0.1    SERVER_ADMIN: webmaster@localhost    SERVER_NAME: localhost    SERVER_PORT: 80    SERVER_PROTOCOL: HTTP/1.1    SERVER_SIGNATURE: |        Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.1 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g Server at localhost Port 80            SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.1 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g    argc: 0    argv:   session:     symfony/user/sfUser/attributes:     symfony/user/sfUser/authenticated:     symfony/user/sfUser/credentials:     symfony/user/sfUser/culture: en_GB    symfony/user/sfUser/lastRequest: 1213022410    symfony v.1.0.16 - php 5.2.4-2ubuntu5.1  for help resolving this issue, please visit http://www.symfony-project.org/.  	suntrix
3	4935	[PATCH] Duplicate database record with new Admin + Doctrine	sfDoctrinePlugin		1.4.11	defect	Jonathan.Wage	1226609852	1307389997	Hi,    When a form is embedded, the embedded model representation is saved twice: one via fromArray(), that automatically hydrates related components, and another time via saveEmbeddedForm. That's because no check is done, and embedded forms are automatically saved in cascade.    It's tested and it's working for me..    Cedric  	cedsadai
3	8507	[PATCH] Symfony Deployment on Windows - BUG	tasks	1.4.3	1.4.11	defect	fabien	1270572603	1271273003	i found a bug in the symfony's deployment system - version 1.3 and 1.4 - that occurs only on Windows environment.     Starting from version 1.3 the sfFileSystem Class began to use the proc_open() function instead the passthru() function in symfony 1.2. See: sfFilesystem.class.php    You can try to reproduce this error deploying a project enabling the '''"--progress"''' argument (rsync). Some times, the STDERR stream of the proc_open() is filled and it causes a freeze in the STDOUT stream that consequently generates a infinity loop on Windows.    This problem can be fixed changing the pipe access mode from "w" to "a" - see the line 291 of sfFilesystem.class.php. Explaining: In the "w mode" the pointer is placed at the beginning of the file. In the "a mode" the pointer is placed at the end of the file. It seems that the proc_open() can't read the pipe STDOUT when the STDERR is filled because the pointer is placed at the beginning of the file. The solution then is place the pointer at the end of the file.  Note that this problem is a PHP issue.    Again, this only occurs on Windows. Well, it would be nice if this correction was fixed in the next release.      I'm sending the sfFilesystem.class.php fixed.        Please, write me if you have any questions. 	aflavio
3	8343	[sf1.4] The last release is not compatible	sfPropelActAsSluggableBehaviorPlugin	1.4.2	plugins	defect	Guillermo.Rauch	1267120145	1267120145	Hi, the lat one doesn't work ith sf1.4 to correct this one youve just to :    add in propel.ini propel.behavior.sluggable.class = plugins.sfPropelActAsSluggableBehaviorPlugin.lib.sfPropelActAsSluggable for the doc    Into the schema.yml :      _propel_behaviors:        sluggable:           from: titre          to: alias          permanent: true      And create sfPropelActAsSluggable.php in lib with the next code (see file)    	lombardot
3	7963	[PATCH][TEST]Add sfWidgetPlain.class.php to sfFormExtraPlugin	sfFormExtraPlugin	1.3.0	plugins	enhancement	Kris.Wallsmith	1261349156	1303507357	The attached patch provides a class which intends to give a clean solution to a problem which has been in the framework since 1.1 when the new form framework was introduced and the functionality of type: plain was lost in the admin generator.    Much more on this topic can be found in Ticket #5296	Stephen.Ostrow
4	6321	Form submitted via sfTestBrowser contains "Submit" button as a parameter even if it has no name	tests	1.2.2		defect	fabien	1240348929	1241005869	Using an sfForm which does not accept any parameters that it does not expect I uncovered the following:    {{{  Unexpected extra form field named "".  }}}    Debugging how sfTestBrowser differed from my own browser I found that it contained one more parameter:    {{{  Array  (      [transaction_id] => 457      [transaction_info] => Test      [] => Submit  )  }}}    Apparently the submit button is sent as the nameless parameter with the value "Submit". Is this expected behavior?	oak
4	6722	sfPatternRouting generates invalid long URLs with optional/null parameters	routing	1.2.7		defect	fabien	1246373483	1277741250	sfPatternRouting will generate an invalid URL when the option {{{generate_shortest_url}}} is set to {{{true}}} and the trailing parameter defaults to null or an empty string. Consider the following route:  {{{  failing_route:    url: /foo/:arg1/:arg2    param: { module: default, action: test, arg1: 'something', arg2: '' }    options: { generate_shortest_url: false }  }}}    Calling {{{sfPatternRouting::generate('failing_route', array())}}} will return:    /foo/something/    which is an invalid URL in symfony due to the trailing slash.    	jeremy
4	6828	[PATCH] translate global errors	i18n	1.2.7		defect	fabien	1247343674	1247345118		gimler
4	6843	[PATCH] Test results not TAP friendly	lime	1.4.x DEV		defect	fabien	1247646741	1259740999	Hi, i'm trying to reuse the output of the test:unit command of symfony,   but lime add a dubious line at the end of the test.    Like :   Looks like everything went fine.    But in tap protocol, it is a unknown output and should not be.    It should normaly start with a #    the modifications for this should not be huge, i'll try to add a patch soon    thanks	eMerzh
4	6854	Lime claim everything went fine when there is a fatal error	lime	1.4.x DEV		defect	fabien	1247754871	1264789183	Hi ...   in a functional test, i had a traceback for calling a method on a non object   but lime still claim that "Looks like everything went fine."    when a fatal error occurs it souldn't say "All right!".    To reproduce:     {{{    include(dirname(__FILE__).'/../../bootstrap/functional.php');     $browser = new sfTestFunctional(new sfBrowser());  $a->brol()    }}}    shows the ok message.	eMerzh
4	7993	Jobeet 1.4 Doctrine Day 3 Insert-sql error	sfDoctrinePlugin	1.4.1		defect	jwage	1261643528	1267449355	When running the Jobeet Tutorial on Day 3 (The ORM) it says to run the following command:    $ php symfony doctrine:insert-sql --no-confirmation    but when I do this I get the message:    The execution of task "doctrine:insert-sql" failed. - The "--no-confirmation" option does not exist.    Th "No Conformation" option does however work for doctrine:build.  Is this a bug in the tutorial?	acormack
4	6600	Searching for newest job not using adequate algorithm?	jobeet	1.2.6		documentation	ringhio *	1244506684	1249459480	The class and its function below, only sort on the timestamp of created_at. Since they are all created at the same time using the fixture class, they all have the same timestamp. When the tests are called, AS PER THE SQL STANDARD, there is no guarantee of any order on any other column if the 'ordered by' column values are all the same.     I believe this is the reason why the Day 09 tutorial always gets some kind of error. It may also be something to do with my using PostgreSQL and the use of SEQUENCES for the ID columns not being taken into account for when the database is reset prior to the test.    Anyway, the function below should sort on the company name perhaps, to give a more guaranteed consistent order: (I tried putting a ORDER....DECENDING criteria in the list, but it rejects it as not being in the SELECT clause)    // lib/model/JobeetCategoryPeer.php  class JobeetCategoryPeer extends BaseJobeetCategoryPeer  {    static public function getWithJobs()    {      $criteria = new Criteria();      $criteria->addJoin(self::ID, JobeetJobPeer::CATEGORY_ID);      $criteria->add(JobeetJobPeer::EXPIRES_AT, time(), Criteria::GREATER_THAN);      $criteria->setDistinct();         return self::doSelect($criteria);    }  } 	gearond
4	6958	Jobeet functional test jobActions 1.4 error	jobeet	1.2.8		documentation	fabien	1249371964	1265370939	The 1.4 test on jobActions requires the getMostRecentProgrammingJob() from the $browser, and then it checks the 'company-slug' to be 'sensio-lab'. But, since new jobs are created with the fixtures, the most recent programming job is one with the 'company-###' slug.	Beo
4	7151	PDF Output of the book broken with tags	other			documentation	fabien	1252849611	1265283718	There are code blocks, like the ones from chapter 7 that get broken in the PDF version:    {{{      // In the template      <?php use_stylesheet('paper', '', array('media' => 'print')) ?>  }}}    the output is:  {{{      // In the template       'print')) ?>  }}}    I suspect that there is a preprocessor filtering out <?php ..... > blocks	FabianLange
4	7356	[Patch] Fixtures created YES have a 'expires_at' value	jobeet	1.2.8		documentation	fabien	1255600738	1258409667	Url: http://www.symfony-project.org/jobeet/1_2/Doctrine/en/06    Text:     But if you remember the database schema we have described during day 3, we also have defined an expires_at column. Currently this value is always empty as it is not set in the fixture data. But when a job is created, it can be automatically set to 30 days after the current date.    Proposed text:    But if you remember the database schema we have described during day 3, we also have defined an expires_at column. When a job is created, it can be automatically set to 30 days after the current date.     Explanation:    In the chapter 3 (http://www.symfony-project.org/jobeet/1_2/Doctrine/en/03) we did establish a value of the 'expires_at' field for the sample fixture data:    # data/fixtures/categories.yml  JobeetCategory:    design:      name: Design    programming:      name: Programming    manager:      name: Manager    administrator:      name: Administrator     # data/fixtures/jobs.yml  JobeetJob:    job_sensio_labs:      JobeetCategory: programming      type:         full-time      company:      Sensio Labs      logo:         sensio-labs.gif      url:          http://www.sensiolabs.com/      position:     Web Developer      location:     Paris, France      description:  |        You've already developed websites with symfony and you want to work        with Open-Source technologies. You have a minimum of 3 years        experience in web development with PHP or Java and you wish to        participate to development of Web 2.0 sites using the best        frameworks available.      how_to_apply: |        Send your resume to fabien.potencier [at] sensio.com      is_public:    true      is_activated: true      token:        job_sensio_labs      email:        job@example.com      expires_at:   '2010-10-10'       job_extreme_sensio:      JobeetCategory:  design      type:         part-time      company:      Extreme Sensio      logo:         extreme-sensio.gif      url:          http://www.extreme-sensio.com/      position:     Web Designer      location:     Paris, France      description:  |        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do        eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut        enim ad minim veniam, quis nostrud exercitation ullamco laboris        nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor        in reprehenderit in.           Voluptate velit esse cillum dolore eu fugiat nulla pariatur.        Excepteur sint occaecat cupidatat non proident, sunt in culpa        qui officia deserunt mollit anim id est laborum.      how_to_apply: |        Send your resume to fabien.potencier [at] sensio.com      is_public:    true      is_activated: true      token:        job_extreme_sensio      email:        job@example.com      expires_at:   '2010-10-10'	caraconan
4	7916	Error on index reference with accented character in label	other	1.4.1		documentation	fabien	1260863378	1273219211	See http://www.symfony-project.org/jobeet/1_4/Propel/it/03#chapter_03_lo_schema in the last note (near the end of paragraph), the reference for ~comportamento|Vincoli di integrità~ is not handled correctly.  I assume it's a matter of accented character.	garak
4	7955	French version of Reference book - links not working	website	1.4.1		documentation	fabien	1261222245	1265540161	I don't understand why the link doesn't work for 3 sections :    1°) whats-new[[BR]]    2°) upgrade[[BR]]    3°) deprecated[[BR]]      see : http://www.symfony-project.org/reference/1_4/fr/    thanks	forresst
4	8136	Defect on signup page	website	1.4.1		documentation	fabien	1263850207	1265540590	Hi,    On the signup confirmation page:    http://www.symfony-project.org/user/welcome    it says:    "Thanks for signin up"    instead of:    "Thanks for signing up"    Thanks,    Chris	litotes
4	8223	api documentation missing sfTestFunctional	tests	1.4.1		documentation	fabien	1265279647	1265913351	  http://www.symfony-project.org/api/1_4/sfTestFunctional    Is this intentional?      Although, sfBrowser exists, are there any other test classes which should be included also?	hal
4	8381	[PATCH] Documentation mistake in Template Engine Component	templating			documentation	fabien	1267891199	1268215921	At [http://components.symfony-project.org/templating/trunk/book/02-Templating], section Slots, the last snippet about avoiding code duplication, the first line should be <?php $this->start('pagination') ?> rather than <?php $this->start('pagination_bar') ?>	passkey1510
4	4700	new Widget sfWidgetFormTextareaFCKEditor	sfFormExtraPlugin			enhancement	fabien	1224325286	1226178354	This is the second richtext editor for sfForm.	dreeh
4	6305	[PATCH] Widget formatter to generate forms as definition lists	sfFormExtraPlugin	1.2.5		enhancement	fabien	1240015466	1240015466	I have created a widget formatter that can be used to generate your forms as xhtml standard conform defintion lists and considered the sfFormExtraPlugin to be a good place for it.	DennisBenkert
4	6422	[PATCH] add sfValidatorEmailDomainBlacklist	sfFormExtraPlugin	1.2.7		enhancement	fabien	1241704251	1260825187	it checks if a email domain is on blacklist.    add domain list to your app.yml:  {{{  all:    register:      domain_blacklist:        - spambog.com        - spambog.de        - discardmail.com        - discardmail.de        - spambog.ru        - cust.in        - imails.info        - great-host.in        - teewars.org        - kulturbetrieb.info        - mt2009.com        - bio-muesli.net        - bio-muesli.info        - 0815.ru        - sandelf.de        - recode.me        - 3d-painting.com        - nomail2me.com        - bsnow.net  }}}  in your form:  {{{  new sfValidatorEmailDomainBlacklist(array(   'blacklist' => sfConfig::get('app_register_domain_blacklist')  ), array(   'blacklisted' => 'email_address_blacklisted'  ));  }}}	gimler
4	6584	sfValidatorDecimal	sfFormExtraPlugin	1.2.7		enhancement	fabien	1244192845	1244193593	I coded a validator for decimal(X,Y) type. the validator class + unit test are attached.  Would it be possible to include it in sfFormExtraPlugin ?  	jerome.etienne
4	7073	[PATCH] Tag suggestion widget	sfFormExtraPlugin	1.2.8		enhancement	fabien	1251225462	1251225504	A tag suggestion widget:    * The widget: http://github.com/dunglas/piy/blob/45f7ff3fe41f12dc17cbf706a0c16425110dbf32/plugins/sfFormExtraPlugin/lib/widget/sfWidgetFormJQueryTagSuggestion.class.php    * The javascript (Remy Sharp jQuery plugin): http://github.com/dunglas/piy/tree/45f7ff3fe41f12dc17cbf706a0c16425110dbf32/plugins/sfFormExtraPlugin/web/css/tag.css    * The CSS: http://github.com/dunglas/piy/tree/45f7ff3fe41f12dc17cbf706a0c16425110dbf32/plugins/sfFormExtraPlugin/web/css/tag.css    Doc and screenshot: http://lapin-blanc.net/25/08/2009/tag-suggestion-form-widget-symfony/	keyes
4	8227	New trac report to assist contributors	website	1.4.1		enhancement	fabien	1265303305	1265540726	Hi there  Would someone with admin rights to trac please write a new report, that allows contributors to list only the open tickets which they have replied to?    Sometimes I reply to a ticket, but have no way of finding the comment I made again, to follow it up. I realise that you can use cc, but this is easy to forget, and if you do, then there is nothing else you can do except going manually searching for it.    This would be a really useful feature that would enhance usability considerably.      This code could be used as a starting point for writing the query:  {{{  SELECT __group__, ticket, component, milestone, type, summary,    newvalue as added, time as datetime  FROM (    SELECT author as __group__, t.id as ticket, summary,      t.type AS type, component, milestone,      CASE WHEN newvalue = '' OR newvalue IS NULL THEN 0           ELSE CAST( newvalue AS FLOAT ) END as newvalue,      ticket_change.time as time    FROM ticket_change    JOIN ticket t on t.id = ticket_change.ticket    LEFT JOIN ticket_custom as billable on billable.ticket = t.id      and billable.name = 'billable'    WHERE field = 'hours' and        t.status IN ('assigned', 'accepted', 'closed', 'new', 'reopened')        AND ticket_change.time >= $STARTDATE        AND ticket_change.time < $ENDDATE        AND newvalue != 0  ) as tbl  ORDER BY __group__, time  }}}      This is the advice I had from a kind chap on freenode #trac:  {{{  <Morbus> oh, you could probably do it with a custom sql query, perhaps.  <Morbus> i might be able to give you a starting query to modify. hold. (see above)  <Morbus> this is based on the timing and estimation plugin.  <Morbus> when someone adds hours to a ticket, it gets represented as a trac ticket comment.  <Morbus> (here, represented as the join on ticket_custom with field hours)  <Morbus> in your case, i bet you could a) change ticket_custom to ticket_change, b) change field hours to field comment.  <Morbus> but pretty sure it'd be possible  }}}      Thanks  Hal	hal
4	8475	[sfFormExtraPlugin] new Widget - sfWidgetFormPropelSelectDoubleList	sfFormExtraPlugin	1.4.3		enhancement	fabien	1269938681	1269938681	Hello,    I propose you to add this widget. It depends to sfWidgetFormSelectDoubleList include in sfFormExtraPlugin and permit to use a propel model for choices list    	lombardot
4	8738	[PATCH] New filter widget for date/number ranges using a single select - sfWidgetFormFilterRangeList	sfFormExtraPlugin	1.4.5		enhancement	fabien	1275987121	1275987121	Default filter widgets for dates are a pain to use: entering a date needs six clicks (one to open each select box, one to select the correct option), entering a date range needs twelve clicks.    Of course, there is the Javascript DatePicker alternative, but it is not a standard browser form input, and is sometimes overkill.    I noticed that most of the time, date filter widgets are used to filter results using one range in a list of prediefined ones, like this:     - last week   - last month   - last three months   - last year   - older than a year    A better alternative to the current sfWidgetFormFilterDate  would be a single dropdown list offering these options, and dealing with 'to' and 'from' hidden form inputs on its own.    The attached sfWidgetFormFilterRangeList does exatcly that. It uses no JS library, and has been tested on many browsers (including IE7).	francois
4	10062	[PATCH] sfWebRequest doesn't handle HTTP PATCH request method	other	1.4.10		enhancement	fabien	1344587242	1349434233	[1.4] added HTTP PATCH support to sfWebRequest/sfRequest	trend
4	6513	esc_js_no_entities breaks utf-8	helpers	1.2.7	1.4.11	defect	fabien	1242911445	1305282093	from ticket comment, needs to be verified and adressed	FabianLange
4	8421	better support for Doctrine behaviors in sfWidgetFormDoctrineChoice	sfDoctrinePlugin	1.4.3	1.4.11	defect	Kris.Wallsmith	1268664058	1269969321	Some Doctine behaviors come with their own model aka record classes, which obviously do not extend from symfony's base record class (for example Taggable). As a result they do not implement the getPrimaryKey() method. Obviously all uses of the sfWidgetFormDoctrineChoice widget could be customized, but this is tedious. As such I am proposing the inline the logic in getPrimaryKey() as a fallback if the getPrimayKey() method isnt implemented.    Jon looked at the patch and said it looks good.    Side note:  The default implementation of getPrimayKey() looks a bit weird to me. First of all the identifiers() method always returns an array so there is no need to cast. Furthermore I wonder in what situation it makes sense to only return the last column from the PK in case there is a multi column PK. As such it seems it would make more sense to do something like implode('|', $identifiers), then again this would then need to be parsed on submit. So the separator should maybe also be configurable.	lsmith
4	9067	sfWidgetFormSelectDoubleList arrow images not loaded	sfFormExtraPlugin	1.4.6	plugins	defect	fabien	1284385017	1304350210	This happens when the website root is different from / (root).	dcaravana
4	9477	processForm function not generating correctly in sfDoctrineModule generator	sfDoctrinePlugin		plugins	defect	Jonathan.Wage	1296988589	1299166971	When generating a new doctrine module, '''--with-doctrine-route''' option, and configuring the sfDoctrineRouteCollection '''column''' option to semething different than id, (slug for example), the url redirection after processForm is executed (redirects to edit) does not seem to generate correctly.    After sending the form, an InvalidArgumentException is raised: The "/editorial/:slug/edit.:sf_format" route has some missing mandatory parameters (:slug).    Exploring the sfDoctrineModule generator templates I found it's generated with:    {{{  $this->redirect('@<?php echo $this->getUrlForAction('edit') ?>?<?php echo $this->getPrimaryKeyUrlParams() ?>);  }}}    That generates the line:    {{{  $this->redirect('@editorial_edit?id='.$editorial->getId());  }}}    For it to work as expected I modified it to:    {{{  $this->redirect('<?php echo $this->getUrlForAction('edit') ?>', $<?php echo $this->getSingularName() ?>);  }}}    That generates the line:  {{{  $this->redirect('editorial_edit', $editorial);  }}}    Hope it helps, best regards.  	JoeCroqueta
