insight recommandations

This commit is contained in:
Simon Vieille 2015-03-05 17:51:23 +01:00
parent cbdc3109e3
commit 925ded4b7f
46 changed files with 197 additions and 236 deletions

View file

@ -11,4 +11,4 @@ interface ContactInterface
public function getEmail();
public function getMessage();
}
}

View file

@ -35,5 +35,4 @@ class ModelConfiguration
{
return $this->blocks;
}
}
}

View file

@ -34,5 +34,4 @@ class AddBlockFieldsSubscriber implements EventSubscriberInterface
}
}
}
}
}

View file

@ -90,4 +90,4 @@ class NotificationAdminController extends BaseAdminController
{
return parent::rankAction($request);
}
}
}

View file

@ -8,8 +8,6 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Finder\Finder;
use Trinity\Bundle\ContentManagerBundle\Model\PageQuery;
class BuildIndexCommand extends ContainerAwareCommand
{
protected function configure()
@ -46,18 +44,12 @@ EOF
return $namespace.'\\'.str_replace('.php', 'Query', $file->getFilename());
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$dialog = $this->getDialogHelper();
if ($input->isInteractive()) {
if (!$dialog->askConfirmation(
$output,
$dialog->getQuestion('Do you confirm generation', 'yes', '?'),
true
)
) {
if (!$dialog->askConfirmation($output, $dialog->getQuestion('Do you confirm generation', 'yes', '?'), true)) {
$output->writeln(
array(
'',
@ -163,7 +155,6 @@ EOF
$indexed_elements++;
}
$output->writeln(
array(
'<info>'.$query.'</info> number of indexed elements : <comment>'.$indexed_elements.'</comment>',
@ -209,4 +200,4 @@ EOF
return $dialog;
}
}
}

View file

@ -2,14 +2,9 @@
namespace Trinity\Bundle\SearchBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Trinity\Bundle\ContentManagerBundle\Controller\PageController;
use Trinity\Bundle\ContentManagerBundle\Exception\NavigationNotFoundException;
use Trinity\Bundle\ContentManagerBundle\Exception\PageNotFoundException;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Trinity\Bundle\SearchBundle\Model\SearchObject;
@ -17,10 +12,8 @@ use Trinity\Bundle\ContentManagerBundle\Model\PageQuery;
use Zend\Search\Lucene\Index\Term;
use Zend\Search\Lucene\Search\Query\Boolean as ZendBooleanQuery;
use Zend\Search\Lucene\Search\Query\Fuzzy as FuzzyQuery;
use Zend\Search\Lucene\Search\Query\MultiTerm;
use Zend\Search\Lucene\Search\QueryParser;
class SearchController extends PageController
{

View file

@ -23,7 +23,6 @@ class Configuration implements ConfigurationInterface
// Here you should define the parameters that are allowed to
// configure your bundle. See the documentation linked above for
// more information on that topic.
return $treeBuilder;
}
}

View file

@ -40,4 +40,4 @@ class LuceneEvent extends Event
{
return $this->object;
}
}
}

View file

@ -1,10 +1,8 @@
<?php
namespace Trinity\Bundle\SearchBundle\EventListener;
use Ivory\LuceneSearchBundle\Model\Field;
use Symfony\Component\DependencyInjection\Container;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Trinity\Bundle\ContentManagerBundle\Model\Page;
use Trinity\Bundle\SearchBundle\Event\LuceneEvent;
use Trinity\Bundle\SearchBundle\TrinitySearchEvents;
use ZendSearch\Lucene\Document;

View file

@ -16,4 +16,4 @@ interface IndexableInterface
* @return Document
*/
public function getLuceneDocument($locale);
}
}

View file

@ -2,7 +2,6 @@
namespace Trinity\Bundle\SearchBundle\Model;
class SearchObject
{
protected $object;

View file

@ -4,8 +4,6 @@ namespace Trinity\Bundle\SearchBundle\Page;
use Pagerfanta\Adapter\ArrayAdapter;
use Pagerfanta\Exception\NotValidCurrentPageException;
use Symfony\Component\Form\Extension\Core\DataTransformer\ArrayToPartsTransformer;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Trinity\Bundle\ContentManagerBundle\Model\Page;
use Trinity\Bundle\ContentManagerBundle\Model\SeoPageInterface;
use Trinity\Bundle\ContentManagerBundle\Model\PageableInterface;
@ -27,7 +25,6 @@ class SearchPage extends Page implements SeoPageInterface, PageableInterface
->setDefaultControllerClass('Trinity\Bundle\SearchBundle\Controller\SearchController::indexAction');
}
public function __construct($template = null)
{
parent::__construct(null !== $template ? $template : 'TrinitySearchBundle:Search:index.html.twig');

View file

@ -18,4 +18,4 @@ final class TrinitySearchEvents
* The REMOVE_INDEX event occurs when the object delete process succeeded.
*/
const LUCENE_REMOVE_INDEX = "trinity_search.lucene.remove_index";
}
}

