Lanza la ejecución
502619
public function run(): void
    {
        foreach ($this->seed as $key => $value) {
            $this->call($this->each, $value, $key);
        }
    }
1334167
def AjustarLiquidacion(self):
        ""
        
        # renombrar la clave principal de la estructura
        if 'liquidacion' in self.solicitud:
            liq = self.solicitud.pop('liquidacion')
            self.solicitud["liquidacionAjuste"] = liq
        
        # llamar al webservice:
        ret = self.client.ajustarLiquidacion(
                        auth={
                            'token': self.Token, 'sign': self.Sign,
                            'cuit': self.Cuit, },
                        solicitud=self.solicitud,
                        )
        # analizo la respusta
        ret = ret['respuesta']
        self.__analizar_errores(ret)
        liqs = ret.get('liquidacion', [])
        liq = liqs[0] if liqs else None
        self.AnalizarLiquidacion(liq)
        return True
748988
def CrearLiquidacion(self, cod_operacion, fecha_cbte, fecha_op, cod_motivo,
                         cod_localidad_procedencia, cod_provincia_procedencia, 
                         cod_localidad_destino, cod_provincia_destino,
                         lugar_realizacion=None,
                         fecha_recepcion=None, fecha_faena=None, 
                         datos_adicionales=None, **kwargs):
        ""
        # creo el diccionario con los campos generales de la liquidación:
        liq = { 'fechaComprobante': fecha_cbte, 'fechaOperacion': fecha_op, 
                'lugarRealizacion': lugar_realizacion, 
                'codMotivo': cod_motivo, 
                'codLocalidadProcedencia': cod_localidad_procedencia, 
                'codProvinciaProcedencia': cod_provincia_procedencia, 
                'codLocalidadDestino': cod_localidad_destino, 
                'codProvinciaDestino': cod_provincia_destino, 
                'fechaRecepcion': fecha_recepcion, 
                'fechaFaena': fecha_faena, 
              }
        self.solicitud = dict(codOperacion=cod_operacion,
                              emisor={}, receptor={},
                              datosLiquidacion=liq,
                              itemDetalleLiquidacion=[],
                              guia=[], dte=[],
                              tributo=[], gasto=[],
                              datosAdicionales=datos_adicionales, 
                             )
        return True
