Пример #1
0
 /**
  * Montar botão de formulário
  *
  * @param string|null $tipo  Tipo do botão a ser criado
  * @param string      $texto Texto a ser exibido no botão
  * @param array       $ou    Outras configurações do botão
  *
  * @return int
  */
 public function botao($tipo = null, $texto = 'Botão', array $ou = [])
 {
     $atributos_vetor = isset($tipo) && array_key_exists($tipo, $this->conf_botoes) ? array_merge($this->conf_botoes[$tipo], $ou) : $ou;
     $atributos_string = !empty($atributos_vetor) ? ' ' . \Funcoes::arraySerialize($atributos_vetor, ' ', '"') : '';
     return sprintf(static::BOTAO, $atributos_string, $texto);
 }
Пример #2
0
 /**
  * Misturar elementos de um vetor com outro vetor
  * Obs: Criado e utilizado para auxiliar os Apoios
  *
  * @param array $atrib1 Vetor principal
  * @param array $atrib2 Vetor secundário
  *
  * @return string
  */
 public static function arraySerializeApoios($atrib1, $atrib2)
 {
     return \Funcoes::arraySerialize(\Funcoes::arrayMergeRecursiveFunc((array) $atrib1, (array) $atrib2, function ($v) {
         return trim(is_array($v) ? implode(' ', $v) : $v);
     }), ' ', '"');
 }
Пример #3
0
 /**
  * Criar dinamicamente o comando SQL UPDATE
  *
  * @param array $ci Vetor com os nomes dos campos a serem considerados para a geração da consulta
  * @param array $ce Vetor com os nomes dos campos a serem DESconsiderados para a geração da consulta
  *
  * @return string
  * @throws \DL3Exception
  */
 public function criarUpdate(array $ci = null, array $ce = null)
 {
     # Informações dos campos
     $cpos = \DL3::$conex->infoCampos($this->bd_tabela);
     $alterar = [];
     $where = [];
     $params = [];
     foreach ($cpos as $c) {
         # Nome da propriedade
         $p = preg_replace("~^{$this->bd_prefixo}~", '', $c['Field']);
         if ($this->ignorarCampo($c['Field'], $p, $ci, $ce, $alterar)) {
             continue;
         }
         // Fim if
         # Obter as informações do campos
         $pk = $c['Key'] === 'PRI';
         $obr = $c['Null'] === 'NO';
         if (!isset($this->{$p}) && $obr && !$pk) {
             throw new \DL3Exception(sprintf(ERRO_MODELOPRINCIPAL_CRIARUPDATE_CAMPO_OBRIGATORIO_NULO, $c['Field']), 1500);
         }
         // Fim if
         $param_nome = ":{$c['Field']}";
         $params[$param_nome] = $this->{$p};
         if ($pk) {
             $where[$c['Field']] = $param_nome;
         } else {
             $alterar[$c['Field']] = $param_nome;
         }
         // Fim if ... else
     }
     // Fim foreach
     // return "UPDATE {$this->bd_tabela} SET " . \Funcoes::arraySerialize($alterar) . " WHERE " . \Funcoes::arraySerialize($where, ' AND ');
     return ['query' => "UPDATE {$this->bd_tabela} SET " . \Funcoes::arraySerialize($alterar) . " WHERE " . \Funcoes::arraySerialize($where, ' AND '), 'params' => $params];
 }