View file

@ -2,20 +2,23 @@
namespace Trinity\Bundle\SearchBundle\Twig\Extension;
class HighlightExtension extends \Twig_Extension {
public function getFilters() {
class HighlightExtension extends \Twig_Extension
{
public function getFilters()
{
return array(
'highlight' => new \Twig_Filter_Method($this, 'highlight'),
);
}
public function highlight($sentence, $expr) {
public function highlight($sentence, $expr)
{
$expr = explode(' ', $expr);
foreach ($expr as $word) {
$sentence = preg_replace('/(' . $word . ')/i',
'<span class="bold">\1</span>', $sentence);
}
return $sentence;
}
@ -24,4 +27,4 @@ class HighlightExtension extends \Twig_Extension {
return 'highlight_extension';
}
}
}

View file

@ -23,7 +23,6 @@ class Configuration implements ConfigurationInterface
// Here you should define the parameters that are allowed to
// configure your bundle. See the documentation linked above for
// more information on that topic.
return $treeBuilder;
}
}

View file

@ -23,7 +23,6 @@ class Configuration implements ConfigurationInterface
// Here you should define the parameters that are allowed to
// configure your bundle. See the documentation linked above for
// more information on that topic.
return $treeBuilder;
}
}

View file

@ -3,9 +3,6 @@
namespace Trinity\Bundle\SlideshowBundle\Form\Extension\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class FileImageType extends AbstractType
{
@ -17,7 +14,6 @@ class FileImageType extends AbstractType
return 'file';
}
/**
* {@inheritdoc}
*/
@ -26,4 +22,3 @@ class FileImageType extends AbstractType
return 'file_image';
}
}

View file

@ -3,8 +3,6 @@
namespace Trinity\Bundle\SlideshowBundle\Form\Extension\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class PersoType extends AbstractType
@ -51,4 +49,3 @@ class PersoType extends AbstractType
return 'perso';
}
}

View file

@ -6,7 +6,6 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\Form\FormInterface;
use Trinity\Bundle\SlideshowBundle\Block\SlideshowItemsContainerBlock;
use Trinity\Bundle\SlideshowBundle\Model\SlideshowItemQuery;
use Trinity\Bundle\ContentManagerBundle\Form\Type\BlockType;
class SlideshowItemsContainerBlockType extends BlockType
@ -48,9 +47,8 @@ class SlideshowItemsContainerBlockType extends BlockType
));
}
public function getName()
{
return 'slideshow_items_container_block';
}
}
}

View file

@ -34,14 +34,14 @@ class GroupCrudConfiguration extends \Trinity\Bundle\AdminBundle\Configuration\C
->setEditTitle('Edition of "%name%"')
->setMaxPerPage(20)
->setFieldTemplate('roles', 'TrinityUserBundle:GroupAdmin:roles.html.twig')
->setDisplayFields(array(
'id',
'code',
'name',
'roles'
))
->setFieldTemplate('roles', 'TrinityUserBundle:GroupAdmin:roles.html.twig')
->setDisplayFields(array(
'id',
'code',
'name',
'roles'
))
;
}
}

View file

@ -23,7 +23,7 @@ class UserLogCrudConfiguration extends \Trinity\Bundle\AdminBundle\Configuration
->setEditTitle('Edition of "%message%"')
->setMaxPerPage(20)
->setSort('orderById', \Criteria::DESC)
->setSort('orderById', \Criteria::DESC)
->removeIndexAction('new')

View file

