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 - gAb1

#441
Si, deben ser los opensource, desde que he vuelto a instalar mint no he descargado ni instalado manualmente ningun driver. Solo los he cambiado desde el update manager, pero al configurar desde el CCC me salen las BSOD.

Voy a probar con el xrandr, necesita instalarse o viene ya preimstalado?
#442
Podria estar formateando todo el dia... Esta es la segunda vez que lo formateo para instalar otra vez Mint.

Acaba de cambiar los drivers, desde el driver manager de fglrx a xserver-xorg-video-ati (recommended) y este es el output de xrandr:

CitarScreen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080      60.0*+
   1680x1050      59.9 
   1400x1050      59.9 
   1600x900       60.0 
   1280x1024      75.0     60.0 
   1440x900       59.9 
   1280x800       59.9 
   1152x864       75.0 
   1280x720       60.0 
   1024x768       75.1     60.0 
   832x624        74.6 
   800x600        75.0     60.3     56.2 
   640x480        75.0     60.0 
   720x400        70.1 
DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080      60.0*+   50.0     59.9 
   1920x1080i     60.1     50.0     60.0 
   1680x1050      59.9 
   1400x1050      59.9 
   1600x900       60.0 
   1280x1024      60.0 
   1440x900       59.9 
   1280x800       59.9 
   1152x864       60.0 
   1280x720       60.0     50.0     59.9 
   1024x768       60.0 
   800x600        60.3 
   720x576        50.0 
   720x480        60.0     59.9 
   640x480        60.0     59.9 
DVI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080      60.0*+   50.0     59.9 
   1920x1080i     60.1     50.0     60.0 
   1680x1050      59.9 
   1400x1050      59.9 
   1600x900       60.0 
   1280x1024      60.0 
   1440x900       59.9 
   1280x800       59.9 
   1152x864       60.0 
   1280x720       60.0     50.0     59.9 
   1024x768       60.0 
   800x600        60.3 
   720x576        50.0 
   720x480        60.0     59.9 
   640x480        60.0     59.9 

Es normal que aparezca el mensaje de: "Runing in software rendering mode:
Cinnamon is currently running without video hardware acceleration and, as a result, you may observe much higher than normal CPU usage. There could be a problem with your drivers or some other issue. For the best experience, it is recommended that you only use this mode for troubleshooting purposes."

Ese es el mismo mensaje que me sale nada mas instalar Mint o en el modo live.

¿Quiere decir que hay algún problema solo con los drivers o un problema físico de la tarjeta?
#443
Si, lo siento, se me ha olvidado añadir más detalles.

El caso es que, con el driver que sea, cuando configuro mis pantallas desde el CCC y al reiniciar, al iniciar sesión sale un mensaje diciendo: cinnamon just crashed... Ayer no se como consegui hacer que funcione una vez, pero cuando se puso afk y volvi a iniciar sesión se congelaron las ventanas, cuando reinicie ya estaban las BSOD.

No se si puede ser el problema, pero tengo conectados los monitores a la tarjeta con cables HDMI <-> DVI, lo único raro que he visto es que no detecta la pantalla central (conectada con DVI y HDMI en la tarjeta) como HDMI, si no como DVI 75 HZ, aunque la seña sea HDMI, y las otras dos tambien las detecta como DVI pero 60 Hz.

Ahora, con el driver libre, al configurar las pantallas, al reiniciar solo se ve la de la izquierda y las demas, al pasar el raton aparece la X roja como cursor, si activo Xinerama al reiniciar ya si que no se ve ninguna pantalla, tengo que pulsar alt+F1/F2 para que aparezcan los iconos, aunque sin poder moverse o abrirse...

Seguramente lo haya hecho mal, pero no veo donde esta el problema: Instalar drivers, reiniciar, configurar pantallas, reiniciar, activar xinerama y reiniciar... Aunque ahora no he instalado nada manualmente, simplemente desde el driver manager cambio a fglrx.
#444
Ayer instale Linux Mint 17.1 Cinnamon Edition para trastearlo y ver que tal va. En principio funciona bien con mi hardware, pero parece que no esta soportando multiples pantallas, aunque por el momento solo he probado escritorio extendido (no eyefinity). Solo funciona bien, los drivers, con 1 solo escritorio y las demás pantallas en modo espejo.

Lo he intentado con los drivers propietarios de AMD, bajando la ultima version de amd.com, instalandolos y lo mismo que los libres: solo funcionan con 1 escritorio, si se configuran mas, al reiniciar aparece la BSOD...

