Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - geshiro

#1
lo que busco es como rutear el trafico de tor a ciertas apps como hexchat , firefox y otras pero la cosa es que no quiero que divulge el la IP del ISP y en caso que no se cumpla me notifique que no estoy usando proxy o VPN pero que no divulge la IP , como podria hacer esto?

Código (bash) [Seleccionar]
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 10.11.0.xx -j ACCEPT #VPN traffic
iptables -A INPUT -s ip -j ACCEPT # CTF network
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 9050 -j ACCEPT
iptables # routing the traffic to certain application via port or the best to achieve it
iptables -A INPUT -j DROP    # or REJECT
service iptables save
service iptables restart
#2
bueno lo que necesito es  una ves que el usuario haya vendido el producto del carrito entonces cheque que si el total stock es <= a la cantidad minima enviemos una notificacion pero esa notificacion la vamos a guardar en la base de datos  solo que no se como hacerlo tengo mi if
Código (php) [Seleccionar]
if($this->sale->concretar_venta($this->session->carrito, $total, $cantidad_pagada, $cambio)){
                echo 1;
            }
            else{
                echo "Ocurrio un error al concretar la venta, por favor intentelo de nuevo";
            }

para validad que sea existosa la venta , pero como agrego si el stock total final sea <= a lo que min es ,


Código (php) [Seleccionar]
public function concretar_venta(){
        if($this->sale->checa_carrito_vacio($this->session->carrito)){
            $total = $this->input->post("total", TRUE);
            $cantidad_pagada = $this->input->post("cantidad_pagada", TRUE);
            $cambio = $cantidad_pagada - $total;
            if($this->sale->concretar_venta($this->session->carrito, $total, $cantidad_pagada, $cambio)){
                echo 1;
            }
            else{
                echo "Ocurrio un error al concretar la venta, por favor intentelo de nuevo";
            }
        }
        else{
           $this->json(array('error' => 'The cart is empty'));
        }
    }



el codigo de notificaciones lo que pasa que si las inserta solo que todos tienen que estar en lo minimo para poder ver si esta bien o mal como pudiera checar que si alguno de los productos no cumple ese producto solo envia la notificacion.

Código (php) [Seleccionar]
public function index()
{
$this->session->carrito = $this->sale->checar_existe_carrito();
$array = $this->sale->get_all_cart($this->session->carrito);
$product_id = array();
foreach ($array as $key => $value) {
$product_id[] = $value['id'];
}
//$this->json($product_id);
$this->notification->addNotification('low stock', $product_id, $this->session->log['id'], 'low stock');
$this->json($product_id);
$product = $this->products->get_product_id($product_id);
if ($product->stock <= 8) {
echo "wrong";
}else{
echo "good";
}

}
#3
lo que quiero hacer es que cuando llame mi vista deberia mostrarme la ultima venta pero no la realiza porque en la tabla storelte_order hay un campo que se autogenera en status 0 si no  se concreta pero deberia funcionarme el query con != 0 o <> 0 pero ninguno funciona alguna idea como solucionarlo?

Código (sql) [Seleccionar]
SELECT first_name,last_name,description,quantity,price,storelte_order.total,cash_tend,change_due,storelte_order.created_at
FROM storelte_order_detail
INNER JOIN storelte_products ON storelte_products.id = storelte_order_detail.product_id
INNER JOIN storelte_order ON storelte_order.id = storelte_order_detail.order_id
INNER JOIN storelte_users ON storelte_users.id = storelte_order.user_id
WHERE storelte_order.id = (SELECT max(storelte_order.id) FROM storelte_order) AND user_id = 1 AND storelte_order.status != 1


view
Código (sql) [Seleccionar]
CREATE
    ALGORITHM = UNDEFINED
    DEFINER = `root`@`localhost`
    SQL SECURITY DEFINER
