Author: ornicar2 Date: 2010-01-25 02:21:14 +0100 (Mon, 25 Jan 2010) New Revision: 27152
Added: plugins/dmContactPlugin/LICENSE plugins/dmContactPlugin/README plugins/dmContactPlugin/config/ plugins/dmContactPlugin/config/app.yml plugins/dmContactPlugin/config/dm/ plugins/dmContactPlugin/config/dm/modules.yml plugins/dmContactPlugin/config/doctrine/ plugins/dmContactPlugin/config/doctrine/schema.yml plugins/dmContactPlugin/lib/ plugins/dmContactPlugin/lib/filter/ plugins/dmContactPlugin/lib/filter/doctrine/ plugins/dmContactPlugin/lib/filter/doctrine/PluginDmContactFormFilter.class.php plugins/dmContactPlugin/lib/form/ plugins/dmContactPlugin/lib/form/doctrine/ plugins/dmContactPlugin/lib/form/doctrine/PluginDmContactForm.class.php plugins/dmContactPlugin/lib/model/ plugins/dmContactPlugin/lib/model/doctrine/ plugins/dmContactPlugin/lib/model/doctrine/PluginDmContact.class.php plugins/dmContactPlugin/lib/model/doctrine/PluginDmContactTable.class.php plugins/dmContactPlugin/modules/ plugins/dmContactPlugin/modules/dmContact/ plugins/dmContactPlugin/modules/dmContact/actions/ plugins/dmContactPlugin/modules/dmContact/actions/actions.class.php plugins/dmContactPlugin/modules/dmContact/actions/components.class.php plugins/dmContactPlugin/modules/dmContact/lib/ plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactActions.class.php plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactComponents.class.php plugins/dmContactPlugin/modules/dmContact/templates/ plugins/dmContactPlugin/modules/dmContact/templates/_form.php plugins/dmContactPlugin/modules/dmContactAdmin/ plugins/dmContactPlugin/modules/dmContactAdmin/actions/ plugins/dmContactPlugin/modules/dmContactAdmin/actions/actions.class.php plugins/dmContactPlugin/modules/dmContactAdmin/config/ plugins/dmContactPlugin/modules/dmContactAdmin/config/generator.yml plugins/dmContactPlugin/modules/dmContactAdmin/lib/ plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminExport.class.php plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminForm.php plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorConfiguration.class.php plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorHelper.class.php plugins/dmContactPlugin/modules/dmContactAdmin/templates/ Log: [Diem][dmContactPlugin] initial commit Added: plugins/dmContactPlugin/LICENSE =================================================================== --- plugins/dmContactPlugin/LICENSE (rev 0) +++ plugins/dmContactPlugin/LICENSE 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,19 @@ +Copyright (c) 2010 Thibault Duplessis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file Added: plugins/dmContactPlugin/README =================================================================== --- plugins/dmContactPlugin/README (rev 0) +++ plugins/dmContactPlugin/README 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +dmContentReaderPlugin +================= + +The `dmContentReaderPlugin` allows to display a typical contact form. +By default, contact requests sent with the form are stored in database. +The plugin packages a Diem front widget and an admin interface to manage contact requests. +Integrates recaptcha validation. +The plugin is fully extensible. Only works with [Diem 5.0](http://diem-project.org/) installed. + +Documentation +------------- + +See the online documentation : [Diem Contact plugin documentation](http://diem-project.org/plugins/dmcontactplugin) \ No newline at end of file Added: plugins/dmContactPlugin/config/app.yml =================================================================== --- plugins/dmContactPlugin/config/app.yml (rev 0) +++ plugins/dmContactPlugin/config/app.yml 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,6 @@ +all: + recaptcha: + # get your recaptcha keys on http://recaptcha.net/api/getkey + public_key: + private_key: + enabled: false \ No newline at end of file Added: plugins/dmContactPlugin/config/dm/modules.yml =================================================================== --- plugins/dmContactPlugin/config/dm/modules.yml (rev 0) +++ plugins/dmContactPlugin/config/dm/modules.yml 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,8 @@ +Project: + + Feedback: + + dmContact: + name: Contact + actions: + form: \ No newline at end of file Property changes on: plugins/dmContactPlugin/config/dm/modules.yml ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/config/doctrine/schema.yml =================================================================== --- plugins/dmContactPlugin/config/doctrine/schema.yml (rev 0) +++ plugins/dmContactPlugin/config/doctrine/schema.yml 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,6 @@ +DmContact: + actAs: [ Timestampable ] + columns: + name: { type: string(255), notnull: true } + email: { type: string(255), notnull: true } + body: { type: clob } \ No newline at end of file Property changes on: plugins/dmContactPlugin/config/doctrine/schema.yml ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/lib/filter/doctrine/PluginDmContactFormFilter.class.php =================================================================== --- plugins/dmContactPlugin/lib/filter/doctrine/PluginDmContactFormFilter.class.php (rev 0) +++ plugins/dmContactPlugin/lib/filter/doctrine/PluginDmContactFormFilter.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +<?php + +/** + * PluginDmContact form. + * + * @package ##PROJECT_NAME## + * @subpackage filter + * @author ##AUTHOR_NAME## + * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $ + */ +abstract class PluginDmContactFormFilter extends BaseDmContactFormFilter +{ +} Property changes on: plugins/dmContactPlugin/lib/filter/doctrine/PluginDmContactFormFilter.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/lib/form/doctrine/PluginDmContactForm.class.php =================================================================== --- plugins/dmContactPlugin/lib/form/doctrine/PluginDmContactForm.class.php (rev 0) +++ plugins/dmContactPlugin/lib/form/doctrine/PluginDmContactForm.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,56 @@ +<?php + +/** + * PluginDmContact form. + * + * This form uses the sfWidgetFormReCaptcha widget + * + * The ReCaptcha API documentation can be found at http://recaptcha.net/apidocs/captcha/ + * + * To be able to use this widget, you need an API key: http://recaptcha.net/api/getkey + * + * As it's not possible to change the name of ReCaptcha fields, you will have to add them manually + * when binding a form from an HTTP request. + * + * Here's a typical usage when embedding a captcha in a form with a contact[%s] name format: + * + * $captcha = array( + * 'recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), + * 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'), + * ); + * $this->form->bind(array_merge($request->getParameter('contact'), array('captcha' => $captcha))); + */ +abstract class PluginDmContactForm extends BaseDmContactForm +{ + public function setup() + { + parent::setup(); + + $this->validatorSchema['body'] + ->setOption('required', true) + ->setMessage('required', 'Please enter a message'); + + $this->changeToEmail('email'); + + if ($this->isCaptchaEnabled()) + { + $this->addCaptcha(); + } + } + + public function addCaptcha() + { + $this->widgetSchema['captcha'] = new sfWidgetFormReCaptcha(array( + 'public_key' => sfConfig::get('app_recaptcha_public_key') + )); + + $this->validatorSchema['captcha'] = new sfValidatorReCaptcha(array( + 'private_key' => sfConfig::get('app_recaptcha_private_key') + )); + } + + public function isCaptchaEnabled() + { + return sfConfig::get('app_recaptcha_enabled'); + } +} \ No newline at end of file Property changes on: plugins/dmContactPlugin/lib/form/doctrine/PluginDmContactForm.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/lib/model/doctrine/PluginDmContact.class.php =================================================================== --- plugins/dmContactPlugin/lib/model/doctrine/PluginDmContact.class.php (rev 0) +++ plugins/dmContactPlugin/lib/model/doctrine/PluginDmContact.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,16 @@ +<?php + +/** + * PluginDmContact + * + * This class has been auto-generated by the Doctrine ORM Framework + * + * @package ##PACKAGE## + * @subpackage ##SUBPACKAGE## + * @author ##NAME## <##EMAIL##> + * @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $ + */ +abstract class PluginDmContact extends BaseDmContact +{ + +} \ No newline at end of file Property changes on: plugins/dmContactPlugin/lib/model/doctrine/PluginDmContact.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/lib/model/doctrine/PluginDmContactTable.class.php =================================================================== --- plugins/dmContactPlugin/lib/model/doctrine/PluginDmContactTable.class.php (rev 0) +++ plugins/dmContactPlugin/lib/model/doctrine/PluginDmContactTable.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,7 @@ +<?php +/** + */ +class PluginDmContactTable extends myDoctrineTable +{ + +} \ No newline at end of file Property changes on: plugins/dmContactPlugin/lib/model/doctrine/PluginDmContactTable.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContact/actions/actions.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContact/actions/actions.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContact/actions/actions.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,11 @@ +<?php + +require_once realpath(dirname(__FILE__).'/..').'/lib/BasedmContactActions.class.php'; + +/** + * Contact actions + */ +class dmContactActions extends BasedmContactActions +{ + +} Property changes on: plugins/dmContactPlugin/modules/dmContact/actions/actions.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContact/actions/components.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContact/actions/components.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContact/actions/components.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +<?php + +require_once realpath(dirname(__FILE__).'/..').'/lib/BasedmContactComponents.class.php'; + +/** + * Contact components + * + * No redirection nor database manipulation ( insert, update, delete ) here + */ +class dmContactComponents extends BasedmContactComponents +{ + +} Property changes on: plugins/dmContactPlugin/modules/dmContact/actions/components.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactActions.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactActions.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactActions.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,37 @@ +<?php +/** + * Contact actions + */ +class BasedmContactActions extends myFrontModuleActions +{ + + public function executeFormWidget(dmWebRequest $request) + { + $form = $this->forms['DmContact']; + + if ($request->isMethod('post')) + { + $data = $request->getParameter($form->getName()); + + if($form->isCaptchaEnabled()) + { + $data = array_merge($data, array('captcha' => array( + 'recaptcha_challenge_field' => $request->getParameter('recaptcha_challenge_field'), + 'recaptcha_response_field' => $request->getParameter('recaptcha_response_field'), + ))); + } + + $form->bind($data); + + if ($form->isValid()) + { + $form->save(); + + $this->getUser()->setFlash('contact_form_valid', true); + + $this->redirectBack(); + } + } + } + +} \ No newline at end of file Added: plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactComponents.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactComponents.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContact/lib/BasedmContactComponents.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +<?php +/** + * Contact actions + */ +class BasedmContactComponents extends myFrontModuleComponents +{ + + public function executeForm() + { + $this->form = $this->forms['DmContact']; + } + +} \ No newline at end of file Added: plugins/dmContactPlugin/modules/dmContact/templates/_form.php =================================================================== --- plugins/dmContactPlugin/modules/dmContact/templates/_form.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContact/templates/_form.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,33 @@ +<?php +// Contact : Form +// Vars : $form + +if($sf_user->hasFlash('contact_form_valid')) +{ + echo £('p.form_valid', __('Thank you for your message.')); +} + +// open the form tag with a dm_contact_form css class +echo $form->open(); + +// write name label, field and error message +echo $form['name']->label()->field()->error(); + +// same with email +echo $form['email']->label()->field()->error(); + +echo $form['body']->label('Your message')->field(); + +// render captcha if enabled +if($form->isCaptchaEnabled()) +{ + echo $form['captcha']->label('Captcha', 'for=false')->field()->error(); +} + +echo $form->renderHiddenFields(); + +// change the submit button text +echo £('div.submit_wrap', $form->submit('Send')); + +// close the form tag +echo $form->close(); \ No newline at end of file Property changes on: plugins/dmContactPlugin/modules/dmContact/templates/_form.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/actions/actions.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/actions/actions.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/actions/actions.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,16 @@ +<?php + +require_once dirname(__FILE__).'/../lib/dmContactAdminGeneratorConfiguration.class.php'; +require_once dirname(__FILE__).'/../lib/dmContactAdminGeneratorHelper.class.php'; + +/** + * dmContactAdmin actions. + * + * @package retest + * @subpackage dmContactAdmin + * @author Your name here + * @version SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $ + */ +class dmContactAdminActions extends autoDmContactAdminActions +{ +} Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/actions/actions.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/config/generator.yml =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/config/generator.yml (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/config/generator.yml 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,40 @@ +generator: + class: dmAdminDoctrineGenerator + param: + model_class: DmContact + theme: dmAdmin + non_verbose_templates: true + with_show: false + route_prefix: dm_contact + with_doctrine_route: false + config: + actions: ~ + fields: { } + list: + display: + - '=name' + - email + - body + - created_at + - updated_at + sort: + - created_at + - desc + table_method: getAdminListQuery + table_count_method: ~ + filter: + display: + - name + - email + - body + - created_at + - updated_at + form: + display: + NONE: [name, email] + Body: [body] + class: DmContactAdminForm + fields: { } + edit: ~ + new: ~ + sortable: false Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/config/generator.yml ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminExport.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminExport.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminExport.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,12 @@ +<?php + +/** + * dmContactAdmin admin export + * + * @package retest + * @subpackage dmContactAdmin + * @author Your name here + */ +class DmContactAdminExport extends myDoctrineTableExport +{ +} Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminExport.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminForm.php =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminForm.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminForm.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,16 @@ +<?php + +/** + * dmContactAdmin admin form + * + * @package retest + * @subpackage dmContactAdmin + * @author Your name here + */ +class DmContactAdminForm extends BaseDmContactForm +{ + public function configure() + { + parent::configure(); + } +} \ No newline at end of file Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/lib/DmContactAdminForm.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorConfiguration.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorConfiguration.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorConfiguration.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +<?php + +/** + * dmContactAdmin module configuration. + * + * @package retest + * @subpackage dmContactAdmin + * @author Your name here + * @version SVN: $Id: configuration.php 12474 2008-10-31 10:41:27Z fabien $ + */ +class dmContactAdminGeneratorConfiguration extends BaseDmContactAdminGeneratorConfiguration +{ +} Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorConfiguration.class.php ___________________________________________________________________ Added: svn:executable + * Added: plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorHelper.class.php =================================================================== --- plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorHelper.class.php (rev 0) +++ plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorHelper.class.php 2010-01-25 01:21:14 UTC (rev 27152) @@ -0,0 +1,13 @@ +<?php + +/** + * dmContactAdmin module helper. + * + * @package retest + * @subpackage dmContactAdmin + * @author Your name here + * @version SVN: $Id: helper.php 12474 2008-10-31 10:41:27Z fabien $ + */ +class dmContactAdminGeneratorHelper extends BaseDmContactAdminGeneratorHelper +{ +} Property changes on: plugins/dmContactPlugin/modules/dmContactAdmin/lib/dmContactAdminGeneratorHelper.class.php ___________________________________________________________________ Added: svn:executable + * -- You received this message because you are subscribed to the Google Groups "symfony SVN" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/symfony-svn?hl=en.