1075658
public static function send()
    {
        //rezultat wysyłania
        $result = ['error' => 0, 'success' => 0];
        //pobieranie maili
        $emails = (new Orm\CmsMailQuery)
            ->join('cms_mail_definition')->on('cms_mail_definition_id')
            ->join('cms_mail_server', 'cms_mail_definition')->on('cms_mail_server_id')
            ->whereActive()->equals(0)
            ->andFieldDateSendAfter()->lessOrEquals(date('Y-m-d H:i:s'))
            ->orderAscDateSendAfter()
            ->limit(500)
            ->find();
        //brak maili do wysyłki
        if (count($emails) == 0) {
            return $result;
        }
        //tymczasowy stan (w wysyłce)
        foreach ($emails as $email) {
            $email->active = 2;
            $email->save();
        }
        //wysyłka pojedynczego maila
        foreach ($emails as $email) {
            //instancja PHPMailer'a
            $mail = new \PHPMailer(true);
            try {
                $mail->CharSet = 'utf-8';
                //ustawiam SMTP
                $mail->isSMTP();
                //ustawianie hosta
                $mail->Host = $email->getJoined('cms_mail_server')->address;
                //ustawianie portu
                $mail->Port = $email->getJoined('cms_mail_server')->port;
                //jezeli podana nazwa uzytkownika i haslo to wlaczamy uwierzytelnienie
                if ($email->getJoined('cms_mail_server')->username && $email->getJoined('cms_mail_server')->password) {
                    //uwierzytelnianie serwera
                    $mail->SMTPAuth = true;
                    //typ uwierzytelniania
                    $mail->AuthType = 'LOGIN';
                    //uzytkownik SMTP
                    $mail->Username = $email->getJoined('cms_mail_server')->username;
                    //haslo SMTP
                    $mail->Password = $email->getJoined('cms_mail_server')->password;
                }
                if ($email->getJoined('cms_mail_server')->ssl != 'plain') {
                    //szyfrowanie polaczenia
                    $mail->SMTPSecure = $email->getJoined('cms_mail_server')->ssl;
                }
                //ustawianie treści wiadomości
                $mail->Body = strip_tags($email->message);
                //jezeli HTML to ustawiam typ wiadomości na HTML
                if ($email->getJoined('cms_mail_definition')->html) {
                    $mail->isHTML(true);
                    $mail->Body = $email->message;
                }
                //ustawianie "from"
                $mail->setFrom($email->getJoined('cms_mail_server')->from, $email->fromName);
                //ustawianie "do"
                $recipients = explode(';', $email->to);
                foreach ($recipients as $recipient) {
                    $mail->addAddress(trim($recipient));
                }
                //ustawianie reply
                if ($email->replyTo) {
                    $mail->addReplyTo($email->replyTo);
                }
                //ustawianie tematu
                $mail->Subject = $email->subject;
                //dołączanie załączników
                $attachments = unserialize($email->attachements);
                if (!empty($attachments)) {
                    foreach ($attachments as $fileName => $filePath) {
                        if (!file_exists($filePath)) {
                            continue;
                        }
                        $file = [
                            'content' => base64_encode(file_get_contents($filePath)),
                            'type' => \Mmi\FileSystem::mimeType($filePath)
                        ];
                        $mail->addStringAttachment(base64_decode($file['content']), $fileName, 'base64', $file['type'], 'attachment');
                    }
                }
                //wysyłka maila
                $mail->send();
                //logowanie wysyłki
                \Mmi\App\FrontController::getInstance()->getLogger()->info('Sent: ' . $email->to . ' ' . $email->subject);
                //czyszczenie załączników
                $email->attachements = null;
                //ustawienie pol po wysłaniu
                $email->active = 1;
                $email->dateSent = date('Y-m-d H:i:s');
                $email->save();
                //podwyzszenie licznika udanych
                $result['success'] ++;
            } catch (\Exception $e) {
                //bład wysyłki
                \Mmi\App\FrontController::getInstance()->getLogger()->warning($e->getMessage());
                //podwyzszenie licznika nieudanych
                $result['error'] ++;
            }
        }
        return $result;
    }
927464
public function sacado($tipo, $nome, $documento, Endereco $endereco)
    {
        if (!in_array($tipo, array(self::PESSOA_FISICA, self::PESSOA_JURIDICA))) {
            throw new \InvalidArgumentException("Tipo de pessoa inválido! Valores válidos: 'física' ou 'jurídica'.");
        }

        if ($tipo === self::PESSOA_FISICA) {
            $sacado = new PessoaFisica($nome, $documento, $endereco);
        }

        if ($tipo === self::PESSOA_JURIDICA) {
            $sacado = new PessoaJuridica($nome, $documento, $endereco);
        }

        $this->sacado = new Sacado($sacado);

        return $this;
    }
772714
public function get()
    {
        $elapsed = $this->elapsed();
        //iteracja po danych
        foreach ($this->_data as $key => $item) {
            if ($elapsed == 0) {
                $this->_data[$key]['percent'] = 0;
                continue;
            }
            $this->_data[$key]['percent'] = 100 * $item['elapsed'] / $elapsed;
        }
        return $this->_data;
    }
