Example #1
0
 /**
  * Requête de lecture
  */
 private function select()
 {
     // Par défault utilise un select *
     \Origami\DB::get($this->config->getDataBase())->select("{$this->config->getTable()}.*");
     // Si le cryptage est activé et si il y a des champs cryptés
     if ($this->config->getOrigami('encryption_enable')) {
         // Les champs cryptés
         $fields = $this->config->getFieldEncrypt();
         // Si il y a des champs cryptés
         if (!empty($fields)) {
             foreach ($fields as $field) {
                 \Origami\DB::get($this->config->getDataBase())->select("CONVERT(AES_DECRYPT(FROM_BASE64(`{$field['name']}`), UNHEX('{$this->config->getOrigami('encryption_key')}'), UNHEX(`vector`)) USING 'utf8') AS `{$field['name']}`", FALSE);
             }
         }
     }
     // Si le binaire est activé et si il y a des champs binaires
     if ($this->config->getOrigami('binary_enable')) {
         // Les champs binaires
         $fields = $this->config->getFieldBinary();
         // Si il y a des champs binaires
         if (!empty($fields)) {
             foreach ($fields as $field) {
                 \Origami\DB::get($this->config->getDataBase())->select("TO_BASE64(`{$field['name']}`) AS `{$field['name']}`", FALSE);
             }
         }
     }
     return \Origami\DB::get($this->config->getDataBase());
 }