<?php
/*
Plugin Name: GetSimple API
Description: Connect to your site from an external application
Version: 0.1
Author: Chris Cagle
Author URI: http://www.cagintranet.com/
*/
# get correct id for plugin
$thisfileapi=basename(__FILE__, ".php");
# register plugin
register_plugin(
$thisfileapi,
'GetSimple API',
'0.1',
'Chris Cagle',
'http://www.cagintranet.com/',
'Connect to your site from an external application',
'settings',
'gsapi_display_cp'
);
# activate hooks
add_action('settings-sidebar','createSideMenu',array($thisfileapi, i18n_r('API_CONFIGURATION')));
function gsapi_display_cp() {
$thisdatafile = GSDATAOTHERPATH.'appid.xml';
# if form as submitted
if (isset($_POST['submit'])) {
if (isset($_POST['regenerate'])) {
$api_key = strtoupper(substr(md5(uniqid(rand(), true)),0,10));
} else {
$api_key = $_POST['apikey'];
}
if (isset($_POST['status'])) {
$api_status = $_POST['status'];
} else {
$api_status = null;
}
$xml = new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><item></item>');
$xml->addChild('status', $api_status);
$xml->addChild('key', $api_key);
XMLsave($xml, $thisdatafile);
}
# if the api file does not exist
if (!file_exists($thisdatafile)) {
$xml = new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><item></item>');
$xml->addChild('status', 'false');
$xml->addChild('key', strtoupper(substr(md5(uniqid(rand(), true)),0,10)) );
XMLsave($xml, $thisdatafile);
}
# get data to show in control panel
$api=getXML($thisdatafile);
$enabled_status = null;
if ($api->status == 'true') {
$enabled_status = 'checked';
}
?>
<script>
jQuery(document).ready(function() {
$('a[rel="regenerate"]').live("click", function($e) {
$e.preventDefault();
$('#regeneratewrap').slideToggle();
});
$('a.cancel[rel="regenerate"]').live("click", function($e) {
$e.preventDefault();
$('#regenerate').attr('checked', false);
});
});
</script>
<style>
#regeneratewrap {padding:10px 10px 0 10px;background:#f6f6f6;border:1px solid #e5e5e5;margin-bottom:20px;}
code#apicode {font-size:26px;font-weight:bold;color:#cc0000;}
</style>
<h3>GetSimple <?php i18n('API_CONFIGURATION'); ?></h3>
<form method="post" action="<?php echo $_SERVER ['REQUEST_URI']?>">
<p>
<label><input type="checkbox" name="status" value="true" <?php echo $enabled_status; ?> /> <?php i18n('API_ENABLE'); ?> *</label>
</p>
<p>
<code id="apicode">
<?php echo $api->key; ?>
<input type="hidden" name="apikey" value="<?php echo $api->key; ?>" />
</code> <small><a href="#" rel="regenerate" ><?php i18n('API_REGENKEY'); ?></a></small>
</p>
<div class="toggle" id="regeneratewrap" >
<p><strong><?php i18n('API_CONFIRM'); ?></strong><br /><?php i18n('API_REGEN_DISCLAIMER'); ?> <a href="#" class="cancel" rel="regenerate" ><?php i18n('CANCEL'); ?></a></p>
<p><label><?php i18n('API_REGENKEY'); ?>: <input type="checkbox" id="regenerate" name="regenerate" value="true" /></label></p>
</div>
<p class="submit"><input type="submit" id="submit" class="submit" name="submit" value="<?php i18n('BTN_SAVESETTINGS'); ?>" /></p>
</form>
<p><span class="hint">* <?php i18n('API_DISCLAIMER'); ?></span></p>
<?php
}