Friday, December 25, 2015

Phân phối Bột cao đạm không nhiễm Urê, LH 0947 222 309

Phân phối Bột cao đạm không nhiễm Urê, LH 0947 222 309


Phân phối Bột cao đạm không nhiễm Urê, LH 0947 222 309

Posted: 25 Dec 2015 01:10 AM PST




Chuyên cung cấp các loại Bột cao đạm, được dùng để phối trộn nhằm giúp tăng độ đạm cho các loại nguyên liệu thức ăn gia súc, thủy sản. Hiện nay, có rất nhiều loại sản phẩm có chất lượng và giá thành khác nhau. Khách hàng có thể lựa chọn một trong các loại sản phẩm bên dưới tùy theo nhu cầu và mục đích sử dụng của mình, bao gồm:
BỘT CAO ĐẠM KHÔNG URE, MELANIN
Đạm: 65, 100 và 140 (3 loại)
Tro: 6,5 max
Ẩm: 10 max
Béo: 0,7
Xơ: 24
Màu sắc: vàng, xám (2 màu)
Không Urê, Melanin và các hóa chất gây hại.
BỘT CAO ĐẠM CÓ NHIỄM URE, KHÔNG MELANIN
Đạm: 80% min
Tro: 25
Ẩm: 10% max
Béo: 3% max
Màu sắc (vàng chanh, nâu nhạt và nâu đậm), có độ mịn cao và đồng nhất, có thể phối trộn với nhiều loại nguyên liệu và không cho ra màu thứ 3. Hàng không nhiễm Melanine và vi sinh vật gây hại.
Khách hàng có nhu cầu và cần thêm thông tin chi tiết về sản phẩm, xin vui lòng liên hệ: Mr Tùng (0947 222 309)
Cung cấp trong phạm vi toàn quốc, số lượng lớn và sản lượng ổn định.
Rất mong nhận được sự hợp tác !
LIÊN HỆ TRỰC TIẾP ĐỂ CÓ GIÁ TỐT NHẤT

Tags: bột cá biển, bột xương thịt, bột lông vũ, nguyên liệu thức ăn chăn nuôi, bột cao đạm, bột tăng đạm, bột nâng đạm, bột dinh dưỡng, bdd2, bdd4, bột sữa 80 đạm, bột đạm cao, bột hỗ trợ tăng đạm, bột cao đạm không ure, bot tăng đạm không ure








----------
Nguồn www.yeuquangngai.net

Language Locale Switch MOD

Posted: 24 Dec 2015 08:53 PM PST




Mã HTML:

<select id="localeSwitch" name="localeSwitch" size="1" onChange="javascript:setLocale(this.value);">
<option value="US">International</option>
<option value="SG">Singapore</option>
<option value="TW">Taiwan (台灣)</option>
<option value="PH">Philippines (Pilipinas)</option>
<option value="TH">Thailand (ราชอาณาจักรไทย)</option>
<option value="ID">Indonesia</option>
<option value="VN">Vietnam (Việt Nam)</option>
<option value="RU">Russia (Россия)</option>
<option value='MY'>Malaysia</option>
<option value='USA'>United States</option>
</select>

<script type="text/javascript">
function setLocale(locale) {
window.location = 'http://domain.com/process_change_locale/?locale='+locale;
}
</script>

<script type="text/javascript">
var localeSwitch = document.getElementById('localeSwitch');

for (i=0; i<localeSwitch.options.length; i++) {
if (localeSwitch.options[i].value=='VN')
{
localeSwitch.options[i].selected=true;
}
}
</script>










----------
Nguồn www.yeuquangngai.net

Get link google picasa & plus

Posted: 24 Dec 2015 08:46 PM PST




K-Google-Get-link-google-picasa-plus

[J2TeaM]K-Google - Get link google picasa & plus

Requirement: PHP v5.3 > cURL

https://github.com/Killer54119/K-Google

kGoogle.class.php

Mã PHP:

<?php 
/** 
 * [J2TeaM] Get link google picasa & plus 
 * 
 * @package Base 
 * @author Killer <killer.vn54119@hotmail.com> 
 * @version 1.0.0 
 * @release: October 11, 2015 
 * @update: October 19, 2015 
 * @library: PHP Classes cURL https://github.com/php-curl-class/php-curl-class 
 * 
 */ 
class J2T_Exception extends Exception {} 
class 
J2T 

    const 
VERSION '1.0.0'
    const 
APPNAME '[J2TeaM]K-Google'

    protected 
$Link ''
    private 
$_plugins = array( 
        
'google_picasa' => 'Google_Picasa'
        
'google_plus' => 'Google_Plus' 
    
); 

    protected 
$_is_plugin_loader null

    protected 
$Format false

    public function 
run(){ 
        
$this->plugins(); 
        if(
null === $this->_is_plugin_loader) return; 
        
$this->_is_plugin_loader->run(); 
        return 
$this->render(); 
    } 

    public function 
render(){ 
        if(
'json'==$this->Format){ 
            
header('Content-Type: application/json'); 
        } 
        return 
json_encode($this->_is_plugin_loader->data); 
    } 

    public function 
plugins(array $plugins_name = array()){ 
        
$prefix_class 'J2T_Plugin_'
        if(empty(
$plugins_name)){ 
            
$plugins_name $this->_plugins
        } 
        
$class_name ''
        
$_is_plugin_loader ''
        foreach(
$plugins_name as $key => $plugin_name){ 
            
$class_name $prefix_class $plugin_name
            if(!
class_exists($class_name)){ 
                throw new 
J2T_Exception('Attempted to load an invalid or missing plugin!'); 
            }else{ 
                
$plugin_loader = new $class_name
                if(
$plugin_loader->validLink($this->getLink) != false){ 
                    
$this->_is_plugin_loader $plugin_loader
                } 
                unset(
$plugin_loader); 
            } 
            unset(
$class_name); 
        } 
        return; 
    } 

    public function 
