Symfony

Comment afficher votre page d'erreur 404 html quelque soit l'extension du fichier inexistant demandé?

Dans votre classe actions rajouter ces lignes:

/**
   * Error page for page not found (404) error
   *
   */
  public function executeError404()
  {
      //-- hack catch all format to html error 404 page
      $this->getRequest()->setRequestFormat('html');
  }

Comment Sécuriser les Plugins filemanager ou imagemager de TinyMCE Dans symfony 1.4

Modifier le fichier config.php de votre plugin rte et rajouter en début de fichier les lignes suivantes:

//-- chemin de vers le fichier ProjectConfiguration.class.php de symfony
require_once($_SERVER["DOCUMENT_ROOT"].'/../config/ProjectConfiguration.class.php');

//-- on initialise symfony
$configuration = ProjectConfiguration::getApplicationConfiguration('backend', 'rte', false);
sfContext::createInstance($configuration);

//-- on vérifie que l'utilisateur est connecté
if(!sfContext::getInstance()->getUser()->isAuthenticated()) {
    die("Vous devez vous connecter avant de pouvoir utiliser le RTE");
}

[Symfony] définir un préfix pour les tables générées par doctrine

voici comment définir un préfix pour les tables sql générées par doctrine :

il faut aller dans config/ProjectConfiguration.class.php et ajouter la fonction suivante :

  public function configureDoctrine(Doctrine_Manager $manager)
  {
    $manager->setAttribute(Doctrine_Core::ATTR_TBLNAME_FORMAT, 'mon_prefix_%s');
  }

ainsi toutes les tables auront pour préfix le mot "mon_prefix"

PS. ceci nous permet de manipuler des noms de tables/objets sans le prefix, voici un début de schema.yml

Contact:
  tableName: contacts
  actAs: [Timestampable]

  columns:
    email:      { type: string(100)}
    name:       { type: string(255) }

dans le code on fera des Doctrine::getTable("Contact") ou des $c = new Contact() alors que notre table s'appelle "mon_prefix_contacts"

[Symfony / Doctrine] exécuter une requête SQL en live (Raw SQL)

$q = Doctrine_Manager::getInstance()->getCurrentConnection();
$res = $q->execute("SELECT SUM(ptp) as total FROM table WHERE id = $id");
$total = $res->fetchColumn();

[Symfony / Doctrine] tester si un enregistrement existe dans une table (sans passer par un find)

une fonction très pratique qui évite de faire un find inutile et qui reste très générique, elle trouve facilement sa place dans tout projet doctrine.

function recordExists($table, $id)
  {      
    // We're passing a single ID or an array of IDs
    // Parameters construction
    $params = is_array($id) ? array_values($id) : array($id);
    //query
    $q = Doctrine::getTable($table)->createQuery('dctrn_find')
        ->where('dctrn_find.' . implode(' = ? AND dctrn_find.', (array) Doctrine::getTable($table)->getIdentifier()) . ' = ?');

    return $q->count($params) > 0;
  }

Tags:

Pages

Subscribe to RSS - Symfony