La gráfica es una AMD Radeon R9 290 (Sapphire Tri-X).

Espero que se pueda solucionar de alguna manera, me gustaría migrar a Linux para trabajar.

¿Hay algún usuario de AMD que haya podido configurar bien 2 o más pantallas?

Gracias.
#445
PHP / Re: Conectar a sqlite remoto
7 Noviembre 2014, 13:41 PM
Hmmm pues vaya...

Entonces ya no sé como hacerlo... necesito escribir en esa DB desde PHP para que la aplicación funcione correctamente.

No me importa si tengo que estar descargando, convirtiendo a csv (o el mas comodo para php), editarlo, guardarlo, volver a convertirlo y subir (reemplazando) el archivo, lo importante es que la DB este actualizada.

¿Seria muy dificil hacer esto?

Gracias!
#446
PHP / Conectar a sqlite remoto
7 Noviembre 2014, 12:16 PM
Necesito conectarme a la base de datos de una aplicación desde php, pero por desgracia la aplicación utiliza SQLite (creo que msaccess .mdb). La web utiliza MySQL.

El sistema operativo donde esta la aplicación es Windows, la web esta en Ubuntu. ¿Es posible dar permisos de lectura y escritura a ese archivo para la web en Ubuntu?

Tal vez hay alguna libreria para hacer esto. ¿Es posible?

Gracias!
#447
PHP / Re: JOIN query y mysqli_num_rows
27 Octubre 2014, 22:29 PM
Eso son muchas!! hehehe

Por supuesto xD

Lo marco como solucionado.
#448
PHP / Re: JOIN query y mysqli_num_rows
26 Octubre 2014, 12:28 PM
Gracias por la respuesta, toda ayuda es bien recibida.

Si no me equivoco ¿eso es una subquery?

Código (sql) [Seleccionar]
SELECT user_uploads.*, -- esta es la tabla de las imagenes
   (SELECT COUNT(*) FROM img_likes WHERE img_id = user_uploads.imgID) AS total_likes
FROM user_uploads
ORDER BY up_time DESC


Lo que hace esa query es, obtener todo de la tabla imagenes (user_uploads) y hacer un count de los likes que tiene cada una de las imágenes, ¿no?

Mi única duda aquí es, si la imagen de la id seleccionada seria la misma id usada para hacer el COUNT, no vaya a ser que muestre los likes de una imagen en otra :P

Y en el código php sería poner esto?

Código (php) [Seleccionar]
$total_likes = $ItemInfo['total_likes'];

Gracias!

Edito: Vale ya he conseguido que funcione:

Código (SQL) [Seleccionar]
SELECT
    uu.*,
    m.*,
    (
        SELECT COUNT(t.*)
        FROM img_likes t
        WHERE t.img_id = uu.imgID AND t.user_id = ?
    ) AS user_likes,
    (
        SELECT COUNT(t.*)
        FROM img_likes t
        WHERE t.img_id = uu.imgID
    ) AS total_likes
FROM user_uploads uu
INNER JOIN members m ON m.id = uu.user_id
ORDER BY uu.up_time DESC


Sobre el rendimiento, ¿será mucha carga para el servidor hacer esos COUNT? (cuando hayan bastante entradas en la tabla)

Gracias!
#449
PHP / [Resuelto] JOIN query y mysqli_num_rows
22 Octubre 2014, 22:51 PM
Hola, me gustaría saber como se usa el count cuando necesito juntar varias sentencias en una misma consulta.

Estoy haciendo una lista de fotos con likes: primero necesito obtener todas las imagenes de una tabla, segundo comprobar (row count) si el usuario ya le dio like a la imagen sacando el id de la imagen y por ultimo otro row count para saber cuantos likes tiene la imagen, usando el mismo id de imagen.

Tengo algo así, me falta el count, no estoy seguro de como hacerlo y si usar INNER JOIN:

Código (sql) [Seleccionar]
SELECT user_uploads.* AS uu, members.*, COUNT(img_id, user_id) AS usr_liked, COUNT(img_id) AS total_likes
FROM user_uploads
INNER JOIN members AS m ON m.id = uu.user_id -- owner info
INNER JOIN img_likes AS il ON il.img_id = uu.imgID AND il.user_id = ? -- check if logged in user already liked
INNER JOIN img_likes AS ilt ON ilt.img_id = uu.imgID -- total likes
GROUP BY img_id, user_id
ORDER BY up_time DESC


