Monthly Archives: July 2012

Porturile rezervate.

Port Service
20,21 FTP (File transfer)
22 SSH (Remote login secure)
25 SMTP (Internet mail)
53 DNS (Host naming)
80 HTTP (Web)
88 Kerberos (computer authentication protocol)
110 POP3 (Client access)
119 NNTP (Usenet newsgroups)
123 NTP (Network time)
137-139 NetBIOS (DOS/Windows naming)
143 IMAP (Client access)
161,162 SNMP (Network management)
163,164 CMIP (Network management)
443 HTTPS (Web secure)
514 Syslog (Event logging)
563 NNTPS (Usenet newsgroups secure)
993/tcp IMAP4 over SSL, Internet Message Access Protocol
995/tcp POP3 over SSL, Post Office Protocol
989,990 FTPS (File transfer secure)
1723 Virtual private network (VPN)

 

Sincronizam Outlook cu Voip telefonul in cazul meu GRANDSTREAM GXP-2000

Sincronizam Outlook cu Voip telefonul in cazul meu GRANDSTREAM GXP-2000 care permite importul contactelor prin XML.

Exportam contactele din outlooc intr-un fisier text, cu delimitator TAB.

Rulam scriptul:

<?php

    $file = 'contacts.txt';
    $xml_file = 'gs_phonebook.xml';
    
    $f = fopen($file, 'r');
    
    $delimiter = "\t";
    
    $line = fgets($f);
    
    $AddressBook = array();
    $total = 0;
    
    while (!feof($f)) {
        $line = fgets($f);
        
        $a = explode($delimiter, $line);

        if (count($a) > 1)
        {            
            $FirstName = $a[1];
            $LastName = $a[3];
            $Tel = array();
            
            $tels = array(31, 32, 34, 36,37,38,40,41,42);
            
            foreach ($tels as $id)
            {
                if (isset($a[$id]) && $acc = CheckNumber($a[$id]))
                {
                    $Tel[] = array(‘tel’ => $a[$id], 'acc' => $acc);
                }
            }
            
            if (count($Tel))
            {
                $i = 1;
                foreach ($Tel as $tel)
                {
                    $Contact = array();
                    $Contact[‘LastName’] = $LastName.($i > 1 ? ' – '.$i : '');
                    $Contact[‘FirstName’] = $FirstName;
                    $Contact[‘phonenumber’] = $tel[‘tel’];
                    $Contact[‘accountindex’] = $tel[‘acc’];
                    
                    $AddressBook[] = $Contact;
                    $i++;
                    $total++;
                }
                
                
            }
        }
        
        //echo '<pre>'; print_r($a);  exit;
    }
    
    fclose($f);
    
    //Facem XML-ul
    $xml_output = "<?xml version=\"1.0\"?>\n";
    $xml_output .= "<AddressBook>\n";
    foreach ($AddressBook as $Contact){
    $xml_output .= "\t<Contact>\n";
    $xml_output .= "\t\t<LastName>" . $Contact[‘LastName’] . "</LastName>\n";
    $xml_output .= "\t\t<FirstName>" . $Contact[‘FirstName’] . "</FirstName>\n";
    $xml_output .= "\t\t\t<Phone>\n\t\t\t\t<phonenumber>" . $Contact[‘phonenumber’] . "</phonenumber>\n";
    $xml_output .= "\t\t\t\t<accountindex>" . $Contact[‘accountindex’] . "</accountindex>\n";
    
    $xml_output .= "\t\t\t</Phone>\n";
    $xml_output .= "\t</Contact>\n";
    }

    $xml_output .= "</AddressBook>";
    
    $f = fopen($xml_file, 'w');
    
    fwrite($f, $xml_output);
    
    fclose($f);
    
    
    echo 'Total adaugate : '.$total;
    
    
    
    function CheckNumber($number)
    {
        if (strlen($number) < 5)
        {
            return false;
        }
        
        if (substr($number, 0, 1) == '+')
        {
            str_replace('+', '', $number);
            
            if (substr($number, 0, 2) == '40')
            {
                //E romania
                return 2;
            }
            //Altfel e pe moldova
            return 1;
        }
        
        if (substr($number, 0, 2) == '06' || substr($number, 0, 3) == '078' || substr($number, 0, 3) == '079')
        {
            return 1;
        }
        
        return 2;
    }

Uplodam fisierul pe un domeniu.com

In setarile telefonului bifam "Phonebook XML Download: YES, HTTP."  si indicam calea catre domeniu, NU SI FISIERUL!

EX: www.lideri.com nu www.lideri.com/gs_phonebook.xml

setam o perioada la care sa se faca resincronizarea, si resetam telefonul, ar trebui sa incarce xml-ul la butare.

Succes!

 

Updatam linkurile de pe WP

Am avut de mai multe ori aceasta problema, uneori am apelat la plugin-uri, alteori la copy & replace… acum am facut un mic script :

 

 

<?php

    /*
     * Se apeleaza: domeniu.tld/wp-content/themes/themename/fix.php
     * */

    $txt_old = 'old_domain.com/blog';
    $txt_new = 'new_domain.com';
    
    require '../../../wp-config.php';

    mysql_connect('localhost', DB_USER, DB_PASSWORD);
    mysql_select_db(DB_NAME);
    
    $r = mysql_query('SELECT *
    FROM  `wp_posts`
    WHERE  `post_content` LIKE  "%'.$txt_old.'%"');

    $i = 0;
    while ($row = mysql_fetch_array($r)) {
        mysql_query('UPDATE wp_posts SET '.
        ' post_content = "'.addslashes(str_replace($txt_old, $txt_new, $row[‘post_content’])).'", '.
        ' guid  = "'.addslashes(str_replace($txt_old, $txt_new, $row[‘guid ‘])).'" '.
        ' WHERE ID = '.$row[‘ID’]
        );
        
        $i++;
    }
    echo "<p>Total : $i</p>";
    

    echo 'The end!';

Efecte CSS transaction

Un efect frumos ne da posibilitatea de a da viteza de tranzactionare de de la o culoare la alta, da la o pozitie la alta...fara ca sa folosim JS.

-webkit-transition: height 0.6s;
-moz-transition: height 0.6s;
-o-transition: height 0.6s;
transition: height 0.6s;