1065963
def AnalizarLiquidacion(self, liq):
        ""
        # proceso los datos básicos de la liquidación (devuelto por consultar):
        cab = liq.get('cabecera')
        if cab:
            self.CAE = str(cab.get('cae', ''))
            self.FechaVencimientoCae = str(cab.get('fechaVencimientoCae', ''))
            self.FechaProcesoAFIP = str(cab.get('fechaProcesoAFIP', ''))
            self.NroCodigoBarras =  cab.get('nroCodigoBarras')
            datos = liq.get('datosLiquidacion', {})
            self.FechaComprobante = str(datos.get('fechaComprobante', ''))
            emisor = liq.get('emisor', {})
            self.NroComprobante = emisor.get('nroComprobante')
            tot = liq.get('resumenTotales', {})
            self.ImporteBruto = tot.get('importeBruto')
            self.ImporteTotalGastos = tot.get('importeTotalGastos')
            self.ImporteTotalTributos = tot.get('importeTotalTributos')
            self.ImporteTotalNeto = tot.get('importeTotalNeto')
            self.ImporteIVASobreBruto = tot.get('importeIVASobreBruto')
            self.ImporteIVASobreGastos = tot.get('importeIVASobreGastos')
            receptor = liq.get('receptor', {})

            # parámetros de salida:
            self.params_out = dict(
                tipo_cbte=emisor.get('tipoComprobante'),
                pto_vta=emisor.get('puntoVenta'),
                nro_cbte=emisor.get('nroComprobante'),
                fecha=datos.get('fechaComprobante'),
                cae=cab.get('cae'),
                emisor=dict(
                    razon_social=emisor.get('razonSocial'),
                    domicilio_punto_venta=emisor.get('domicilioPuntoVenta'),
                    ),
                receptor=dict(
                    nombre=receptor.get('nombre'),
                    domicilio=receptor.get('domicilio'),
                    ),
                bruto=tot.get('importeBruto'),
                iva_bruto=tot.get('importeIVASobreBruto'),
                iva_gastos=tot.get('importeIVASobreGastos'),
                total_neto=tot.get('importeTotalNeto'),
                total_tributos=tot.get('importeTotalTributos'),
                total_gastos=tot.get('importeTotalGastos'),
                gasto=[],
                guia=[],
                tributo=[],
                pdf=liq.get('pdf'),
                )
            for ret in liq.get('gasto', []):
                self.params_out['gasto'].append(dict(
                    cod_gasto=ret['codGasto'],
                    importe=ret['importe'],
                    ))
            for trib in liq.get('tributo',[]):
                self.params_out['tributo'].append(dict(
                    descripcion=trib.get('descripcion', ""),
                    base_imponible=trib.get('baseImponible'),
                    alicuota=trib.get('alicuota'),
                    codigo=trib['codTributo'],
                    importe=trib['importe'],
                    ))
            # analizar datos del ajuste generado:
            ajuste = liq.get('ajuste', {})
            if ajuste:
                self.params_out.update(dict(
                    tipo_ajuste=ajuste['tipoAjuste'],
                    modo_ajuste=ajuste['modoAjuste'],
                    ))
                ajustado = ajuste.get('comprobanteAjustado')
                if ajustado:
                    self.params_out.update(dict(
                        cbte_ajuste=dict(
                            tipo_cbte=ajustado['tipoComprobante'],
                            pto_vta=ajustado['puntoVenta'],
                            nro_cbte=ajustado['nroComprobante'],
                            )
                        ))
            if DEBUG:
                import pprint
                pprint.pprint(self.params_out)
        self.params_out['errores'] = self.errores
764088
public function save()
    {
        //iteracja po polach
        foreach (($data = ($this->data instanceof DataObject) ? $this->data->toArray() : []) as $field => $value) {
            //usuwanie pustych pól
            if ($value === null) {
                unset($data[$field]);
            }
        }
        //zapis json'a
        $this->data = empty($data) ? null : json_encode($data);
        return parent::save();
    }