@ -9,84 +9,84 @@ use \FOS\UserBundle\Controller\SecurityController as BaseSecurityController;
class SecurityAdminController extends BaseSecurityController
{
public function loginAction(Request $request)
{
/** @var $session \Symfony\Component\HttpFoundation\Session\Session */
$session = $request->getSession();
public function loginAction(Request $request)
{
/** @var $session \Symfony\Component\HttpFoundation\Session\Session */
$session = $request->getSession();
// get the error if any (works with forward and redirect -- see below)
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
} elseif (null !== $session && $session->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
} else {
$error = '';
}
// get the error if any (works with forward and redirect -- see below)
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
} elseif (null !== $session && $session->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
} else {
$error = '';
}
if ($error) {
// TODO: this is a potential security risk (see http://trac.symfony-project.org/ticket/9523)
$error = $error->getMessage();
}
// last username entered by the user
$lastUsername = (null === $session) ? '' : $session->get(SecurityContext::LAST_USERNAME);
if ($error) {
// TODO: this is a potential security risk (see http://trac.symfony-project.org/ticket/9523)
$error = $error->getMessage();
}
// last username entered by the user
$lastUsername = (null === $session) ? '' : $session->get(SecurityContext::LAST_USERNAME);
$csrfToken = $this->container->has('form.csrf_provider')
? $this->container->get('form.csrf_provider')->generateCsrfToken('authenticate')
: null;
$csrfToken = $this->container->has('form.csrf_provider')
? $this->container->get('form.csrf_provider')->generateCsrfToken('authenticate')
: null;
if ($request->isXmlHttpRequest()) {
return $this->renderXhrLogin(array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
));
} else {
return $this->renderLogin(array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
'logo' => '/bundles/trinityadminmenu/img/logo_signin.png'
));
}
}
if ($request->isXmlHttpRequest()) {
return $this->renderXhrLogin(array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
));
} else {
return $this->renderLogin(array(
'last_username' => $lastUsername,
'error' => $error,
'csrf_token' => $csrfToken,
'logo' => '/bundles/trinityadminmenu/img/logo_signin.png'
));
}
}
protected function renderLogin(array $data)
{
$template = sprintf('TrinityUserBundle:Security\Admin:login.html.%s', $this->container->getParameter('fos_user.template.engine'));
protected function renderLogin(array $data)
{
$template = sprintf('TrinityUserBundle:Security\Admin:login.html.%s', $this->container->getParameter('fos_user.template.engine'));
return $this->container->get('templating')->renderResponse($template, $data);
}
return $this->container->get('templating')->renderResponse($template, $data);
}
protected function renderXhrLogin(array $data)
{
$template = sprintf('TrinityUserBundle:Security\Admin:loginXHR.html.%s', $this->container->getParameter('fos_user.template.engine'));
protected function renderXhrLogin(array $data)
{
$template = sprintf('TrinityUserBundle:Security\Admin:loginXHR.html.%s', $this->container->getParameter('fos_user.template.engine'));
return $this->container->get('templating')->renderResponse($template, $data);
}
return $this->container->get('templating')->renderResponse($template, $data);
}
public function checkAction()
{
throw new \RuntimeException('You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.');
}
public function checkAction()
{
throw new \RuntimeException('You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.');
}
public function xhrcheckAction(Request $request)
{
if (false === $this->container->get('request')->isXmlHttpRequest()) {
throw new \RuntimeException('This action is allowed in XHR context only.');
}
public function xhrcheckAction(Request $request)
{
if (false === $this->container->get('request')->isXmlHttpRequest()) {
throw new \RuntimeException('This action is allowed in XHR context only.');
}
$result = array('success' => true);
$result = array('success' => true);
if (false === $this->container->get('security.context')->isGranted($this->container->getParameter('trinity_user.bo_auth_role'))) {
$result = array('success' => false);
}
if (false === $this->container->get('security.context')->isGranted($this->container->getParameter('trinity_user.bo_auth_role'))) {
$result = array('success' => false);
}
$response = new Response(json_encode($result));
$response->headers->set('Content-Type', 'application/json');
$response = new Response(json_encode($result));
$response->headers->set('Content-Type', 'application/json');
return $response;
return $response;
}
}
}

View file

@ -2,9 +2,6 @@
namespace Trinity\Bundle\UserBundle\Controller;
use \Symfony\Component\HttpFoundation\Request;
use \Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\SecurityContext;
use \FOS\UserBundle\Controller\SecurityController as BaseSecurityController;
class SecurityController extends BaseSecurityController

View file

@ -15,7 +15,6 @@ use Symfony\Component\HttpFoundation\Request;
use Trinity\Bundle\UserBundle\Configuration\UserLogCrudConfiguration as CrudConfiguration;
use Trinity\Bundle\UserBundle\Form\Type\UserLogBatchType as BatchType;
/**
* @Route("/admin/userlog")
*/

View file

