array(                'url' => $image_url,                'caption' => $caption,                'published' => 'true',                'access_token' => QA_FB_PAGE_TOKEN            ),            'timeout' => 60        )    );} /* ==============================     TWITTER POST============================== */ function qa_post_to_twitter($image_url, $caption) {     // STEP 1: Upload media    $media_response = qa_twitter_oauth_request(        'https://upload.twitter.com/1.1/media/upload.json',        array('media' => base64_encode(file_get_contents($image_url))),        'POST'    );     if (empty($media_response->media_id_string)) return;     // STEP 2: Post tweet    qa_twitter_oauth_request(        'https://api.twitter.com/1.1/statuses/update.json',        array(            'status' => $caption,            'media_ids' => $media_response->media_id_string        ),        'POST'    );} /* ==============================     TWITTER OAUTH CORE============================== */ function qa_twitter_oauth_request($url, $params, $method = 'POST') {     $oauth = array(        'oauth_consumer_key' => QA_TW_CONSUMER_KEY,        'oauth_token' => QA_TW_ACCESS_TOKEN,        'oauth_nonce' => wp_generate_password(12, false),        'oauth_timestamp' => time(),        'oauth_signature_method' => 'HMAC-SHA1',        'oauth_version' => '1.0'    );     $base_params = array_merge($oauth, $params);    ksort($base_params);     $base_string = strtoupper($method) . "&" .        rawurlencode($url) . "&" .        rawurlencode(http_build_query($base_params, '', '&', PHP_QUERY_RFC3986));     $signing_key = rawurlencode(QA_TW_CONSUMER_SECRET) . '&' .                   rawurlencode(QA_TW_ACCESS_SECRET);     $oauth['oauth_signature'] = base64_encode(        hash_hmac('sha1', $base_string, $signing_key, true)    );     $header = 'OAuth ';    $values = array();    foreach ($oauth as $key => $value) {        $values[] = $key . '="' . rawurlencode($value) . '"';    }    $header .= implode(', ', $values);     $args = array(        'headers' => array('Authorization' => $header),        'body' => $params,        'timeout' => 60    );     $response = wp_remote_request($url, array_merge($args, array('method' => $method)));     return json_decode(wp_remote_retrieve_body($response));} agree – TIMES OF ISLAMABAD
Times of Islamabad

Iran, Iraq agree to boost cooperation in diverse fields July 23, 2020

News Desk
2020-07-23

ISLAMABAD-Iran and Iraq have agreed to boost comprehensive cooperation and vowed to honor the independence and sovereignty of each other....

Russia, Turkey agree to continue efforts for ceasefire in Libya July 22, 2020

News Desk
2020-07-22

ISLAMABAD-Russia and Turkey have agreed to continue efforts to bring about a long-term and sustainable ceasefire in Libya. In a...

OPEC, allies agree to extend deep output cuts through July

News Desk
2020-06-07

Vienna,(AFP/APP):OPEC members, led by Saudi Arabia, and other key oil producers agreed Saturday to extend historic output cuts through July,...