Fix dispositivi mobili

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    "Da un semplice Uomo sono diventato un Possente Dio"


    Group
    Founder
    Posts
    2,264

    Status
    Offline
    Siccome nel software per forum che utilizzeremo a mio avviso manca un opzione molto importante dovrei aver trovato il modo di aggiungerla.
    Quello che manca è il poter utilizzare una skin differente per i dispositivi mobili, perchè con la nuova versione del forum hanno fatto una skin che si adatta sia ai computer che hai telefoni, pero il problema è che se faccio una skin che contiene molte immagini sul telefono anche se si adatta è molto piu lenta da caricare (perche le connessioni 3g italiane fanno schifo).
    quindi con l'utilizzo di questo plugin e di questo script dovrei far cambiare in automatico la skin se si utilizza un telefono o tablet:
    CODICE
    <?php
    $current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $mobile_redirect = $mobile_redirect.'?mobile';
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    if(!preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$user_agent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($user_agent,0,4))) {
           if ($_COOKIE['mobile_devices'] != 10 AND strpos($current_url, '?mobile') === false) {
               setcookie('mobile_devices', '10', time()+3600);
               header('Location: '.$mobile_redirect);
           }
    }


    ovviamente se uno vuole poi può selezionare ed utilizzare la skin per i computer, questo script vi imposta la skin mobile soltanto una volta ogni ora quindi se cambiate la skin da quella mobile a quella per pc (e se state usando un dispositivo mobile) dopo un ora vi sara impostata nuovamente la skin mobile e potrete rimettere quella per i pc e cosi via.
     
    .
  2.  
    .
    Avatar

    "Da un semplice Uomo sono diventato un Possente Dio"


    Group
    Founder
    Posts
    2,264

    Status
    Offline
    Riguardando il funzionamento dello script senza poter scaricare la sorgente ho gia corretto un bug xD
    CODICE
    <?php
    $current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $mobile_redirect = 'http://'.$_SERVER['HTTP_HOST'].'/theme.php?mobile';
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$user_agent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($user_agent,0,4))) {
           if ($_COOKIE['mobile_devices'] != 1 AND $current_url == $mobile_redirect) {
               setcookie('mobile_devices', '1', time()+3600);
               setcookie('current_url', $current_url, time()+3600);
               header('Location: '.$mobile_redirect);
           }
    }


    Poi dovrò modificare il redirect che c'è nel plugin con il cookie 'current_url' che ho creato e che indica la prima pagina che avete caricato cosi da evitare che vi indirizzi alla home per cambiare la skin ma rimanga sulla stessa pagina.
    Ma penso che modificherò il plugin integrando queste modifiche anziche tenere i 2 script divisi
     
    .
  3.  
    .
    Avatar

    Group
    Supporter
    Posts
    6,827
    Location
    Hell.

    Status
    Offline
    Bella roba, ci voleva.
     
    .
  4.  
    .
    Avatar

    "Da un semplice Uomo sono diventato un Possente Dio"


    Group
    Founder
    Posts
    2,264

    Status
    Offline
    ovviamente tutta questa roba è per il nuovo forum e non per questo, comunque nel nuovo forum o con il cellulare o con il pc non ci saranno differenze/problemi
     
    .
  5.  
    .

    Group
    Bannato
    Posts
    5,952

    Status
    Anonymous
    Però non capisco a chi spieghi tutte queste cose v.v non ho visto molti utenti svegli qui...
    Scherzi esclusi... Hai avuto un'ottima idea.
     
    .
  6.  
    .
    Avatar

    "Da un semplice Uomo sono diventato un Possente Dio"


    Group
    Founder
    Posts
    2,264

    Status
    Offline
    CITAZIONE (Black Rock Shooter @ 13/5/2014, 02:41) 
    Però non capisco a chi spieghi tutte queste cose v.v non ho visto molti utenti svegli qui...
    Scherzi esclusi... Hai avuto un'ottima idea.

    piu che altro serve a me da promemoria visto che quando smetto di programmare (in genere per un bel po di tempo) poi mi dimentico cosa stavo facendo lol

    comunque a chi interessa ecco le prime immagini delle sezioni che si vedono dalla home, dei topic e dentro le sezioni (in questi screen mostrano la nuova funzione che in un topic i post vengono ordinati da quello che riceve piu voti a quello che ne riceve meno.. come su stackoverflow per chi lo conosce, ma noi non utilizzeremo questo nuovo metodo per ordinare i post ma quello vecchio in base alla data)
    click
     
    .
  7.  
    .

    Group
    Bannato
    Posts
    5,952

    Status
    Anonymous
    Mi sembra giusto xD

    In ogni caso Not Bad :omg:
     
    .
  8.  
    .
    Avatar

    "Da un semplice Uomo sono diventato un Possente Dio"


    Group
    Founder
    Posts
    2,264

    Status
    Offline
    per adesso il software del forum costa 212 euro, spero che con la nuova versione non aumenti il prezzo D:
     
    .
  9.  
    .

    Group
    Bannato
    Posts
    5,952

    Status
    Anonymous
    Magari non aumenta...
    Raddoppia LOL
     
    .
8 replies since 9/5/2014, 18:49   125 views
  Share  
.
Top