-
Notifications
You must be signed in to change notification settings - Fork 0
/
functions.php
74 lines (58 loc) · 1.47 KB
/
functions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
//Manage uploads on GraphCMS
function uploadGraphCMSAsset($assetUrls, $returnField)
{
global $graphCmsUploadEndpoint, $graphCmsToken;
if(!is_array($assetUrls))
return false;
$retVal = array();
foreach($assetUrls as $singleAsset)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $graphCmsUploadEndpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "url=" . $singleAsset);
$headers = array();
$headers[] = 'Authorization: ' . $graphCmsToken;
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
if($result)
{
$uploadResponse = json_decode($result);
if($uploadResponse)
{
if(property_exists($uploadResponse, $returnField))
{
$uploadAssetField = $uploadResponse->{$returnField};
$retVal[$singleAsset] = $uploadAssetField;
}
}
}
}
return $retVal;
}
//Extract all images from post body
function extractImageUrlsFromPost($postBody)
{
$imagesList = array();
preg_match_all('/<img[^>]+>/i',$postBody, $result);
if($result && count($result) > 0)
{
foreach($result[0] as $img_tag)
{
//echo "---".$img_tag;
$pattern = '/src="([^"]*)"/';
preg_match($pattern, $img_tag, $matches);
$src = $matches[1];
$imagesList[] = $src;
}
}
return $imagesList;
}
?>