Tengo un prepared statement y luego con un foreach imprimo todas las imagenes. Pero antes de empezar a imprimir la lista de fotos tengo que comprobar si el usuario ya le dio like a la imagen para cambiar el boton (like o unlike) y sacar el numero total de likes.

Tampoco se, en este caso de juntar tablas, como comprobar el row count, normalmente uso mysqli_num_rows($stmt); pero ahora no se si esto funciona asi.

Código (php) [Seleccionar]
if ($stmt = $mysqli->prepare("SELECT user_uploads.* AS uu, members.*, COUNT(img_id, user_id) AS usr_liked, COUNT(img_id) AS total_likes
                              FROM user_uploads
                              INNER JOIN members AS m ON m.id = uu.user_id
                              INNER JOIN img_likes AS il ON il.img_id = uu.imgID AND il.user_id = ?
                              INNER JOIN img_likes AS ilt ON ilt.img_id = uu.imgID
                              GROUP BY img_id, user_id
                              ORDER BY up_time DESC")) {
$stmt->bind_param('i', $id);
$Items = $stmt->execute(); // get photos

foreach ($Items as $ItemInfo) {

$liked = mysqli_num_rows($Items); // como hacerlo ahora?
$total_likes = mysqli_num_rows($Items);

$img_id = $aItemInfo['img_id'];

if ($liked == 0) {
$like = 'Me gusta';
}
else if ($liked == 1) {
$like = 'Ya no me gusta';
}

$photo_list .= '
// lista de fotos
// boton like
<span class="total_likes" id="lik' . $status_id . '">' . $totallikes . '</span>
<a id="' . $total_likes . '" class="likes">' . $like . '</a>
';
}
}


Si hay alguna forma mejor de hacer esto me gustaría saberla.

Gracias!
#450
No estoy muy seguro de eso, pero asi es como crea la sesión mi funcion login:

Código (php) [Seleccionar]
if ($db_password == $password) {
// Password is correct!
// Get the user-agent string of the user.
$user_browser = $_SERVER['HTTP_USER_AGENT'];
// XSS protection as we might print this value
$user_id = preg_replace("/[^0-9]+/", "", $user_id);
$_SESSION['user_id'] = $user_id;
// XSS protection as we might print this value
$username = preg_replace("/[^a-zA-Z0-9_\-]+/", "", $username);
$_SESSION['username'] = $username;
// XSS protection as we might print this value
$acc_type = preg_replace("/[^a-zA-Z0-9_\-]+/", "", $acc_type);
$_SESSION['acc_type'] = $acc_type;
$_SESSION['pwd_changed'] = $pwd_changed;
$_SESSION['login_string'] = hash('sha512',
  $password . $user_browser);
// Login successful.
$last_ip = get_ip_address();
$mysqli->query("UPDATE members SET last_ip='{$last_ip}' WHERE id='{$user_id}'");
return true;
}


Asi es como empiezo las sesiones:

Código (php) [Seleccionar]
function sec_session_start() {
    $session_name = 'sec_session_id';   // Set a custom session name
    $secure = SECURE;
    // This stops javascript being able to access the session id.
    $httponly = true;
    // Forces sessions to only use cookies.
    if (ini_set('session.use_only_cookies', 1) === FALSE) {
        header("Location: /error?err=No se pudo iniciar una sesión segura (ini_set)");
        exit();
    }
    // Gets current cookies params.
    $cookieParams = session_get_cookie_params();
    session_set_cookie_params($cookieParams["lifetime"],
        $cookieParams["path"],
        $cookieParams["domain"],
        $secure,
        $httponly);
    // Sets the session name to the one set above.
    session_name($session_name);
    session_start();            // Start the PHP session
    session_regenerate_id();    // regenerated the session, delete the old one.
}


Y este es el logout.php

Código (php) [Seleccionar]
// Unset all session values
$_SESSION = array();

// get session parameters
$params = session_get_cookie_params();

// Delete the actual cookie.
setcookie(session_name(),
'', time() - 42000,
$params["path"],
$params["domain"],
$params["secure"],
$params["httponly"]);

// Destroy session
session_destroy();
header('Location: /home');


Creo que el problema esta en la función sec_session_start() .... Pero no estoy seguro, si alguien pudiese confirmarmelo :)

Gracias!