/textyle/libs/me2day.api.php
PHP | 63 lines | 53 code | 10 blank | 0 comment | 6 complexity | 9c4c0a9779c292809981e54a97ef2dd5 MD5 | raw file
- <?php
- class me2api {
- var $user_id = null;
- var $user_key = null;
- var $api_url = 'http://me2day.net:80';
- var $application_key = '537a368d9049d9e86b2b169d75a2a4c3';
- function me2api($user_id, $user_key) {
- $this->user_id = $user_id;
- $this->user_key = $user_key;
- }
- function _getNonce() {
- for($i=0;$i<8;$i++) $nonce .= dechex(rand(0, 15));
- return $nonce;
- }
- function _getAuthKey() {
- $nonce = $this->_getNonce();
- return $nonce.md5($nonce.$this->user_key);
- }
- function _getPath($method, $user_id = null) {
- if(!$user_id) return sprintf('/api/%s.xml', $method);
- return sprintf('/api/%s/%s.xml',$method, $user_id);
- }
- function _getContent($method, $user_id = null, $params = null) {
- $url = $this->api_url.$this->_getPath($method, $user_id);
- $auth = base64_encode($this->user_id.':'.$this->_getAuthKey());
- $arr_content = array();
- if(is_array($params) && count($params)) {
- foreach($params as $key => $val) {
- $arr_content[] = sprintf('%s=%s', $key, urlencode($val));
- }
- $body = implode('&',$arr_content);
- }
- $buff = FileHandler::getRemoteResource($url, $body, 3, 'GET', 'application/x-www-form-urlencoded',
- array(
- 'me2_application_key'=>$this->application_key,
- 'Authorization'=>'Basic '.$auth,
- )
- );
- return $buff;
- }
- function chkNoop() {
- $buff = $this->_getContent('noop');
- if(strpos($buff, '<code>0</code>')!==false) return new Object();
- return new Object(-1, $buff);
- }
- function doPost($body, $tags, $content_type = 'document') {
- $params = array('post[body]'=>$body, 'post[tags]'=>str_replace(',',' ',$tags), 'content_type'=>$content_type);
- $buff = $this->_getContent('create_post',$this->user_id,$params);
- if(preg_match('/<code>[0-9]+</',$buff)) return new Object(-1,$buff);
- return new Object();
- }
- }
- ?>