@ -4,17 +4,17 @@ namespace Trinity\Bundle\UserBundle\Flash;
abstract class Flash
{
protected $message = null;
protected $message = null;
public function __construct($message)
{
$this->message = $message;
}
public function __construct($message)
{
$this->message = $message;
}
public function getMessage()
{
return $this->message;
}
public function getMessage()
{
return $this->message;
}
abstract public function getTemplate();
abstract public function getTemplate();
}

View file

@ -4,22 +4,22 @@ namespace Trinity\Bundle\UserBundle\Flash;
class FlashContainer
{
protected $flash;
protected $persist;
protected $flash;
protected $persist;
public function __construct(Flash $flash, $persist)
{
$this->flash = $flash;
$this->persist = $persist;
}
public function __construct(Flash $flash, $persist)
{
$this->flash = $flash;
$this->persist = $persist;
}
public function getFlash()
{
return $this->flash;
}
public function getFlash()
{
return $this->flash;
}
public function getPersist()
{
return $this->persist;
}
public function getPersist()
{
return $this->persist;
}
}

View file

@ -4,8 +4,8 @@ namespace Trinity\Bundle\UserBundle\Flash;
class FlashError extends Flash
{
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashError.html.twig';
}
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashError.html.twig';
}
}

View file

@ -4,8 +4,8 @@ namespace Trinity\Bundle\UserBundle\Flash;
class FlashNotice extends Flash
{
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashNotice.html.twig';
}
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashNotice.html.twig';
}
}

View file

@ -4,8 +4,8 @@ namespace Trinity\Bundle\UserBundle\Flash;
class FlashSuccess extends Flash
{
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashSuccess.html.twig';
}
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashSuccess.html.twig';
}
}

View file

@ -4,8 +4,8 @@ namespace Trinity\Bundle\UserBundle\Flash;
class FlashWarning extends Flash
{
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashWarning.html.twig';
}
public function getTemplate()
{
return 'TrinityAdminBundle:BaseAdmin:flashWarning.html.twig';
}
}

View file

@ -32,5 +32,4 @@ class AddCodeFieldSubscriber implements EventSubscriberInterface
);
}
}
}
}

View file

@ -4,7 +4,6 @@ namespace Trinity\Bundle\UserBundle\Form\Type;
use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;
use Trinity\Bundle\UserBundle\Form\Type\ProfileType;
class MyProfileType extends BaseType
{
@ -29,4 +28,3 @@ class MyProfileType extends BaseType
return 'trinity_user_profile';
}
}

View file

@ -10,26 +10,26 @@ class UserLogBatchType extends BaseBatchType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'objects',
'choice',
array(
'required' => true,
'multiple' => true,
'expanded' => true,
)
);
'objects',
'choice',
array(
'required' => true,
'multiple' => true,
'expanded' => true,
)
);
$builder->add(
'action',
'choice',
array(
'required' => true,
'choices' => array(
self::BATCH_REMOVE => 'Remove',
),
'multiple' => false,
)
);
$builder->add(
'action',
'choice',
array(
'required' => true,
'choices' => array(
self::BATCH_REMOVE => 'Remove',
),
'multiple' => false,
)
);
}
}

View file