__get($name){ 
        
$_method_exists = ((substr($name,0,3) == 'get') ? true false); 
        
$method_name substr($name,3); 
        if(!
$_method_exists){ 
            throw new 
J2T_Exception('Method is not exists!'); 
        }else{ 
            if(!
method_exists($this,$method_name) == false){ 
                throw new 
J2T_Exception('Method is not exists!'); 
            }else{ 
                return 
$this->{$method_name}; 
            } 
        } 
        return; 
    } 

    public function 
__set($name$params){ 

        
$_method_exists = ((substr($name,0,3) == 'set') ? true false); 
        
$method_name substr($name,3); 
        if(!
$_method_exists){ 
            throw new 
J2T_Exception('Method is not exists!'); 
        }else{ 
            if(!
method_exists($this,$method_name) == false){ 
                throw new 
J2T_Exception('Method is not exists!'); 
            }else{ 
                
$this->{$method_name} = $params
            } 
        } 
        return; 
    } 


/** 
 * Library cURL 
 * Source: https://github.com/php-curl-class/php-curl-class 
 * 
 * @package HTTP 
 * @author Killer <killer.vn54119@hotmail.com> 
 * @version 1.0.0 
 * 
 */ 
class J2T_HTTP 
    const 
DEFAULT_TIMEOUT 30
    
/** 
     * 
     * @var object 
     */ 
    
protected static $_instance
    
/** 
     * 
     * @var string 
     */ 
    
public $base_url ''
    protected 
$url
    
/** 
     * 
     * @var resource 
     */ 
    
private $ch
    
/** 
     * 
     * @var array 
     */ 
    
protected $_options = array(); 
    
/** 
     * 
     * @var array 
     */ 
    
protected $_headers = array(); 
    
/** 
     * 
     * @var array 
     */ 
    
protected $_cookies = array(); 
    public 
$raw_response
    
/** 
     * 
     * @var string 
     */ 
    
public $raw_response_headers ''
    
/** 
     * 
     * @var array 
     */ 
    
public $raw_response_cookies = array(); 
    
/** 
     * 
     * @var array 
     */ 
    
