"@".$_FILES['font_file']['tmp_name'],
'fontfileext' => pathinfo($_FILES['font_file']['name'], PATHINFO_EXTENSION),
'api_key' => $uaf_api_key
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$convertResponse = curl_exec($ch);
if(curl_errno($ch)) {
echo 'Error: ' . curl_error($ch);
exit();
}
else {
$CrulStatinfo = curl_getinfo($ch);
if ($CrulStatinfo['http_code'] == '200'):
$convertResponseArray = json_decode($convertResponse, true);
if ($convertResponseArray['global']['status'] == 'ok'):
$neededFontFormats = array('woff','eot');
foreach ($neededFontFormats as $neededFontFormat):
if ($convertResponseArray[$neededFontFormat]['status'] == 'ok'):
$fontFileContent = '';
$fontFileContent = wp_remote_fopen($convertResponseArray[$neededFontFormat]['filename']);
if (!empty($fontFileContent)):
$newFileName = $fontNameToStore.'.'.$neededFontFormat;
$newFilePath = $uaf_upload_dir.$newFileName;
$fh = fopen($newFilePath, 'w') or die("can't open file. Make sure you have write permission to your upload folder");
fwrite($fh, $fontFileContent);
fclose($fh);
$fontUploadMsg[$neededFontFormat]['status'] = 'ok';
$fontUploadMsg[$neededFontFormat]['text'] = "Done";
else:
$fontUploadMsg[$neededFontFormat]['status'] = 'error';
$fontUploadMsg[$neededFontFormat]['text'] = "Couldn't receive $neededFontFormat file";
endif;
else:
$fontUploadMsg[$neededFontFormat]['status'] = 'error';
$fontUploadMsg[$neededFontFormat]['text'] = "Problem converting to $neededFontFormat format";
endif;
endforeach;
else:
$fontUploadFinalStatus = 'error';
$fontUploadFinalMsg .= $convertResponseArray['global']['msg'].'
';
endif;
else:
$fontUploadFinalStatus = 'error';
$fontUploadFinalMsg = $convertResponse;
endif;
}
if (!empty($fontUploadMsg)):
foreach ($fontUploadMsg as $formatKey => $formatData):
if ($formatData['status'] == 'error'):
$fontUploadFinalStatus = 'error';
$fontUploadFinalMsg .= $formatData['text'].'
';
endif;
endforeach;
endif;
if ($fontUploadFinalStatus != 'error'):
$fontUploadFinalMsg = 'Font Uploaded';
endif;
if ($fontUploadFinalStatus != 'error'):
$fontsRawData = get_option('uaf_font_data');
$fontsData = json_decode($fontsRawData, true);
if (empty($fontsData)):
$fontsData = array();
endif;
$fontsData[date('ymdhis')] = array('font_name' => sanitize_title($_POST['font_name']), 'font_path' => $fontNameToStoreWithUrl);
$updateFontData = json_encode($fontsData);
update_option('uaf_font_data',$updateFontData);
uaf_write_css();
endif;
} else {
$fontUploadFinalStatus = 'error';
$fontUploadFinalMsg = 'Only '.join(", ",$allowedFontFormats).' format and font less than '.$allowedFontSize.' Mb accepted';
}
}
if (isset($_GET['delete_font_key'])):
$fontsRawData = get_option('uaf_font_data');
$fontsData = json_decode($fontsRawData, true);
$key_to_delete = $_GET['delete_font_key'];
@unlink(realpath($uaf_upload_dir.$fontsData[$key_to_delete]['font_path'].'.woff'));
@unlink(realpath($uaf_upload_dir.$fontsData[$key_to_delete]['font_path'].'.eot'));
unset($fontsData[$key_to_delete]);
$updateFontData = json_encode($fontsData);
update_option('uaf_font_data',$updateFontData);
$fontUploadFinalStatus = 'updated';
$fontUploadFinalMsg = 'Font Deleted';
uaf_write_css();
endif;
?>