24120
public function addAction()
    {
        //wyszukiwanie kategorii
        if (null === $cat = (new \Cms\Orm\CmsCategoryQuery)->findPk($this->id)) {
            return;
        }
        //zakładka sekcje
        $widgetForm = (new \CmsAdmin\Form\CategoryAddWidget($cat));
        //zapisany form
        if ($widgetForm->isSaved()) {
            $this->getResponse()->redirect('cmsAdmin', 'categoryWidgetRelation', 'config', ['categoryId' => $this->id, 'widgetId' => $widgetForm->getElement('cmsWidgetId')->getValue()]);
        }
        //form do widoku
        $this->view->widgetForm = $widgetForm;
    }
971872
function show()
    {
        //---Mostrar la imagen dependiendo del tipo de archivo
        switch($this->type)
        {
            case IMAGETYPE_JPEG:
                imagejpeg($this->image);
                break;
            case IMAGETYPE_GIF:
                imagegif($this->image);
                break;
            case IMAGETYPE_PNG:
                imagepng($this->image);
                break;
        }
    }
320183
def AnularCertificacion(self, coe):
        ""
        ret = self.client.cgSolicitarAnulacion(
                        auth={
                            'token': self.Token, 'sign': self.Sign,
                            'cuit': self.Cuit, },
                        coe=coe,
                        )
        ret = ret['oReturn']
        self.__analizar_errores(ret)
        self.Estado = ret.get('estadoCertificado', "")
        return self.COE
580142
public function index() {
		$this->Prg->commonProcess();
        $conds = $this->Cliente->parseCriteria( $this->Prg->parsedParams() );
		$this->Cliente->recursive = 0;
                
        $descuentoMaximo = Configure::read('Mozo.descuento_maximo');
        $currentRole = $this->Session->read('Auth.User.role');
             
        
        if ( strtolower($currentRole) == 'mozo' && is_numeric( $descuentoMaximo ) ) {                
            $conds['OR'] = array(
                    "Descuento.porcentaje <= $descuentoMaximo",
                    'Descuento.porcentaje IS NULL'
                );
        }
        $this->Paginator->settings['conditions'] = $conds;
        
        $descuentos = $this->Cliente->Descuento->find('list');
		$tipoDocumentos = $this->Cliente->TipoDocumento->find('list');
		$ivaResponsabilidades = $this->Cliente->IvaResponsabilidad->find('list');
		$this->set(compact('descuentos', 'tipoDocumentos', 'ivaResponsabilidades'));
		$this->set('clientes', $this->Paginator->paginate());
		$this->set('_serialize', array('clientes'));
	}
750426
public function build()
    {
        if (!empty($this->build)) {
            return $this->build;
        }
        //root
        $this->build = [[
            'active' => true,
            'name' => '',
            'label' => '',
            'id' => 'root',
            'level' => 0,
            'uri' => '',
            'children' => []
        ]];
        foreach ($this->_data as $element) {
            $this->build[0]['children'][$element->getId()] = $element->build();
        }
        //usuwanie konfiguracji po zbudowaniu
        $this->_data = [];
        return $this->build;
    }
