511){ echo "キーワードが長すぎて入らないです…\n(YANMAH2: キーワードの指定に関するエラー)"; exit(); } } //page=n は100までの数値であること。 function checkPagenum($element){ if (preg_match("/^[1234567890]{1,3}$/u",$element) == 0){ echo "数字以外入れちゃだめ\n(YANMAH2: ページ数に関するエラー)"; exit(); } if ($element > 100){ echo "ページ数が大きすぎです…\n(YANMAH2: ページ数に関するエラー)"; exit(); } } function checkImagemode($element){ if (!preg_match('/^(on|off)$/u', $element)){ echo 'んっ!? って思うパラメータは処理しないし。(YANMAH2: 画像モードに関するエラー)'; exit(); } } function checkAlbum($element){ if (strlen(bin2hex($element)) > 514){ echo "はうあ\n"; exit(); } } function checkEntryid($element){ if (preg_match("/^[1234567890]+$/u",$element) === FALSE){ echo "エントリさーん、どこですかー\n(YANMAH2: Entry ID に関するエラー)"; exit(); } } function checkWord($element){ if (strlen(bin2hex($element)) > 511){ echo "キーワードが長すぎて入らないです…\n(YANMAH2: キーワードの指定に関するエラー)"; exit(); } } function echoHateBxml($object){ $ret = '
'; $ret = $ret . '
'.$object->title.'
'; $ret = $ret . '
'. $object->author->name .'
'; $ret = $ret . '
'. $object->summary .'
'; $ret = $ret . '
'. $object->issued .'
'; $ret = $ret . '
'; return $ret; } function checkEntryData($data){ $contents = simplexml_load_string($data); $error = libxml_get_last_error(); if ($error !== FALSE){ $ret['ercode'] = $error->code; $ret['ermes'] = $error->message; $ret['contents'] = $contents; $ret['stat'] = FALSE; } elseif (isset($contents->error)){ $ret['ercode'] = 'x'; $ret['ermes'] = $contents->error; $ret['contents'] = $contents; $ret['stat'] = FALSE; } else { $ret['contents'] = $contents; $ret['stat'] = TRUE; } return $ret; } function echoCommonHeader($bottom = '#navigation-menu', $return = ''){ if (isset($_SESSION['auth']) && $_SESSION['auth'] === TRUE){ $common_header = '
 ログアウト [#]下へ
'; } else { $common_header = '
ログイン [#]下へ
'; } return $common_header; } function echoCommonFooter($top = '#page'){ global $get_image; $common_footer = '
設定 [*]上へ

'; return $common_footer; } function pullLot($ary = array(0, 1)){ shuffle($ary); return $ary[0]; } function echoPhotozou($photo_id, $mgw){ $api = 'http://api.photozou.jp/rest/photo_info?photo_id='.$photo_id; $get_xml = getJson($api, FALSE); if ($get_xml['stat'] !== TRUE){ $ret = '.'; return $ret; } $xml = simplexml_load_string($get_xml['body']); $error = libxml_get_last_error(); if ($error !== FALSE){ $ret = '..'; } elseif ($xml->attributes()->stat != 'ok'){ $ret = '...'; } else { $thumb = $xml->info->photo->thumbnail_image_url; $title = $xml->info->photo->photo_title; $desc = $xml->info->photo->description; $ret = "\"{$desc}\""; } libxml_clear_errors(); return $ret; } ?> setConfig('ssl_verify_peer', false); $req->setHeader('User-Agent', $user_agent); $con_req = new HTTP_OAuth_Consumer_Request; $con_req->accept($req); $oauth_con->accept($con_req); $oauth_con->getRequestToken($init_url, $callback_url, array('scope' => $scope)); $ret = array(); $ret['token'] = $oauth_con->getToken(); $ret['secret'] = $oauth_con->getTokenSecret(); $ret['stat'] = TRUE; } catch(Exception $e){ $ret['error'] = $e->getMessage(); $ret['stat'] = $ret['error']; } return $ret; } function getAccess($token_url, $reqtoken, $req_sec, $verifier, $conkey, $conkey_sec){ global $user_agent; try{ require_once 'HTTP/OAuth/Consumer.php'; $oauth_con = new HTTP_OAuth_Consumer($conkey, $conkey_sec, $reqtoken, $req_sec); $req = new HTTP_Request2(); $req->setConfig('ssl_verify_peer', false); $req->setHeader('User-Agent', $user_agent); $con_req = new HTTP_OAuth_Consumer_Request; $con_req->accept($req); $oauth_con->accept($con_req); $oauth_con->getAccessToken($token_url, $verifier); $lastreq = $req->getLastEvent(); $res = $lastreq['data']; // $ret['ob'] = $oauth_con; $ret['token'] = $oauth_con->getToken(); $ret['secret'] = $oauth_con->getTokenSecret(); $ret['body'] = $res->getBody(); $ret['stat'] = TRUE; } catch(Exception $e){ $ret['trace'] = $e->getTrace(); $ret['error'] = $e->getMessage(); $ret['stat'] = $ret['error']; } return $ret; } function getJson($get_url, $use_oauth, $conkey = '', $conkey_sec = '', $acskey = '', $acskey_sec = ''){ global $user_agent; if ($use_oauth === TRUE){ try { require_once 'HTTP/OAuth/Consumer.php'; $oauth_con = new HTTP_OAuth_Consumer($conkey, $conkey_sec); $req = new HTTP_Request2(); $req->setConfig('ssl_verify_peer', false); $req->setHeader('User-Agent', $user_agent); $con_req = new HTTP_OAuth_Consumer_Request; $con_req->accept($req); $oauth_con->accept($con_req); $oauth_con->setToken($acskey); $oauth_con->setTokenSecret($acskey_sec); $res = $oauth_con->sendRequest($get_url); $ret['http'] = $res->getStatus(); $ret['body'] = preg_replace('/[\x00-\x1f]/u', "", $res->getBody()); $ret['stat'] = TRUE; } catch (Exception $e){ $ret['stat'] = $e->getMessage(); } return $ret; } else { try { require_once "HTTP/Request2.php"; $req = new HTTP_Request2($get_url); $req->setHeader('User-Agent', $user_agent); $res = $req->send(); $ret['http'] = $res->getStatus(); $ret['body'] = preg_replace('/[\x00-\x1f]/u', "", $res->getBody()); $ret['stat'] = TRUE; } catch (Exception $e){ $ret['stat'] = $e->getMessage(); } return $ret; } } function postGeneric($api, $postdata = array(), $conkey, $conkey_sec, $acskey, $acskey_sec, $body = ''){ global $user_agent; try { require_once 'HTTP/OAuth/Consumer.php'; $oauth_con = new HTTP_OAuth_Consumer($conkey, $conkey_sec); $req = new HTTP_Request2(); $req->setConfig('ssl_verify_peer', false); $req->setHeader('User-Agent', $user_agent); if ($body != '') $req->setBody($body); // $req->addUpload('file', './apple-touch-icon.png'); $con_req = new HTTP_OAuth_Consumer_Request; $con_req->accept($req); $oauth_con->accept($con_req); // $oauth_con->setSignatureMethod("HMAC-SHA1"); $oauth_con->setToken($acskey); $oauth_con->setTokenSecret($acskey_sec); $res = $oauth_con->sendRequest($api, $postdata, "POST"); $ret['http'] = $res->getStatus(); // var_dump($http); $ret['body'] = $res->getBody(); // $ret['session'] = $_SESSION; $ret['stat'] = TRUE; } catch (Exception $e){ $ret['error'] = $e->getMessage(); // $ret['session'] = $_SESSION; $ret['stat'] = FALSE; } return $ret; } function whatDevice($useragent){ if (preg_match("/willcom|mobilephone|ddipocket|pdxgw|astel|docomo|up\.browser|j-phone|vodafone|softbank/i", $useragent)){ return 'ktai'; } elseif (preg_match("/Opera Mobi/i", $useragent)){ return 'iphone'; } elseif (preg_match("/Android (1\.6|1\.5)/i", $useragent)){ return 'android-old'; } elseif (preg_match("/Android/i", $useragent)){ return 'android'; } elseif (preg_match("/Mobile.*Safari/i", $useragent)){ return 'iphone'; } else { return 'generic'; } } ?>