@ -10,7 +10,7 @@ class UserLogFilterType extends BaseAbstractType
protected $options = array(
'data_class' => 'FOS\UserBundle\Propel\UserLog',
'name' => 'userlog',
'csrf_protection' => false,
'csrf_protection' => false,
);
/**

View file

@ -6,8 +6,6 @@ use Propel\PropelBundle\Form\BaseAbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use \Trinity\Bundle\UserBundle\Form\Type\ProfileType;
class UserType extends BaseAbstractType
{
/**
@ -110,5 +108,3 @@ class UserType extends BaseAbstractType
return array_keys(self::getRoles());
}
}

View file

@ -115,13 +115,13 @@ class VarsAdminController extends Controller
$type = isset($var['type']) ? $var['type'] : 'text';
$help = isset($var['help']) ? array('data-help' => $this->get('translator')->trans($var['help'])) : array();
$name = $key.'_'.$var['key'];
$label = isset($var['label']) ? $var['label'] : $name;
$label = isset($var['label']) ? $var['label'] : $name;
$form->add(
$name,
$type,
array(
'label' => $label,
'label' => $label,
'data' => $value,
'attr' => array_merge($options, $help)
)
@ -158,13 +158,13 @@ class VarsAdminController extends Controller
$type = isset($var['type']) ? $var['type'] : 'text';
$help = isset($var['help']) ? array('data-help' => $this->get('translator')->trans($var['help'])) : array();
$name = $var['key'];
$label = isset($var['label']) ? $var['label'] : $name;
$label = isset($var['label']) ? $var['label'] : $name;
$form->add(
$name,
$type,
array(
'label' => $label,
'label' => $label,
'data' => $value,
'attr' => array_merge($options, $help)
)

View file

@ -25,6 +25,6 @@ class TrinityVarsEditorExtension extends Extension
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');
$container->setParameter('trinity_vars_editor.file', $config['file']);
$container->setParameter('trinity_vars_editor.file', $config['file']);
}
}

View file

@ -23,7 +23,6 @@ class Configuration implements ConfigurationInterface
// Here you should define the parameters that are allowed to
// configure your bundle. See the documentation linked above for
// more information on that topic.
return $treeBuilder;
}
}

View file

@ -8,6 +8,6 @@ interface FileUploadInterface
public function getUploadFields();
public function getUploadDir($field);
public function uploadRollback($field, $locale = null);
public function deleteFile($v);
public function isUploadRollbackField($field, $locale = null);
public function deleteFile($v);
public function isUploadRollbackField($field, $locale = null);
}

View file

@ -117,6 +117,7 @@ if (\$this->isColumnModified($const) && \$this->{$this->getColumnGetter()}()) {
\$this->{$this->getColumnSetter()}(\$this->createSlug());
}";
}
return $script;
}
@ -247,7 +248,7 @@ protected static function cleanupSlugPart(\$slug, \$replacement = '" . $this->ge
// replace non letter or digits with separator
\$slug = preg_replace_callback(
'" . $this->getParameter('replace_pattern') . "',
function(\$m) use (\$replacement) {
function (\$m) use (\$replacement) {
return \$replacement;
},
utf8_encode(\$slug)
@ -255,7 +256,7 @@ protected static function cleanupSlugPart(\$slug, \$replacement = '" . $this->ge
\$slug = preg_replace_callback(
'#'.preg_quote(\$replacement).'{2,}#',
function(\$m) use (\$replacement) {
function (\$m) use (\$replacement) {
return \$replacement;
},
utf8_encode(\$slug)

View file

@ -5,7 +5,6 @@ use I18nBehavior;
use ReflectionObject;
use SluggableBehavior;
class I18nSluggableBehavior extends I18nBehavior
{
@ -25,4 +24,4 @@ class I18nSluggableBehavior extends I18nBehavior
$this->i18nTable->addBehavior(new SluggableBehavior());
}
}
}

View file

@ -7,10 +7,10 @@ use Trinity\Component\Utils\Propel as PropelUtils;
class UploadableBehavior extends \Behavior
{
protected $fields = array();
protected $dirs = array();
protected $i18n_upload_fields = array();
protected $i18n_upload_paths = array();
protected $fields = array();
protected $dirs = array();
protected $i18n_upload_fields = array();
protected $i18n_upload_paths = array();
protected $tableModificationOrder = 90;
@ -19,6 +19,7 @@ class UploadableBehavior extends \Behavior
if ($this->getTable()->getColumn($columnName)) {
return 'get'.$this->getTable()->getColumn($columnName)->getPhpName();
}
return PropelUtils::getGetter($columnName);
}
@ -27,6 +28,7 @@ class UploadableBehavior extends \Behavior
if ($this->getTable()->getColumn($columnName)) {
return 'set'.$this->getTable()->getColumn($columnName)->getPhpName();
}
return PropelUtils::getSetter($columnName);
}
@ -35,7 +37,7 @@ class UploadableBehavior extends \Behavior
$this->fields = array_map('trim', explode(',', $this->getParameter('fields')));
$path = array_map('trim', explode(',', $this->getParameter('paths')));
if(count($this->fields) != count($path)) {
if (count($this->fields) != count($path)) {
throw new InvalidArgumentException(sprintf(
'You must give a path for each field specified in \'fields\' parameter. %s field for %s path',
count($this->fields),
@ -43,7 +45,7 @@ class UploadableBehavior extends \Behavior
));
}
foreach($this->fields as $k => $v) {
foreach ($this->fields as $k => $v) {
$this->dirs[$v] = $path[$k];
}
}
@ -133,43 +135,47 @@ class UploadableBehavior extends \Behavior
$this->addI18nWebPathMethod($script);
$this->addHasUploadedFieldMethod($script);
$this->addGetterAsFile($script);
return $script;
}
public function preSave()
{
$script = '';
foreach($this->fields as $k => $field) {
foreach ($this->fields as $k => $field) {
$camel_field = PropelUtils::camelCase($field);
$script .= sprintf('$this->upload%s();%s', $camel_field, PHP_EOL);
}
return $script;
}
public function postInsert()
{
$script = '';
foreach($this->fields as $k => $field) {
foreach ($this->fields as $k => $field) {
$camel_field = PropelUtils::camelCase($field);
$script .= sprintf('$this->save%sFile();%s', $camel_field, PHP_EOL);
}
return $script;
}
public function postUpdate()
{
$script = '';
foreach($this->fields as $k => $field) {
foreach ($this->fields as $k => $field) {
$camel_field = PropelUtils::camelCase($field);
$script .= sprintf('$this->save%sFile();%s', $camel_field, PHP_EOL);
}
return $script;
}
public function postSave()
{
$script = '';
foreach($this->fields as $k => $field) {
foreach ($this->fields as $k => $field) {
$camel_field = PropelUtils::camelCase($field);
$script .= <<<EOL
@ -179,24 +185,24 @@ if (\$this->delete_$field) {
EOL;
}
return $script;
}
public function postDelete()
{
$script = '';
foreach($this->fields as $k => $field) {
foreach ($this->fields as $k => $field) {
$camel_field = PropelUtils::camelCase($field);
$script .= sprintf('$this->set%s(null);%s', $camel_field, PHP_EOL);
$script .= sprintf('$this->setDelete%s(true);%s', $camel_field, PHP_EOL);
$script .= sprintf('$this->remove%s();%s', $camel_field, PHP_EOL);
$script .= ' '.PHP_EOL;
}
return $script;
}
protected function addAttributes(&$script)
{
$dirs = var_export($this->dirs, true);
@ -218,22 +224,22 @@ EOL;
$upload
EOS;
}
if($rollbacks != '') {
if ($rollbacks != '') {
$script .= <<<EOS
$rollbacks
EOS;
}
if($delete != '') {
if ($delete != '') {
$script .= <<<EOS
$delete
EOS;
}
if($files != '') {
if ($files != '') {
$script .= <<<EOS
$files
EOS;
}
if($has_uploaded_file != '') {
if ($has_uploaded_file != '') {
$script .= <<<EOS
$has_uploaded_file
EOS;
@ -283,7 +289,7 @@ public function getUploadDir(\$field)
\$transform_dir = preg_replace_callback(
'`\{(.*)\}`sU',
function(\$matches) {
function (\$matches) {
return method_exists(\$this, \$matches[1]) ? (string) call_user_func(array(\$this, \$matches[1])) : '';
}, \$dir
);
@ -312,6 +318,7 @@ EOS;
{
if (null === \$this->$field && !\$this->delete_$field && null !== \$this->rollback_$field) {
\$this->$field = \$this->rollback_$field; // keep the file
return true;
}
@ -356,7 +363,7 @@ EOS;
*/
public function save{$camel_field}File()
{
if(\$this->hasUploaded{$camel_field}()){
if (\$this->hasUploaded{$camel_field}()) {
\$this->{$field}_file->move(\$this->getUploadDir('$field')$i18n, \$this->{$field});
}
}
@ -492,8 +499,8 @@ EOS;
protected function addI18nWebPathMethod(&$script)
{
if($this->getTable()->hasBehavior('i18n')) {
foreach($this->i18n_upload_fields as $field) {
if ($this->getTable()->hasBehavior('i18n')) {
foreach ($this->i18n_upload_fields as $field) {
$camel_field = PropelUtils::camelCase($field);
@ -547,6 +554,7 @@ EOS;
$upload
EOS;
}
return $script;
}
@ -572,6 +580,7 @@ public static function getUploadDir(\$field)
}
EOS;
return $script;
}

View file

@ -37,4 +37,3 @@ class TestCase extends \PHPUnit_Framework_TestCase
return self::getApplication()->run(new \Symfony\Component\Console\Input\StringInput($command));
}
}

View file

@ -34,4 +34,3 @@ class WebTestCase extends BaseWebTestCase
return self::getApplication()->run(new \Symfony\Component\Console\Input\StringInput($command));
}
}

View file

@ -10,4 +10,4 @@ class ArrayFilter
return (strlen($var)>1);
}
}
}

View file

@ -18,10 +18,10 @@ class Propel
{
return ucfirst(preg_replace_callback(
'/_[a-z0-9]{1}/iU',
function($matches) {
function ($matches) {
return str_replace('_', '', strtoupper($matches[0]));
},
$string
$string
));
}
}