Example #1
0
/**
 * Handle different tasks related to Q config
 */
function Q_Config_post()
{
    switch (isset($_REQUEST['Q/method']) ? $_REQUEST['Q/method'] : null) {
        case 'clear':
            if (!isset($_REQUEST['filename'])) {
                throw new Q_Exception("'filename' is not defined in 'clear', 'Q/config' handler");
            } else {
                $filename = $_REQUEST['filename'];
            }
            if (!isset($_REQUEST['args'])) {
                throw new Q_Exception("'args' is not defined in 'clear', 'Q/config' handler");
            } else {
                $args = $_REQUEST['args'];
            }
            if (!isset($_REQUEST['noSave'])) {
                throw new Q_Exception("'noSave' is not defined in 'clear', 'Q/config' handler");
            } else {
                $noSave = $_REQUEST['noSave'];
            }
            Q_Config::$cache = Q_Config::clearOnServer($filename, $args, $noSave);
            break;
        case 'set':
            if (!isset($_REQUEST['filename'])) {
                throw new Q_Exception("'filename' is not defined in 'set', 'Q/config' handler");
            } else {
                $filename = $_REQUEST['filename'];
            }
            if (!isset($_REQUEST['data'])) {
                throw new Q_Exception("'data' is not defined in 'set', 'Q/config' handler");
            } else {
                $data = $_REQUEST['data'];
            }
            if (!isset($_REQUEST['clear'])) {
                throw new Q_Exception("'clear' is not defined in 'set', 'Q/config' handler");
            } else {
                $clear = $_REQUEST['clear'];
            }
            Q_Config::$cache = Q_Config::setOnServer($filename, $data, $clear);
            break;
        case 'get':
            if (!isset($_REQUEST['filename'])) {
                throw new Q_Exception("'filename' is not defined in 'put', 'Q/config' handler");
            } else {
                $filename = $_REQUEST['filename'];
            }
            Q_Config::$cache = Q_Config::getFromServer($filename);
            break;
        default:
            throw new Q_Exception("Unknown 'Q/method' in 'Q/config' handler");
            break;
    }
}