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));} In a big setback, Iranian Satellite launch failed – TIMES OF ISLAMABAD
Times of Islamabad

In a big setback, Iranian Satellite launch failed

In a big setback, Iranian Satellite launch failed

TEHRAN – Iran said it “successfully” launched a satellite Sunday but failedto put it into orbit, in a blow to its space programme that the US allegesis a cover for missile development.

The attempted launch of the Zafar — “Victory” in Farsi — comes days beforethe 41st anniversary of the Islamic Revolution and crucial parliamentaryelections in Iran.

Arch foes Iran and the United States have appeared to be on the brink of anall-out confrontation twice in the past seven months.

Long-standing acrimony between Tehran and Washington was exacerbated in2018 when US President Donald Trump unilaterally withdrew from a deal thatfroze Iran’s nuclear programme, before issuing new demands that Tehrancurtail its development of ballistic missiles.

Washington has also raised concerns in the past about Tehran’s satelliteprogramme, saying the launch of a carrier rocket in January 2019 amountedto a violation of limits on its ballistic missiles.

Iran maintains it has no intention of acquiring nuclear weapons, and saysits aerospace activities are peaceful and comply with a UN Security Councilresolution.

On Sunday, it launched the Zafar satellite at 7:15 pm (1545 GMT) but itfell short of reaching orbit, the defence ministry said.

A ministry spokesman said initially that the satellite was “successfully”launched and went “90 percent of the way”, reaching an altitude of 540kilometres (335 miles).

“The Simorgh (rocket) successfully propelled the Zafar satellite intospace,” said Ahmad Hosseini of the ministry’s space unit.

“Unfortunately, in the final moments the carrier did not reach the requiredspeed” to put it into orbit, he told state television.

“God willing with improvements made in future launches this part of themission will be done as well,” he added.

“We achieved most of the goals we had and data has been acquired, and inthe near future, by analysing the data, we will take the next steps.”

Telecommunications Minister Mohammad Javad Azari Jahromi admitted in anEnglish-language tweet soon after that the launch had “failed”.

“But We’re UNSTOPPABLE! We have more Upcoming Great Iranian Satellites!”said Jahromi.

Tweeting in Farsi, he added: “I would have liked to make you happy with#good_news but sometimes life does not go the way we want it.”

– ‘New generation’ –

Iran on Sunday also unveiled a new a short-range ballistic missile and its“new generation” of engines designed to put satellites into space.

The Revolutionary Guards’ website said the Raad-500 missile was equippedwith new Zoheir engines made of composite materials that make them lighterthan previous steel models.

It also unveiled Salman engines made of the same materials but with a“movable nozzle” for the delivery of satellites into space, allowing“manoeuvrability beyond the atmosphere”.

In January 2019, Tehran announced that its Payam — “Message” in Farsi —satellite had failed to reach orbit, after authorities said they launchedit to collect data on the environment in Iran.

The United States said the launch of the carrier rocket was a violation ofa 2015 UN Security Council resolution endorsing the international accord oncurbing Tehran’s nuclear programme.

Resolution 2231 called on Iran to refrain from any activity related toballistic missiles capable of delivering nuclear weapons. -APP/AFP