public function actionAlertaPresubasta()
    {
        Yii::$enableIncludePath = false;
        //
        //list($MailController) = Yii::app()->createController('Mail');
        //$MailController->mailsend();
        $arreglo = array();
        $criteria = new CDbCriteria();
        // Verificar
        // Existe una subasta silenciosa activa?
        $criteria = new CDbCriteria();
        $criteria->condition = 'silenciosa=:silenciosa';
        $criteria->params = array(':silenciosa' => 1);
        $subas = Subastas::model()->find($criteria);
        if ($subas == null) {
            //Tomo ultima silenciosa
            $criteria->condition = 'fuesilenciosa=:fuesilenciosa';
            $criteria->params = array(':fuesilenciosa' => 1);
            $criteria->order = 'id DESC';
            $silenciosa = Subastas::model()->find($criteria);
            // Ya fue enviado los correos masivos.
            if ($silenciosa->envio_correos) {
                return;
            }
            // Pre Subasta
            $criteria = new CDbCriteria();
            $criteria->condition = 'ids=:ids';
            $criteria->params = array(':ids' => $silenciosa->id);
            $crono = Cronometro::model()->find($criteria);
            $time = new DateTime($crono->fecha_finalizacion);
            //$time->add(new DateInterval('PT1H'));
            $actualTime = new DateTime("now");
            $intervaloPresubasta = $actualTime->getTimestamp() - $time->getTimestamp();
            // Verificando que se encuentra en los proximos 10 minutos al finalizar la subasta.
            if (!($intervaloPresubasta >= 0 && $intervaloPresubasta <= 600)) {
                return;
            }
        } else {
            return;
        }
        $footer = Correos::model()->find('id=:id', array('id' => 1));
        //construyo el titulo del mensaje
        $subject = 'Ha finalizado la Pre-' . $silenciosa['nombre'] . ' ' . $silenciosa['nombrec'];
        //obtengo los resultados de las obras en la subasta finalizada.
        //$imagenes = ImagenS::model()->findAll('ids=:ids', array(':ids' => $silenciosa['id']));
        $criteria = new CDbCriteria();
        $criteria->distinct = true;
        $criteria->condition = "ids=" . $silenciosa->id;
        $criteria->select = 'id_usuario, ids';
        $imagenes = ImagenS::model()->findAll($criteria);
        $message = "";
        //echo $silenciosa['nombre'];
        //echo "Hola";
        foreach ($imagenes as $key => $value) {
            //valido que la obra la tenga un usuario y q no vuelva a entrar ese mismo usuario
            /*
                        if($value->id_usuario and !in_array($value->id_usuario, $arreglo))
                        {*/
            $usuario = Usuarios::model()->find('id=:id', array(':id' => $value->id_usuario));
            $usuariospuja = Usuariospujas::model()->find('idusuario=:idusuario and idsubasta=:idsubasta', array(':idusuario' => $usuario['id'], ':idsubasta' => $silenciosa['id']));
            if (!$usuariospuja) {
                continue;
            }
            $correo = $usuario['email'];
            $nombre = $usuario['nombre'];
            $apellido = $usuario['apellido'];
            $paleta = $usuariospuja['paleta'];
            $to = $correo;
            $message = '
		 <div style="padding-left:50px !important; padding-top:10px !important; float:left !important; padding-right:20px !important;">';
            $message .= '<h2>PRE-SUBASTA FINALIZADA</h2><br>

               <h2 style="padding-bottom:5px !important; font-size:14px !important;">Estimado(a) ' . strtoupper($nombre) . ' ' . strtoupper($apellido) . ', la Pre-' . $silenciosa['nombre'] . ' ' . $silenciosa['nombrec'] . ' ha finalizado a las 5:00 p.m. del día de hoy.</h2>
               <h2 style="padding-bottom:10px !important; font-size:14px !important;">Hasta el momento Ud. tiene la última puja de los siguientes lotes:</h2><br/>
				<table width="100%">
				  <thead>
				    <tr>

				      <th align="left" style="width: 200px;">LOTE</th>
				      <th align="left">ÚLTIMA PUJA</th>

				    </tr>
				  </thead>
				  <tbody>';
            //$arreglo[] = $value->id_usuario;
            $usuarios = ImagenS::model()->findAll('id_usuario=:id_usuario and ids=:idsubasta', array(':id_usuario' => $value->id_usuario, ':idsubasta' => $silenciosa['id']));
            // Lista de imágenes del usuario.
            foreach ($usuarios as $ky => $valor) {
                $message .= '<tr>
					 <td align="left" style="width: 200px;">
					  <!--<img src="http://www.odalys.com/odalys/' . $valor->imagen . '" style="float:left;padding-right:20px;"/>-->
					  ' . $valor->descri . '
					</td>';
                $message .= '
					 <td align="left">' . $silenciosa['moneda'] . ' ' . number_format($valor->actual) . '</td>


					</tr>';
            }
            $message .= '</tbody>
				</table>
				<hr>';
            $message .= '<h2 style="padding-bottom:10px !important; font-size:14px !important;"> A partir de este momento, tiene hasta el día de mañana a las 10:00 a.m. 
                para ingresar en nuestra plataforma y seleccionar qué desea hacer con los lotes sobre los que tiene la última puja hasta 
                el momento. Haga click aquí para ir a <a href="' . Yii::app()->request->baseUrl . '">Subastas Odalys</a></h2>';
            $message .= '

                Para cada uno de dichos lotes podrá seleccionar alguna de las siguientes opciones:
                <br><br>
                1. Dejar puja máxima, que va a ser realizada por nosotros como una puja en ausencia durante el acto de Subasta en vivo. 
                <br><br>
                2. Dejar puja telefónica, en cuyo caso nos comunicáremos con Ud. el día del acto de Subasta en vivo en el momento que sea subastado su lote. Importante: de no lograr comunicarnos con Ud. durante la subasta, su última puja de la presubasta será tomada como su última oferta en el lote. 
                <br><br>
                3. Asistiré a la subasta en vivo, en este caso su última puja de la presubasta va a ser tomada como su última oferta en el lote, es decir, el lote será subastado en la sala desde ese monto y usted mismo podrá continuar su puja si fuese superada por algún otro postor. 
                <br><br>
                4. Quedarme con mi puja actual, en este caso su última puja de la presubasta va a ser tomada como su última oferta en el lote, es decir, el lote será subastado en la sala desde ese monto. 
                <br><br>
                <b>* Si no selecciona ninguna opción en el tiempo estipulado, automáticamente se selecciona la opción 4.</b>
                    <br>   <br>   <br>
                Recuerde que la Subasta 237 Maestros Venezolanos, se realizará mañana domingo 29 de noviembre a las 11:00 a.m. en el Hotel JW Marriott Caracas. Salón Armando Reverón. Av. Venezuela con calle Mohedano. El Rosal. Caracas.                 
                    <br>    <br>
                    Ante cualquier duda, por favor póngase en contacto con nosotros.


                ';
            $message .= '

                    <br>
                    Atentamente,
                    <br><br>
                    Casa de Subastas Odalys<br>
                    C. Comercial Concresa, Nivel PB. Local <br>
                    115 y 116, Prados del Este, Baruta 1080,<br>
                    Estado Miranda, Venezuela<br>
                    Telfs: +58 2129795942, +58 2129761773<br>
                    Fax: +58 212 9794068<br>
                    odalys@odalys.com<br>


                </div>';
            //echo $message;
            //echo "Fin de mensaje";
            //echo "----------------------------------";
            //echo "<br>";
            echo 'Enviando correo a: ' . $to . ' con asunto: ' . $subject;
            echo PHP_EOL;
            $this->mailsend($to, $subject, $message);
            //$MailController->mailsend($to,$subject,$message);
            //var_dump(($value));
            //die;
            $message = "";
            $to = "";
            //$subject = "";
            //	$this->render('compradores', array('valor'=>$message));
            //}
            $message = "";
            $to = "";
            $subject = "";
        }
        // Se marca la subasta que fue silenciosa como  enviada los correos.
        $silenciosa->envio_correos = 1;
        if ($silenciosa->save()) {
            return;
        }
    }
    public function actionResultados()
    {
        $criteria = new CDbCriteria();
        $criteria->condition = 'fuesilenciosa=:fuesilenciosa';
        $criteria->params = array(':fuesilenciosa' => 1);
        $criteria->order = 'id DESC';
        $ultimaSubastaSilenciosa = Subastas::model()->find($criteria);
        // Pre Subasta
        $crono = Cronometro::model()->findByAttributes(array('ids' => $ultimaSubastaSilenciosa->id));
        $query = ImagenS::model()->findAll('ids=:ids ORDER BY id', array(':ids' => $ultimaSubastaSilenciosa['id']));
        $contador = 0;
        $numero = 0;
        $fancyElements = $imprimir = "";
        //echo '<table width="80%"><tr>';
        $imprimir = '<div id="wrapper_imagens"  width="100%" class="tablaresultado">';
        foreach ($query as $key => $value) {
            $numero++;
            $link = CHtml::link(CHtml::image('', '', array('data-original' => $this->imagenesDir . $value->imagen, 'style' => 'vertical-align: bottom;', 'class' => 'lazy', 'onError' => 'this.onerror=null;this.src=\'' . Yii::app()->getBaseUrl(true) . '/images/loader.gif\';', 'width' => 'auto', 'height' => 'auto')), '', array('class' => 'des_' . $value->id, 'rel' => 'gallery'));
            if ($contador == 6) {
                //$imprimir .= '<tr align="center" valign="bottom">';
            }
            $contador++;
            $imprimir .= '<div id="elementosImagens" style="height: 160px; text-align: center;" align="center" style="height: 180px;" class="tile ' . $value->solonombre . '" data-nombres="' . $value->nombres . '" data-apellidos="' . $value->apellidos . '" data-numero="' . $numero . '">';
            $imprimir .= '<span style="display: inline-block; height:100px; vertical-align: bottom; "> </span> 
										' . $link . '<div style="padding-bottom: 8px;"></div> <loteautor>' . $value->solonombre . '</loteautor>';
            if ($value->id_usuario > 0) {
                if (Yii::app()->session['admin']) {
                    $ganador_imagen = Usuariospujas::model()->find('idusuario=:idusuario && idsubasta=:idsubasta', array(':idusuario' => $value->id_usuario, ':idsubasta' => $ultimaSubastaSilenciosa->id));
                    $imprimir .= '<div>Paleta <paleta_' . $value->id . '>' . $ganador_imagen['paleta'] . '</paleta_' . $value->id . '></div>';
                }
                if (Yii::app()->session['id_usuario'] && Yii::app()->session['id_usuario'] == $value->id_usuario) {
                    $imprimir .= '<br/><w id="' . $value->id . 'a">' . CHtml::image(Yii::app()->getBaseUrl(false) . '/images/vendido.png', '', array('style' => 'width: 5px;hight:5px;')) . '</w>';
                    /*                            $time = new DateTime($crono->fecha_finalizacion);
                                                $time->add(new DateInterval('PT1H'));
                                                $actualTime = new DateTime("now");
                    
                                                $intervaloPresubasta = $time->getTimestamp() - $actualTime->getTimestamp() ;*/
                    // Verificando que se encuentra en la proxima hora al finalizar la subasta.
                    $existe = PreSubastas::model()->find('usuario_id=:usuario_id AND imagen_s_id=:imagen_s_id', array(':usuario_id' => Yii::app()->session['id_usuario'], 'imagen_s_id' => $value->id));
                    if (!$existe && $ultimaSubastaSilenciosa->enPresubasta()) {
                        $etiqueta = 'Dejar puja';
                        $pujarAjaxLink = CHtml::ajaxLink($etiqueta, $this->createUrl('site/presubasta'), array('type' => 'POST', 'data' => array('imagen_s' => '0'), 'context' => 'js:this', 'beforeSend' => 'function(xhr,settings){
											            						settings.data = encodeURIComponent(\'imagen_s\')
										          								+ \'=\'
										          								+ encodeURIComponent($(this).attr(\'id\'));
											            }', 'success' => 'function(r){$("#pujaModal").html(r).dialog("open"); return false;}'), array('id' => $value->id, 'style' => 'color: #014F92;'));
                        $imprimir .= '<br>' . $pujarAjaxLink;
                    }
                    if ($existe) {
                        //$imprimir .= '<br> Estatus Presubasta: ';
                        //$imprimir .= '<br>';
                        if ($existe->puja_maxima) {
                            $etiqueta = 'Dejó puja máxima por: ' . $ultimaSubastaSilenciosa->moneda . ' ' . number_format($existe->monto);
                        }
                        if ($existe->puja_telefonica) {
                            $etiqueta = 'Dejó puja telefónica';
                        }
                        if ($existe->asistir_subasta) {
                            $etiqueta = 'Asistiré a la subasta';
                        }
                        if ($existe->no_hacer_nada) {
                            $etiqueta = 'Quedarme con mi puja actual';
                        }
                        //$existe = PreSubastas::model()->find('usuario_id=:usuario_id AND imagen_s_id=:imagen_s_id',array(':usuario_id'=>Yii::app()->session['id_usuario'],'imagen_s_id'=>$value->id));
                        if ($ultimaSubastaSilenciosa->enPresubasta()) {
                            //$etiqueta = 'Modificar puja dejada';
                            $pujarAjaxLink = CHtml::ajaxLink($etiqueta, $this->createUrl('site/presubasta', array('actualizar' => true)), array('type' => 'POST', 'data' => array('imagen_s' => '0'), 'context' => 'js:this', 'beforeSend' => 'function(xhr,settings){
											            						settings.data = encodeURIComponent(\'imagen_s\')
										          								+ \'=\'
										          								+ encodeURIComponent($(this).attr(\'id\'));
											            }', 'success' => 'function(r){$("#pujaModal").html(r).dialog("open"); return false;}'), array('id' => $value->id, 'style' => 'color: #014F92;'));
                            $imprimir .= '<br>' . $pujarAjaxLink;
                        } else {
                            $imprimir .= '<br>' . $etiqueta;
                        }
                    }
                } else {
                    $imprimir .= ' <br/><span style="color:#656565;">' . ($ultimaSubastaSilenciosa->enPresubasta() ? 'Pujado' : 'Pujado') . '</span>';
                }
            }
            $imprimir .= '</div>';
            if ($contador == 6) {
                //$imprimir .='</tr>';
                $contador = 0;
            }
            $this->mostrandoImagen($value);
        }
        $imprimir .= '</div>';
        $this->render('resultados', array('resultados' => $imprimir, 'subasta' => $ultimaSubastaSilenciosa, 'imagenesDir' => $this->imagenesDir, 'crono' => $crono));
    }
Ejemplo n.º 3
0
                    <nombrecsubasta></nombrecsubasta>
                </div>

                <div class="alignright" style="margin: 0 0 0 0;">


                    <?php 
$subasta = new Subastas();
$sub = Subastas::model()->find('silenciosa=1');
//$fecha = null;
// Verificando que se encuentra en la proxima hora al finalizar la subasta.
//if($subasta->enPresubasta() ){
$fecha = $subasta->fechaPresubasta();
//}else
if ($sub != null) {
    $fecha = new DateTime(Cronometro::model()->find('ids=:ids', array(':ids' => $sub['id']))['fecha_finalizacion']);
}
//$fecha = new DateTime();
//var_dump($fecha);die;
$actualTime = new DateTime("now");
$segundos = $fecha->getTimestamp() - $actualTime->getTimestamp();
?>
                    <!-- ESTO TIENE QUE IR EN EL HEADER CON POSICIÓN FIJADA(QUE SIEMPRE SE VEA)-->
                    <div id="odliczanie-b" class="" syle="margin: 0 0 0 0;"><b><?php 
echo $subasta->enPresubasta() ? 'Pre-Subasta: ' : '';
?>
<span
                                data-time-old="<?php 
echo $fecha->format('U');
?>
"  class="cronometro" data-seconds="<?php 
Ejemplo n.º 4
0
														CClientScript::POS_READY);*/
Yii::app()->clientScript->registerScript('refresh', 'var time = new Date().getTime();

	     $(document.body).bind("mousemove keypress", function(e) {
        	 time = new Date().getTime();
     	});

	     function refresh() {
       	  if(new Date().getTime() - time >= 1800000)
       	      window.location.reload(true);
       	  else
             setTimeout(refresh, 300000);
     	}

	     setTimeout(refresh, 300000);', CClientScript::POS_READY);
$fecha = new DateTime(Cronometro::model()->find('ids=:ids', array(':ids' => Subastas::model()->find('silenciosa=1')['id']))['fecha_finalizacion']);
//echo 'Fecha Finalización: '.$fecha->format('d-m-Y h:i:s');
/*$this->widget('ext.bcountdown.BCountdown',
        array(
                //'title'=>'UNDER CONSTRUCTION',  // Title
                //'message'=>'Stay tuned for news and updates', // message for user
                'isDark'=>false,  // two skin dark and light , by default it light i.e isDark=false
                'year'=>$fecha->format('Y'),
                'month'=>$fecha->format('m'),
                'day'=>$fecha->format('d'),
                'hour'=>$fecha->format('h'),
                'min'=>$fecha->format('i'),
                'sec'=>$fecha->format('s'),
            )
        );
*/
Ejemplo n.º 5
0
 public function fechaSubastaActiva()
 {
     if (!$this->silenciosaActiva()) {
         return false;
     }
     $crono = Cronometro::model()->findByAttributes(array('ids' => $this->silenciosaActiva()->id));
     return new DateTime($crono->fecha_finalizacion);
 }