33697
public function indexAction()
    {
        if (!$this->name) {
            return '';
        }
        //lista dozwolonych znaków
        $characters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', 'T', 'U', 'W', 'Z'];
        $word = '';
        $charsCount = count($characters) - 1;

        //generuje 5 literowy string
        for ($i = 0; $i < 5; $i++) {
            $word .= $characters[rand(0, $charsCount)];
        }

        //tworzenie obrazu
        $img = imagecreatetruecolor(130, 50);

        //konfiguracja kolorów
        $green = imagecolorallocate($img, 0x00, 0x77, 0x00);
        $gray = imagecolorallocate($img, 0xF5, 0xF5, 0xF5);
        $darkGray = imagecolorallocate($img, 0x99, 0x99, 0x99);

        //czcionka
        $font = BASE_PATH . '/web/resource/cmsAdmin/ttf/dejavu.ttf';

        //ramka
        imagefilledrectangle($img, 0, 0, 129, 49, $darkGray);
        imagefilledrectangle($img, 1, 1, 128, 48, $gray);

        $prevSpace = -5;
        $prevAngle = 0;

        //przesunięcia i obroty
        for ($i = 0; $i < strlen($word); $i++) {
            if ($i % 2 != 0) {
                $size = rand(32, 36);
                $height = rand(42, 46);
                $angle = rand(5, 15);
                $space = 25 + $prevSpace;
            } else {
                $size = rand(28, 32);
                $height = rand(39, 43);
                $angle = rand(-15, 5);
                $space = 13 + $prevSpace;
            }
            $prevSpace = $space;
            $prevAngle = $angle;
            imagefttext($img, $size, $angle, $space, $height, $green, $font, $word[$i]);
        }

        //zapis do sesji
        $formSession = new \Mmi\Session\SessionSpace('captcha');
        //filtracja nazwy pola z nazwy formularza + pola
        $name = strpos($this->name, '[') === false ? $this->name : substr($this->name, strpos($this->name, '[') + 1, -1);
        $formSession->$name = $word;

        //ustalenie nagłówka na niebuforowany
        $this->getResponse()
            ->setHeader('Expires', 'Mon, 15 Dec ' . (date('Y') - 1) . ' 01:00:00 GMT+0100')
            ->setHeader('Last-Modified', gmdate('D, d M Y H:i:s') . ' GMT')
            ->setHeader('Cache-Control', 'no-store, no-cache, must-revalidate')
            ->setHeader('Cache-Control', 'post-check=0, pre-check=0', false)
            ->setHeader('Pragma', 'no-cache')
            ->setTypeJpeg();

        //zwrot obrazu
        imagejpeg($img, NULL, 25);
        return '';
    }
497181
public function preparar()
    {
        if (!$this->preparada) {
            // Validamos requisitos míminos
            if (!isset($this->dirApp)) {
                throw new \RuntimeException('Todavía no define directorio base de la aplicacion.');
            }

            // Validamos presencia de rutas
            if (!isset($this->archivoRutas)) {
                $this->archivoRutas = $this->dirApp . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'rutas.php';
            }
            if (!is_file($this->archivoRutas)) {
                throw new \RuntimeException('No fue encontrado el archivo de rutas.');
            }

            // Preparamos enrutador
            $this->enrutador = new Enrutador();
            $this->enrutador->definirUriBase($this->uriBase);
            $this->enrutador->importarRutas(require $this->archivoRutas);

            // Preparamos gestores de errores
            $this->whoops = new Run();
            $this->whoops->pushHandler(new PrettyPageHandler());
            $this->whoops->writeToOutput(false);
            $this->whoops->allowQuit(false);

            set_error_handler(function($nivel, $mensaje, $archivo, $lineaArchivo){
                throw new \ErrorException($mensaje, 0, $nivel, $archivo, $lineaArchivo);
            });
            register_shutdown_function(function(){
                $error = error_get_last();
                if (is_array($error)) {
                    throw new \ErrorException($error['message'], 0, $error['type'], $error['file'], $error['line']);
                }
            });

            // Establecemos que la aplicación ya está preparada
            $this->preparada = true;
        }
    }
205336
def AgregarAjusteFisico(self, cantidad, cantidad_cabezas=None, 
                            cantidad_kg_vivo=None, **kwargs):
        ""
        d = {'cantidad': cantidad,
             'cantidadCabezas': cantidad_cabezas, 
             'cantidadKgVivo': cantidad_kg_vivo, 
            }
        item_liq = self.solicitud['itemDetalleAjusteLiquidacion'][-1]
        item_liq['ajusteFisico'] = d
        return True
490642
public function escribirCerrar()
    {
        if (!$this->iniciado) {
            throw new \RuntimeException('La sesión no fue iniciada previamente.');
        }

        if (!$this->adaptador->escribir($this->id, $this->datos)) {
            throw new \RuntimeException('Hubo un error escribiendo la sesión.');
        }

        $this->adaptador->cerrar();
        $this->iniciado = false;

        return true;
    }