public $errors = array( 
        
'status'
        
'code'
        
'msg'
        
'curl' => array( 
            
'status'
            
'code'
            
'msg'
        ), 
        
'http' => array( 
            
'status'
            
'code'
            
'msg' 
        

    ); 
    public 
$response
    public 
$request_headers
    public 
$response_headers

    
/** 
    private $successFunction = null; 
    private $errorFunction = null; 
    private $completeFunction = null; 
    **/ 
    /** 
     * 
     * @var type 
     */ 
    
private $_is_json null
    
/** 
     * 
     * @var array 
     */ 
    
private $_pattern = array( 
        
'json' => '/^(?:application|text)\/(?:[a-z]+(?:[\.-][0-9a-z]+){0,}[\+\.]|x-)?json(?:-[a-z]+)?/i'
        
'xml' => '~^(?:text/|application/(?:atom\+|rss\+)?)xml~i' 
    
); 

    
/** 
     * 
     * @param string $base_url 
     * @throws J2T_Exception 
     */ 
    
public function __construct($base_url null){ 
        if(!
extension_loaded('curl')){ 
            throw new 
J2T_Exception('cURL library is not loaded!'); 
        } 
        
$this->setup($base_url); 
    } 

    
/** 
     * 
     * @return object 
     */ 
    
public static function instance(){ 
        if(
self::$_instance == NULL){ 
            
self::$_instance = new self
        } 
        return 
self::$_instance
    } 

    
/** 
     * 
     * @param string $url 
     * @return \J2T_HTTP 
     */ 
    
public function setup($url null){ 
        
$this->ch curl_init(); 
        
$this->_defaultUserAgent(); 
        
$this->_defaultTimeout(); 

        
//..... 
        
$this->setOption(CURLINFO_HEADER_OUTtrue); 
        
$this->setOption(CURLOPT_HEADERFUNCTION, array($this'_rawResponseHeaders')); 
        
$this->setOption(CURLOPT_RETURNTRANSFERtrue); 
        
$this->_headers = new CaseInsensitiveArray(); 
        
$this->setURL($url); 
        return 
$this
    } 

    
/** 
     * 
     * @param string $url 
     * @param array $data 
     * @return string 
     */ 
    
public function get($url$data = array()){ 
        if(
is_array($url)){ 
            
$data $url
            
$url $this->base_url
        } 
        
$this->setURL($url$data); 
        
$this->setOption(CURLOPT_CUSTOMREQUEST'GET'); 
        
$this->setOption(CURLOPT_HTTPGETtrue); 
        return 
$this->execute(); 
    } 

    
/** 
     * 
     * @param string $url 
     * @param array $data 
     * @return string 
     */ 
    
public function post($url$data = array()){ 
        if (
is_array($url)) { 
            
$data $url
            
$url $this->base_url
        } 
        
$this->setURL($url); 
        
$this->setOption(CURLOPT_CUSTOMREQUEST'POST'); 
        
$this->setOption(CURLOPT_POSTtrue); 
        
$this->setOption(CURLOPT_POSTFIELDS$this->_buildPostParams($data)); 
        return 
$this->execute(); 
    } 

    
/** 
     * 
     * @param string $url 
     * @param array $data 
     * @return string 
     */ 
    
public function options($url$data = array()){ 
        if (
is_array($url)) { 
            
$data $url
            
$url $this->base_url
        } 
        
$this->setURL($url$data); 
        
$this->unsetHeader('Content-Length'); 
        
$this->setOption(CURLOPT_CUSTOMREQUEST'OPTIONS'); 
        return 
$this->execute(); 
    } 

    
/** 
     * 
     * @return string 
     */ 
    
public function execute(){ 
        
//self::_callfunc($this->beforeSendFunction); 
        
$this->raw_response $this->_rawResponse(); 
        
$this->errors['curl']['code'] = $this->_raw_curl_errno(); 

        
$this->errors['curl']['msg'] = $this->_raw_curl_error_msg(); 
        
$this->errors['curl']['status'] = !($this->errors['curl']['code'] === 0); 

        
$this->errors['http']['code'] = $this->_getinfo_http_code(); 
        
$this->errros['http']['status'] = in_array(floor($this->errors['http']['code'] / 100), array(45)); 

        
$this->errors['status'] = $this->errors['curl']['status'] || $this->errros['http']['status']; 
        
$this->errors['code'] = $this->errors['status'] ? ($this->errors['curl']['status'] ? $this->errors['curl']['code'] : $this->errors['http']['code']) : 0

        if(
$this->getOption(CURLINFO_HEADER_OUT) === true) { 
            
$this->request_headers $this->_parseRequestHeaders($this->_getinfo_header_out()); 
        } 
        
$this->response_headers $this->_parseResponseHeaders($this->raw_response_headers); 
        list(
$this->response$this->raw_response) = $this->_parseResponse($this->response_headers$this->raw_response); 

        
$this->errors['http']['msg'] = ''

        if(
$this->errors['status']){ 
            if (isset(
$this->response_headers['Status-Line'])) { 
                
$this->errors['http']['msg'] = $this->response_headers['Status-Line']; 
            } 
            
$this->errors['msg'] = $this->errors['curl']['status'] ? $this->errors['curl']['msg'] : $this->errors['http']['msg']; 
            
//self::_callfunc($this->errorFunction); 
        
}else{ 
            
//self::_callfunc($this->successFunction); 
        

        
//self::_callfunc($this->completeFunction); 
        
return $this->response
    } 

    
/** 
     * 
     * @return string 
     */ 
    
protected function _getinfo_header_out(){ 
        return 
$this->getInfo(CURLINFO_HEADER_OUT); 
    } 

    
/** 
     * 
     * @return string 
     */ 
    
protected function _getinfo_http_code(){ 
        return 
$this->getInfo(CURLINFO_HTTP_CODE); 
    } 

    
/** 
     * 
     * @return type 
     */ 
    
protected function _raw_curl_error_msg(){ 
        return 
curl_error($this->ch); 
    } 

    
/** 
     * 
     * @return type 
     */ 
    
protected function _raw_curl_errno(){ 
        return 
curl_errno($this->ch); 
    } 

    
/** 
     * 
     * @return string 
     */ 
    
protected function _rawResponse(){ 
        return 
curl_exec($this->ch); 
    } 

    
/** 
     * 
     * @param resource $ch 
     * @param string $headers 
     * @return int 
     */ 
    
protected function _rawResponseHeaders($ch$headers){ 
        if (
preg_match('/^Set-Cookie:\s*([^=]+)=([^;]+)/mi'$headers$cookies) == 1) { 
            
$this->raw_response_cookies[$cookies[1]] = $cookies[2]; 
        } 
        
$this->raw_response_headers .= $headers
        return 
strlen($headers); 
    } 

    
/** 
     * 
     * @param array $params 
     * @return \CURLFile 
     */ 
    
protected function _buildPostParams($params){ 
        if(
is_array($params)){ 
            if(
J2T_Array::is_array_multidim($params)){ 
                if(isset(
$this->_headers['Content-Type'])){ 
                    
$json_enc json_encode($params); 
                    if(!(
$json_enc === false)){ 
                        
$params $json_enc
                    } 
                }else{ 
                    
$params self::http_build_multi_query($params); 
                } 
            }else{ 
                
$binary_data false
                foreach(
$params as $key => $value){ 
                    if (
is_array($value) && empty($value)) { 
                        
$params[$key] = ''
                    }elseif(
is_string($value) && strpos($value'@') === 0){ 
                        
$binary_data true
                        if (
class_exists('CURLFile')) { 
                            
$params[$key] = new CURLFile(substr($value1)); 
                        } 
                    }elseif(
$value instanceof CURLFile) { 
                        
$binary_data true
                    } 
                } 
                if(!
$binary_data){ 
                    if(isset(
$this->headers['Content-Type']) && 
                        
preg_match($this->_pattern['json'], $this->headers['Content-Type'])) { 
                        
$json_str json_encode($data); 
                        if (!(
$json_str === false)) { 
                            
$data $json_str
                        } 
                    } else { 
                        
$data http_build_query($data'''&'); 
                    } 
                } 
            } 
        } 
        return 
$params
    } 

    
/** 
     * 
     * @param string $opt 
     * @return string|array 
     */ 
    
public function getOption($opt){ 
        return 
$this->_options[$opt]; 
    } 

    
/** 
     * 
     */ 
    
private function _defaultTimeout(){ 
        
$this->setTimeout(self::DEFAULT_TIMEOUT); 
    } 

    
/** 
     * 
     */ 
    
private function _defaultUserAgent(){ 
        
$this->setUserAgent("aaa"); 
    } 

    
/** 
     * 
     * @param string $username 
     * @param string $password 
     * @return \J2T_HTTP 
     */ 
    
public function setBasicAuthentication($username$password ''){ 
        
$this->setOption(CURLOPT_HTTPAUTHCURLAUTH_BASIC); 
        
$this->setOption(CURLOPT_USERPWD$username ':' $password); 
        return 
$this
    } 

    
/** 
     * 
     * @param string $username 
     * @param string $password 
     * @return \J2T_HTTP 
     */ 
    
public function setDigestAuthentication($username$password ''){ 
        
$this->setOption(CURLOPT_HTTPAUTHCURLAUTH_DIGEST); 
        
$this->setOption(CURLOPT_USERPWD$username ':' $password); 
        return 
$this
    } 

    
/** 
     * 
     * @param string $key 
     * @param string $value 
     * @return type 
     */ 
    
public function setCookie($key$value){ 
        
$this->_cookies[$key] = $value
        return 
$this->setOption(CURLOPT_COOKIEstr_replace(' ''%20'urldecode(http_build_query($this->_cookies'''; ')))); 
    } 

    
/** 
     * 
     * @param string $key 
     * @return string 
     */ 
    
public function getCookie($key){ 
        return isset(
$this->raw_response_cookies[$key]) ? $this->raw_response_cookies[$key] : null
    } 

    
/** 
     * 
     * @param int $port_num 
     * @return type 
     */ 
    
public function setPort($port_num){ 
        return 
$this->setOption(CURLOPT_PORTintval($port_num)); 
    } 

    
/** 
     * 
     * @param int $sec 
     * @return type 
     */ 
    
public function setConnectTimeout($sec){ 
        return 
$this->setOption(CURLOPT_CONNECTTIMEOUT$sec); 
    } 

    
/** 
     * 
     * @param string $cookiefile 
     * @return type 
     */ 
    
public function setCookieFile($cookiefile){ 
        return 
$this->setOption(CURLOPT_COOKIEFILE$cookiefile); 
    } 

    
/** 
     * 
     * @param string $cookiejar 
     * @return type 
     */ 
    
public function setCookieJar($cookiejar){ 
        return 
$this->setOption(CURLOPT_COOKIEJAR,$cookiejar); 
    } 

    
/** 
     * 
     * @param string $option 
     * @return string 
     */ 
    
public function getInfo($option){ 
        return 
$this->_getInfo($option); 
    } 

    
/** 
     * 
     * @param string $option 
     * @param string $value 
     * @return type 
     * @throws J2T_Exception 
     */ 
    
public function setOption($option$value){ 
        
$required_options = array( 
            
CURLOPT_RETURNTRANSFER => 'CURLOPT_RETURNTRANSFER'
        ); 
        if (
in_array($optionarray_keys($required_options), true) && !($value === true)) { 
            throw new 
J2T_Exception($required_options[$option] . ' is a required option'); 
        } 
        
$this->_options[$option] = $value
        return 
$this->_setOpt($option,$value); 
    } 

    
/** 
     * 
     * @param string $opt 
     * @return string 
     */ 
    
protected function _getInfo($opt){ 
        return 
curl_getinfo($this->ch$opt); 
    } 

    
/** 
     * 
     * @param string $opt 
     * @param string $val 
     * @return type 
     */ 
    
protected function _setOpt($opt$val){ 
        return 
curl_setopt($this->ch,$opt,$val); 
    } 

    
/** 
     * 
     * @param string $k 
     * @param string $val 
     * @return type 
     */ 
    
public function setHeader($k,$val){ 
        
$this->_headers[$k] = $val
        
$headers = array(); 
        foreach(
$this->_headers as $key => $value){ 
            
$headers[] = $key ': ' $value
        } 
        return 
$this->setOption(CURLOPT_HTTPHEADER$headers); 
    } 

    
/** 
     * 
     * @param string $ref 
     * @return type 
     */ 
    
public function setReferrer($ref){ 
        return 
$this->setOption(CURLOPT_REFERER$ref); 
    } 

    
/** 
     * 
     * @param int $sec 
     * @return type 
     */ 
    
public function setTimeout($sec){ 
        return 
$this->setOption(CURLOPT_TIMEOUT$sec); 
    } 

    
/** 
     * 
     * @param string $url 
     * @param array $data 
     * @return type 
     */ 
    
public function setURL($url,$data = array()){ 
        
$this->base_url $url
        
$this->url $this->_buildURL($url$data); 
        return 
$this->setOption(CURLOPT_URL$this->url); 
    } 

    
/** 
     * 
     * @param string $useragent 
     * @return type 
     */ 
    
public function setUserAgent($useragent){ 
        return 
$this->setOption(CURLOPT_USERAGENT,$useragent); 
    } 

    
/** 
     * 
     * @param array $data 
     * @param string $key 
     * @return string 
     */ 
    
public static function http_build_multi_query($data$key null){ 
        
$query = array(); 
        if(empty(
$data)){ 
            return 
$key '='
        } 
        
$is_array_assoc J2T_Array::is_array_assoc($data); 
        foreach(
$data as $k => $value) { 
            if(
is_string($value) || is_numeric($value)){ 
                
$brackets $is_array_assoc '[' $k ']' '[]'
                
$query[] = urlencode($key === null $k $key $brackets) . '=' rawurlencode($value); 
            }elseif (
is_array($value)){ 
                
$nested $key === null $k $key '[' $k ']'
                
$query[] = self::http_build_multi_query($value$nested); 
            } 
        } 
        return 
implode('&'$query); 
    } 

    
/** 
     * 
     * @param string $url 
     * @param array $data 
     * @return string 
     */ 
    
private function _buildURL($url$data = array()){ 
        return 
$url . (empty($data) ? '' '?' http_build_query($data)); 
    } 

    
/** 
     * 
     * @param array $raw_headers 
     * @return array 
     */ 
    
private function _parseHeaders($raw_headers){ 
        
$raw_headers preg_split('/\r\n/'$raw_headersnullPREG_SPLIT_NO_EMPTY); 
        
$http_headers = new CaseInsensitiveArray(); 
        
$raw_headers_count count($raw_headers); 
        for(
$i 1$i $raw_headers_count$i++){ 
            list(
$key$value) = explode(':'$raw_headers[$i], 2); 
            
$key trim($key); 
            
$value trim($value); 
            
// Use isset() as array_key_exists() and ArrayAccess are not compatible. 
            
if(isset($http_headers[$key])) { 
                
$http_headers[$key] .= ',' $value
            }else{ 
                
$http_headers[$key] = $value
            } 
        } 
        return array(isset(
$raw_headers['0']) ? $raw_headers['0'] : ''$http_headers); 
    } 

    
/** 
     * 
     * @param array $raw_headers 
     * @return type 
     */ 
    
private function _parseRequestHeaders($raw_headers){ 
        
$request_headers = new CaseInsensitiveArray(); 
        list(
$first_line$headers) = $this->_parseHeaders($raw_headers); 
        
$request_headers['Request-Line'] = $first_line
        foreach(
$headers as $key => $value){ 
            
$request_headers[$key] = $value
        } 
        return 
$request_headers
    } 

    
/** 
     * 
     * @param type $raw_response_headers 
     * @return type 
     */ 
    
private function _parseResponseHeaders($raw_response_headers){ 
        
$response_header_array explode("\r\n\r\n"$raw_response_headers); 
        
$response_header  ''
        for(
$i count($response_header_array) - 1$i >= 0$i--){ 
            if(
stripos($response_header_array[$i], 'HTTP/') === 0){ 
                
$response_header $response_header_array[$i]; 
                break; 
            } 
        } 
        
$response_headers = new CaseInsensitiveArray(); 
        list(
$first_line$headers) = $this->_parseHeaders($response_header); 
        
$response_headers['Status-Line'] = $first_line
        foreach (
$headers as $key => $value) { 
            
$response_headers[$key] = $value
        } 
        return 
$response_headers
    } 

    
/** 
     * 
     * @param type $response_headers 
     * @param type $raw_response 
     * @return array 
     */ 
    
private function _parseResponse($response_headers$raw_response){ 
        
$response $raw_response
        if(isset(
$response_headers['Content-Type'])) { 
            if (
preg_match($this->_pattern['json'], $response_headers['Content-Type'])) { 
                
$json_decoder $this->_is_json
                if (
is_callable($json_decoder)) { 
                    
$response $json_decoder($response); 
                } 
            }elseif(
preg_match($this->_pattern['xml'], $response_headers['Content-Type'])){ 
                
$xml_obj = @simplexml_load_string($response); 
                if (!(
$xml_obj === false)) { 
                    
$response $xml_obj
                } 
            } 
        } 
        return array(
$response$raw_response); 
    } 

    
/** 
     * 
     */ 
    
protected static function _callfunc(){ 
        
$args func_get_args(); 
        
$function array_shift($args); 
        if(
is_callable($function)){ 
            
array_unshift($argsself::instance()); 
            
call_user_func_array($function$args); 
        } 
    } 

    
/** 
     * 
     * @param string $key 
     */ 
    
public function unsetHeader($key){ 
        
$this->setHeader($key''); 
        unset(
$this->_headers[$key]); 
    } 

    
/** 
     * 
     * @param type $on 
     * @param type $output 
     * @return \J2T_HTTP 
     */ 
    
public function verbose($on true$output=STDERR){ 
        
// Turn off CURLINFO_HEADER_OUT for verbose to work. This has the side 
        // effect of causing Curl::requestHeaders to be empty. 
        
if ($on){ 
            
$this->setOption(CURLINFO_HEADER_OUTfalse); 
        } 
        
$this->setOption(CURLOPT_VERBOSE$on); 
        
$this->setOption(CURLOPT_STDERR$output); 
        return 
$this
    } 

    public function 
__destruct(){ 
        if(
is_resource($this->ch)){ 
            
curl_close($this->ch); 
        } 
        unset(
$this->options); 
        
$this->_is_json null
    } 

/** 
 * Library Array & CaseInsensitiveArray 
 * 
 * @package Array 
 * @author Killer <killer.vn54119@hotmail.com> 
 * @version 1.0.0 
 * 
 */ 
class J2T_Array 
    
/** 
     * 
     * @return boolean 
     */ 
    
public static function is_array_multidim(){ 
        if (!
is_array($array)){ 
            return 
false
        } 
        return (bool)
count(array_filter($array'is_array')); 
    } 

    
/** 
     * 
     * @param array $array 
     * @return boolean 
     */ 
    
public static function is_array_assoc($array){ 
        return (bool)
count(array_filter(array_keys($array), 'is_string')); 
    } 

class 
CaseInsensitiveArray implements ArrayAccessCountableIterator 

    private 
$container = array(); 
    public function 
offsetSet($offset$value) { 
        if(
$offset === null) { 
            
$this->container[] = $value
        }else{ 
            
$index array_search(strtolower($offset), array_keys(array_change_key_case($this->containerCASE_LOWER))); 
            if (!(
$index === false)) { 
                
$keys array_keys($this->container); 
                unset(
$this->container[$keys[$index]]); 
            } 
            
$this->container[$offset] = $value
        } 
    } 

    public function 
offsetExists($offset){ 
        return 
array_key_exists(strtolower($offset), array_change_key_case($this->containerCASE_LOWER)); 
    } 

    public function 
offsetUnset($offset){ 
        unset(
$this->container[$offset]); 
    } 

    public function 
offsetGet($offset){ 
        
$index array_search(strtolower($offset), array_keys(array_change_key_case($this->containerCASE_LOWER))); 
        if(
$index === false){ 
            return 
null
        } 
        
$values array_values($this->container); 
        return 
$values[$index]; 
    } 

    public function 
count(){ 
        return 
count($this->container); 
    } 

    public function 
current(){ 
        return 
current($this->container); 
    } 

    public function 
next(){ 
        return 
next($this->container); 
    } 

    public function 
key(){ 
        return 
key($this->container); 
    } 

    public function 
valid(){ 
        return !(
$this->current() === false); 
    } 

    public function 
rewind(){ 
        
reset($this->container); 
    } 

/** 
 * Plugin Picasa & Plus 
 * 
 * @package Plugin 
 * @author Killer <killer.vn54119@hotmail.com> 
 * @version 1.0.0 
 * 
 */ 
abstract class J2T_Plugin_Abstract 
    protected 
$plugin_id
    public 
$HTTP
    public 
$base_url
    public 
$data

    public function 
__construct(){ 
        
$this->plugin_id null
        
$this->HTTP J2T_HTTP::instance(); 
        
$this->base_url null
        
$this->data null
    } 

    protected function 
_getFormatQuality($resolution){ 
        switch(
true){ 
            case (
$resolution >= 200 && $resolution 300): 
                return 
'240p'
                break; 
            case (
$resolution >= 600 && $resolution 700): 
                return 
'360p'
                break; 
            case (
$resolution >= 800 && $resolution 900): 
                return 
'480p'
                break; 
            case (
$resolution >= 1200 && $resolution 1300): 
                return 
'720p'
                break; 
            case (
$resolution >= 1900 && $resolution 2000): 
                return 
'1080p'
                break; 
            default: 
                return 
false
        } 
    } 
    abstract protected function 
run(); 
    abstract protected function 
getSource(); 
    abstract protected function 
validLink($base_url); 

class 
J2T_Plugin_Google_Picasa extends J2T_Plugin_Abstract 

    
/** 
     * 
     * @var string 
     */ 
    
protected $plugin_id 'picasa.google.com'
    
/** 
     * 
     * @var int 
     */ 
    
private $_photoid null
    
/** 
     * 
     * @var array 
     */ 
    
private $_pattern = array( 
        
'valid_link' => array( 
            
'/picasaweb.google.com\/lh\/photo\/[a-zA-Z0-9_-]+/i'
            
'/picasaweb.google.com\/([0-9]{21,23})\/[\w]*#([0-9]{19,20})/i'
            
//'/picasaweb.google.com\/([0-9]{21,23})\/[\w]*([a-zA-Z0-9_=?]+)#([0-9]{19,20})/i', 
            
'/picasaweb.google.com\/([0-9]{21,23})\/[\w]*([a-zA-Z0-9_=?]+)/i' 
        
), 
        
'json' => array( 
            
'/{\'preload\':\s*(.+)}},/ism'
            
'/feedPreload:\s*(.+)}},/ism' 
        

    ); 
    
/** 
     * 
     * @var array 
     */ 
    
public $data

    function 
__construct(){ 
        
parent::__construct(); 
    } 

    public function 
run(){ 
        
$this->data $this->getMediaContent(); 
        return; 
    } 

    
/** 
     * 
     * @return array 
     */ 
    
private function getMediaContent(){ 
        
$media_title $this->getPhoto()->title
        
$media_content $this->getPhoto()->media->content
        
$data = array(); 
        foreach(
$media_content as $key => $value){ 
            if(
$value->type == 'video/mpeg4'){ 
                
$quality $this->_getFormatQuality($value->width); 
                
$quality = ($quality != false) ? $quality $value->width .'p'
                
$default = ($quality == '360p') ? true false
                
$url = (strpos($value->url"googleusercontent") == true) ? $value->url '?filename='.$media_title $value->url
                
$data[] = array( 
                    
//'type'      => $value->type, 
                    
'type'      => 'mp4'
                    
'label'     => $quality
                    
'height'    => $value->height
                    
'width'     => $value->width
                    
'file'      => $url
                    
'default'   => $default 
                
); 
            } 
            unset(
$media_content[$key]); 
        } 
        return 
$data
    } 

    
/** 
     * 
     * @return array 
     */ 
    
private function getPhoto(){ 
        
$source $this->getSource(); 
        foreach(
$this->_pattern['json'] as $pattern){ 
            
$cFeed preg_match($pattern,$source,$matches); 
            if(
$cFeed 0){ 
                
$feedJson json_decode($matches[1]."}"); 
                
$contentFeed $feedJson->feed
                
$_current_photo = array(); 
                if(isset(
$contentFeed->entry)){ 
                    foreach(
$contentFeed->entry as $key => $photo){ 
                        if(
$this->_photoid == $photo->{'gphoto$id'}){ 
                            
$_current_photo $contentFeed->entry[$key]; 
                            break; 
                        }else{ 
                            
$_current_photo $contentFeed->entry[$key]; 
                        } 
                        unset(
$contentFeed->entry[$key]); 
                    } 
                }else{ 
                    
$_current_photo $contentFeed
                    break; 
                } 
                unset(
$contentFeed,$feedJson); 
            } 
            unset(
$matches); 
        } 
        unset(
$source); 
        return 
$_current_photo
    } 

    
/** 
     * 
     * @return string 
     */ 
    
public function getSource(){ 
        
$this->HTTP->setOption(CURLOPT_ENCODING 'gzip'); 
        
$this->HTTP->setOption(CURLOPT_SSL_VERIFYPEERfalse); 
        return 
$this->HTTP->get($this->base_url); 
    } 

    
/** 
     * 
     * @param string $base_url 
     * @return boolean 
     */ 
    
public function validLink($base_url){ 
        foreach(
$this->_pattern['valid_link'] as $pattern){ 
            if(
preg_match($pattern$base_url) != false){ 
                
$this->base_url $base_url
                
$photoid preg_match('/[\^#](\d+)/',$base_url,$matches); 
                if(
$photoid 0){ 
                    
$this->_photoid $matches[1]; 
                } 
                return 
true
            } 
            unset(
$pattern); 
        } 
        return 
false
    } 

class 
J2T_Plugin_Google_Plus extends J2T_Plugin_Abstract 

    
/** 
     * 
     * @var string 
     */ 
    
protected $plugin_id 'plus.google.com'

    
/** 
     * 
     * @var int 
     */ 
    
private $_photoid null

    
/** 
     * 
     * @var boolean 
     */ 
    
private $_is_auth false

    
/** 
     * 
     * @var string 
     */ 
    
private $_replace_url 'https://plus.google.com/_/%s'

    
/** 
     * 
     * @var array 
     */ 
    
private $_pattern = array( 
        
'valid_link' => array( 
            
'/plus.google.com\/photos\/([0-9]{21,23})\/albums\/([0-9]{19,20})/i'
        ), 
        
'json' => array( 
            
'/[\"]%s[\"],\[\]\s(.+)\["\/_\/photos\/timedtext\/\d+\/%s\?",\[\]/isU'
            
'/[0-9]{2},[0-9]{3,4},[0-9]{3,4},\"(.*?)\"/i'
            
'/([0-9]{2}),([0-9]{3,4}),([0-9]{3,4}),[\"](.*?)[\"]/i'
            
'/[a-zA-Z0-9 _-]+.(mp4|mkv)/is' 
        

    ); 

    
/** 
     * 
     * @var array 
     */ 
    
public $data

    function 
__construct(){ 
        
parent::__construct(); 
    } 

    public function 
run(){ 
        
$this->data $this->getMediaContent(); 
        return; 
    } 

    
/** 
     * 
     * @return array 
     */ 
    
public function getMediaContent(){ 
        
$media $this->getPhoto(); 
        
$media_title $media['title']; 
        
$media_content $media['content']; 
        
$data = array(); 
        foreach(
$media_content as $key => $value){ 
            if(
$value['type'] == 'video/mpeg4'){ 
                
$quality $this->_getFormatQuality($value['width']); 
                
$quality = ($quality != false) ? $quality $value['width'] .'p'
                
$default = ($quality == '360p') ? true false
                
$url = (strpos($value['url'], "googleusercontent") == true) ? $value['url'] . '?filename='.$media_title $value['url']; 
                
$data[] = array( 
                    
//'type'      => $value['type'], 
                    
'type'      => 'mp4'
                    
'label'     => $quality
                    
'height'    => $value['height'], 
                    
'width'     => $value['width'], 
                    
'file'      => $url
                    
'default'   => $default 
                
); 
            } 
            unset(
$media_content[$key]); 
        } 
        return 
$data
    } 

    
/** 
     * 
     * @return array 
     */ 
    
public function getPhoto(){ 
        
$source $this->getSource(); 
        if(
null === $this->_photoid){ 
            
$pattern sprintf($this->_pattern['json'][0],'\d+','\d+'); 
        }else{ 
            
$pattern sprintf($this->_pattern['json'][0],$this->_photoid,$this->_photoid); 
        } 
        
$cP preg_match($pattern$source$matches); 
        if(
$cP 0){ 
            
$_cm preg_match_all($this->_pattern['json'][1],$matches[0],$matchs); 
        } 
        
$mediaArr array_unique($matchs[0]); 
        
$data = array(); 
        
$cT preg_match($this->_pattern['json'][3],$matches[0],$matchT); 
        if(
$cT 0){ 
            
$data['title'] = trim($matchT[0]); 
        }else{ 
            
$data['title'] = range('A''Z') . '.mp4'
        } 
        unset(
$matchs,$matches,$matchT$source); 
        foreach(
$mediaArr as $key => $value){ 
            
$value str_replace('\u003d','=',$value); 
            
$value str_replace('\u0026','&',$value); 
            
preg_match($this->_pattern['json'][2],$value,$matches); 
            
$data['content'][] = array( 
                
'type' => $this->_getTypeMedia($matches[1]), 
                
'height' => $matches[3], 
                
'width' => $matches[2], 
                
'url' => $matches[4], 
            ); 
            unset(
$mediaArr[$key],$matches); 
        } 
        return 
$data
    } 

    
/** 
     * 
     * @param int $itag 
     * @return string 
     */ 
    
protected function _getTypeMedia($itag){ 
        switch (
true) { 
            case (
$itag == 36): 
                return 
'video/3gpp'
                break; 
            case (
$itag == 18 || $itag == 22 || $itag == 37): 
                return 
'video/mpeg4'
                break; 
            case (
$itag == 34 || $itag == 35): 
                return 
'application/x-shockwave-flash'
                break; 
            default: 
                return 
'video/mpeg4'
                break; 
        } 
    } 

    
/** 
     * 
     * @return string 
     */ 
    
public function getSource(){ 
        
$this->HTTP->setOption(CURLOPT_ENCODING 'gzip'); 
        
$this->HTTP->setOption(CURLOPT_SSL_VERIFYPEERfalse); 
        return 
$this->HTTP->get($this->base_url); 
    } 

    
/** 
     * 
     * @param string $base_url 
     * @return boolean 
     */ 
    
public function validLink($base_url){ 
        foreach(
$this->_pattern['valid_link'] as $pattern){ 
            if(
preg_match($pattern$base_url) != false){ 
                
$photoid preg_match('/\/albums\/([0-9]{19,20})\/([0-9]{19,20})/',$base_url,$matches); 
                if(
$photoid 0){ 
                    
$this->_photoid $matches[2]; 
                } 
                if(
strpos($base_url"authkey") !== false){ 
                    
$this->_is_auth true
                } 
                
$param strstr($base_url,'photos/'); 
                if(
strpos($param,"?") !== false){ 
                    
$this->base_url sprintf($this->_replace_url$param)."&rt=j"
                }else{ 
                    
$this->base_url sprintf($this->_replace_url$param)."?rt=j"
                } 
                return 
true
            } 
            unset(
$pattern); 
        } 
        return 
false
    } 
}

test.php

Mã PHP:

<?php 
require_once "kGoogle.class.php"
$j2t = new J2T(); 
$j2t->setLink 'https://plus.google.com/photos/110674564899938367004/albums/5892112910843960289/5892851523964171746?authkey=COm4naGt49f17QE&pid=5892851523964171746&oid=110674564899938367004'
$j2t->setFormat = isset($_GET['format']) ? $_GET['format'] : false
?> 
<?php if('json'!==$j2t->getFormat):?> 
<script type="text/javascript" src="jwplayer-7.1.4/jwplayer.js"></script> 
<script type="text/javascript">jwplayer.key="J0mvFGAqO9c8xegABEqyIF874U1kTQIhLTD4PHi78Ap1squ97IODAg==";</script> 
<div id="myElement">Loading the player...</div> 

<script type="text/javascript"> 
    jwplayer('myElement').setup({ 
        playlist: [{ 
            sources: <?php echo $j2t->run(); ?>
        }], 
        modes: [{ 
            type: "html5" 
        },{ 
            type: "flash", 
            src: "jwplayer-7.1.4/jwplayer.flash.swf" 
        }], 
        primary: "html5", 
        provider: "jwplayer-7.1.4/PauMediaProvider.swf", 
        width: 720, 
        height: 420, 
        aspectratio: "16:9" 
    }); 
</script> 
<?php else:?> 
     <?php echo $j2t->run(); ?> 
<?php endif;?>










----------
Nguồn www.yeuquangngai.net

Ngày trở về biệt thự Bình Phước sau vụ thảm sát

Posted: 24 Dec 2015 06:56 PM PST




Theo báo cáo, ngày hôm qua (17/12), Tòa án nhân dân tỉnh Bình Phước kết án 3 bị cáo trong vụ giết 6 người, cướp tài sản tại nhà ông Lê Văn Mỹ (xã Minh Hưng, huyện Chơn Thành, Bình Phước).
Theo đó, bị cáo Nguyễn Hải Dương đã nhận án tử hình vì tội giết người, tám năm về tội cướp tài sản, tổng hợp hình phạt tử hình. Vũ Văn Tiến bị cáo đã bị kết án tử hình, phí 7 năm tù giam của vụ cướp, nói chung cái chết Trần Đình Thoại bị cáo đã bị kết án 13 năm tù vì tội giết người, năm tội cướp 3, tổng hợp 16 năm từ.

Tham khảo: bán biệt thự Vinhomes Mễ Trì
Biệt thự của gia đình Lê Văn Mỹ vào sáng 18/12.

Một ngày sau khi Tòa án nhân dân tỉnh Bình Phước kết án nhóm sát thủ, chúng tôi trở lại biệt thự của gia đình Lê Văn Mỹ tại xã Minh Hưng, huyện Chơn Thành, tỉnh Bình Phước. Đây là hiện trường của vụ nổ súng xảy ra vào ngày 7/7 tòa án.
Những người hàng xóm của gia đình người Mỹ không phải là tất cả tin đồn về bản án của thủ phạm.

Ông Hồ Văn Nghĩa (55), hàng xóm của nạn nhân Lê Văn Mỹ cho biết vụ việc xảy ra khi dự án cho đến nay, lâu đài khổng lồ bằng gỗ nhà đóng yên tĩnh, ít ai lui tới. "Chỉ có cha vợ để Mỹ mỗi cách thường đốt hương trên các ngôi nhà của" ông Nghĩa nói.
Cũng theo thông tin từ hàng xóm, sau khi giết người, thân nhân của các gia đình người Mỹ đã mua rất nhiều tượng Phật đặt trong ngôi biệt thự.

Quan sát các căn biệt thự, thật dễ dàng để nhìn thấy từ bên ngoài sân nhà, đặt nhiều tượng Phật và bàn thờ để cầu nguyện cho hòa bình.
Gỗ của công ty gia đình Lê Văn Mỹ đã được mở cho kinh doanh từ hai tháng trở lại.

Ông Nghĩa cho biết cho đến nay ông vẫn còn sợ nhớ lại đêm định mệnh đó, gia đình ông đã bị sát hại người Mỹ. "Hôm qua thẩm phán xét xử sát hại gia đình anh đến Mỹ, tôi đã không đi xem cho chắc thủ phạm sẽ phải nhận án tử hình. Hành vi của họ quá ư dã man rằng cơ sở", ông cho biết ý nghĩa.
Theo hàng xóm, trẻ Lê Thị Gia Linh (tên chung của bé Na, 22 tháng tuổi) con gái người Mỹ gốc út của ông, đã được đưa xuống cho người thân văn hóa tích cực Saigon. Bé Na là thành viên duy nhất của gia đình ông sống sót sau vụ thảm sát Mỹ đêm.

"Bây giờ nghe Mỹ, nơi gia đình anh đã đưa tôi đến Sài Gòn Na chăm sóc và giáo dục", Nghĩa nói.
Giúp đỡ gia đình người Mỹ cũ mà ông đã bị sa thải cho vay để làm việc trong một công ty gỗ khác nhau. Thay Loan là một nữ công nhân trong công ty cũng như gỗ hàng ngày thông qua dọn dẹp nhà cửa, chăm sóc cây và hương.

Tham khảo: bán chung cư b6 Giảng Võ








----------
Nguồn www.yeuquangngai.net

No comments:

Post a Comment