<?
/**
===========================================================================
* @package as_admintool
* @desc as_admintool_stub.php - empty stub, starting point for creating plugins
* @author Alexander Selifonov <as-works@narod.ru>
* @copyright Alexander Selifonov 2007
* @link http://as-works.narod.ru/en/php/
* @version 1.000.002
* modified 28.02.2008 (dd.mm.yyyy)
* Read "as_admintool.htm" for detailed instructions
============================================================================
*/
define('ASADM_STUB','myplugin'); // unique string ID for this plugin module
if(!isset($as_admt_pages)) $as_admt_pages=array();
if(!isset($as_admt_plugins)) $as_admt_plugins=array();
# mandatory string - registering this plugin
CAsAdminTool::RegisterPlugin(ASADM_STUB,'AsAdm_stub_Form','AsAdm_stub_Exec');
/**
* AsAdm_stub_Form - function for drawing client interface page (FORM)
* This function will be called when CAsAdmin::Draw() is drawing all pages.
* param1-3 are the parameters You've passed to CAsAdminTool::AddPage()
* @param array $pginfo : [0] - pageid, [1],[2] - parent table size (width,height)
* @param $param1,$param2,$param3 - user parameters
* @return none
*/
function AsAdm_stub_Form($pginfo,$param1=false, $param2=false, $param3=false) {
global $as_dbengine, $as_iface, $as_cssclass;
$pageid=isset($pginfo[0])? $pginfo[0]: 0;
$lwidth = isset($pginfo[1])? $pginfo[1]: 800;
$lheight = isset($pginfo[2])? $pginfo[2]: 600;
$r_width = $lwidth-20;
$r_height = $lheight-260;
$self = $_SERVER['PHP_SELF'];
static $js_drawn = false;
if(!$js_drawn) { #<3> draw only once !!!
$js_drawn = true;
?>
<script language='javascript'>
var ajax_stub_busy = false;
function AsAdm_RunStub(pageid) {
if (ajax_stub_busy) return;
fm = asGetObj('asadt_stub_'+pageid);
var xmlreq = NewXMLHttpRequest();
if(!xmlreq) return false;
ajax_stub_busy = true;
asGetObj('result_'+pageid).innerHTML = '<?=$as_iface['msg_waiting']?>';
xmlreq.onreadystatechange= function() { //<3>
if (xmlreq.readyState == 4) { //<3A>
var spl = xmlreq.responseText.split("{|}");
delete xmlreq;
ajax_stub_busy = false;
if(spl.length < 2) {
asGetObj('result_'+pageid).innerHTML ='wrong response from server: '+spl[0];
}
else {
asGetObj('result_'+pageid).innerHTML = spl[1];
} //<4>
} //<3A>
} //<3>
xmlreq.open('POST','<?=$self?>',true);
xmlreq.setRequestHeader("Content-Type", postcont);
params = 'adm_action_type=<?=ASADM_STUB?>&pageid=' + pageid + '&'+ComputeParamString('asadt_stub_'+pageid);
xmlreq.send(params);
return false;
}
</script>
<?
}
?>
<table id='asadt_tbl_<?=$pageid?>'>
<tr><form name='asadt_stub_<?=$pageid?>'>
<input type='hidden' name='your_param1' value='<?=$param1?>'>
<tr><td>Your entry<br><textarea name='pass_par1' style='width:<?=$r_width?>px; height:160'><?=$r_width?>,<?=$r_height?></textarea></td></tr>
<tr><td><button class='button' name='start' onClick='AsAdm_RunStub(<?=$pageid?>)'>Let's rock !</button>
</td></tr></form></table>
<div align=center>
<table width='98%'>
<tr><td>Response from server</td></tr>
<tr><td><div id='result_<?=$pageid?>' class='<?=$as_cssclass['resultarea']?>' style='overflow:auto; height:<?=$r_height?>px; width:<?=$r_width?>px;'> </div></td></tr>
</tr>
</table>
</div>
<?
}
/**
* AsAdm_Stub_Exec - function that executes action on server and returns result string.
* @param array $parms, exactly what POST data contained, but converted from UTF-8 if needed
* @return 'delimited' result. I use a string '{|}' as a delimiter.
*/
function AsAdm_Stub_Exec($parms) {
global $as_dbengine, $as_iface, $as_admt_bckpfolder;
$pageid = isset($parms['pageid'])? $parms['pageid'] : '1';
$stubparam = isset($parms['pass_par1'])? $parms['pass_par1'] : 'No text entered !';
# ... Here You place Your action code, and make a result string in $ret
$ret = "$pageid{|}You have passed the string: $stubparam";
return $ret;
}
?>
|