VIEW `storelte`.`ticket` AS
    SELECT
        `storelte`.`storelte_users`.`first_name` AS `first_name`,
        `storelte`.`storelte_users`.`last_name` AS `last_name`,
        `storelte`.`storelte_products`.`description` AS `description`,
        `storelte`.`storelte_order_detail`.`quantity` AS `quantity`,
        `storelte`.`storelte_order_detail`.`price` AS `price`,
        `storelte`.`storelte_order`.`total` AS `total`,
        `storelte`.`storelte_order`.`cash_tend` AS `cash_tend`,
        `storelte`.`storelte_order`.`change_due` AS `change_due`,
        `storelte`.`storelte_order`.`created_at` AS `created_at`
    FROM
        (((`storelte`.`storelte_order_detail`
        JOIN `storelte`.`storelte_products` ON ((`storelte`.`storelte_products`.`id` = `storelte`.`storelte_order_detail`.`product_id`)))
        JOIN `storelte`.`storelte_order` ON ((`storelte`.`storelte_order`.`id` = `storelte`.`storelte_order_detail`.`order_id`)))
        JOIN `storelte`.`storelte_users` ON ((`storelte`.`storelte_users`.`id` = `storelte`.`storelte_order`.`user_id`)))
    WHERE
        ((`storelte`.`storelte_order`.`id` = (SELECT
                MAX(`storelte`.`storelte_order`.`id`)
            FROM
                `storelte`.`storelte_order`))
            AND (`storelte`.`storelte_order`.`user_id` = 1)
            AND (`storelte`.`storelte_order`.`status` <> 0))


#4
emm como es algo pequeño solo notificaciones de client - server y como maximo tendre 2 conexiones haci que no hay problema pero solo ocupo que no tenga que recargar la notificacion para q aparezca
#5
entonces en el ajax como arreglaria para que no tenga q recargar cada ves q se inserta algo en la db el settimeout()
#6
asi es es similar al websocket no es un socket , solo como arreglaria el ajax para que no tenga que recargar para cuando inserto algo a la base de datos porque si me muestra l a notificacion pero tengo que recargar esa parte como la solucionaria?
#7
set_time_limit(0) Limitamos  el tiempo máximo de ejecución  para que el sleep solo de 1s
while(true) un ciclo infinito que en ves que estar pidiendo request cada 3s o 5s lo hize infinito con un estado de pending
exit() terminamos el ciclo infinito
sleep(1) delays de 1s

es lo mas cerca que pude hacer al websocket ya que short polling me iba a hacer request cada 3s o 5s para que lo hize long polling cuando se haga una alteracion a la base de datos , con un efecto similar al websocket pero es http

Código (php) [Seleccionar]

{"notifications":[{"user_id":"1","notification_id":"105","timestamp":"1493078569","id":"105","product_id":"4232","message":"1","type":"1","created_at":"1493078569","status":null}],"timestamp":1493080187}


y este json es lo que me regresa el ciclo
#8
en backend tengo php con codeigniter, lo que pasa es que cuando inserto una notificacion desde mysql deberia ser vista en la web sin recargar ese es el problema q no lo esta haciendo porq tengo q recargar

Código (php) [Seleccionar]
public function pusher(){
$data = $this->session->userdata('log');
$user_id = $data['id'];
header('Content-Type: application/json');
set_time_limit(0);
while (true) {
$firstCall = false;
if ($this->input->get('timestamp')) {
$last_ajax_call = $this->input->get('timestamp');
}else{
$last_ajax_call = time();
            $firstCall = true;
}

clearstatcache();
$notificationsCount = $this->notification->checkForNotifications($user_id, $last_ajax_call);
$newData = (int) $notificationsCount > 0 ? true : false;
$notifications = [];
if ($newData) {
$dataSet = $this->notification->getNotifications($user_id, $last_ajax_call);
foreach ($dataSet as $value) {
$notifications[] = $value;
$finalNotificationTime = $value['timestamp'];
}

$result = array('notifications' => $notifications, 'timestamp' => $finalNotificationTime);
$json = json_encode($result);
echo $json;
break;
}else{
if ($firstCall) {
$dataSet = $this->notification->getUnreadNotifications($user_id);
foreach ($dataSet as $value) {
$notifications[] = $value;
}

$result = array('notifications' => $notifications, 'timestamp' => $last_ajax_call);
$json = json_encode($result);
echo $json;
break;
}

sleep( 1 );
           session_write_close();
           continue;
}
}
exit();
}
#9
asi se ve cuando queiro agregar un nuevo elemento queda igua si no recargo como arreglaria mi ajax https://drive.google.com/open?id=0B5jZAeoqf_UiVGJ5ZXk0UENucUE
#10
lo dejo abierto en espera de un cambio en la base de datos y en google chrome me lo deja asi
pusher?timestamp=1493077051   (pending)   xhr   jQuery-2.1.4.min.js:4   0 B   Pending