/**
  * Action for uploading an image using AJAX.
  * @param string $name name for locating the uploaded file.
  * @param string $preset name of the preset.
  * @param string $saveName image name.
  * @param string $path image path.
  * @throws CException if the uploaded file is not found.
  */
 public function actionAjaxUpload($name, $preset = null, $saveName = null, $path = null)
 {
     $ajax = new AjaxResponse();
     $file = CUploadedFile::getInstanceByName($name);
     if ($file === null) {
         $ajax->error(sprintf('Uploaded file with name "%s" could not be found.', $name));
     }
     $manager = $this->getManager();
     try {
         $model = $manager->saveModel(new UploadedFile($file), $saveName, $path);
         $ajax->add('imageId', $model->id);
         if ($preset !== null) {
             $preset = $manager->loadPreset($preset);
             $ajax->add('imageTooSmall', $preset->getWidth() > $model->width || $preset->getHeight() > $model->height);
             $ajax->add('imageUrl', $manager->createImagePresetUrl($model, $preset));
         }
         $ajax->success();
     } catch (Exception $e) {
         Yii::log(sprintf('Image upload failed with error: %s', $e->getMessage()), CLogger::LEVEL_ERROR, 'ImageManager');
         $ajax->error(t('imageManager', 'Something went wrong when uploading the image, please try again.'));
     }
 }
示例#2
0
    $dbDRule = API::DRule()->get(array('druleids' => get_request('druleid'), 'output' => API_OUTPUT_EXTEND, 'selectDChecks' => API_OUTPUT_EXTEND, 'editable' => true));
    if (empty($dbDRule)) {
        access_deny();
    }
}
$_REQUEST['go'] = get_request('go', 'none');
// ajax
if (isset($_REQUEST['output']) && $_REQUEST['output'] == 'ajax') {
    $ajaxResponse = new AjaxResponse();
    if (isset($_REQUEST['ajaxaction']) && $_REQUEST['ajaxaction'] == 'validate') {
        $ajaxData = get_request('ajaxdata', array());
        foreach ($ajaxData as $check) {
            switch ($check['field']) {
                case 'port':
                    if (!validate_port_list($check['value'])) {
                        $ajaxResponse->error(_('Incorrect port range.'));
                    }
                    break;
                case 'itemKey':
                    $itemKey = new CItemKey($check['value']);
                    if (!$itemKey->isValid()) {
                        $ajaxResponse->error(_s('Incorrect key: "%1$s".', $itemKey->getError()));
                    }
                    break;
            }
        }
    }
    $ajaxResponse->send();
    require_once dirname(__FILE__) . '/include/page_footer.php';
    exit;
}
示例#3
0
    $dbDRule = API::DRule()->get(array('druleids' => get_request('druleid'), 'output' => array('name', 'proxy_hostid', 'iprange', 'delay', 'status'), 'selectDChecks' => array('type', 'key_', 'snmp_community', 'ports', 'snmpv3_securityname', 'snmpv3_securitylevel', 'snmpv3_authpassphrase', 'snmpv3_privpassphrase', 'uniq', 'snmpv3_authprotocol', 'snmpv3_privprotocol', 'snmpv3_contextname'), 'editable' => true));
    if (empty($dbDRule)) {
        access_deny();
    }
}
$_REQUEST['go'] = get_request('go', 'none');
// ajax
if (isset($_REQUEST['output']) && $_REQUEST['output'] == 'ajax') {
    $ajaxResponse = new AjaxResponse();
    if (isset($_REQUEST['ajaxaction']) && $_REQUEST['ajaxaction'] == 'validate') {
        $ajaxData = get_request('ajaxdata', array());
        foreach ($ajaxData as $check) {
            switch ($check['field']) {
                case 'port':
                    if (!validate_port_list($check['value'])) {
                        $ajaxResponse->error(_('Incorrect port range.'));
                    }
                    break;
                case 'itemKey':
                    $itemKey = new CItemKey($check['value']);
                    if (!$itemKey->isValid()) {
                        $ajaxResponse->error(_s('Invalid key "%1$s": %2$s.', $check['value'], $itemKey->getError()));
                    }
                    break;
            }
        }
    }
    $ajaxResponse->send();
    require_once dirname(__FILE__) . '/include/page_footer.php';
    exit;
}