public function actionEnd() { $this->validateToken(); $this->validatePermission('smartslider_edit'); $key = N2Request::getCmd('key'); N2SmartSliderSettings::set('guide-' . $key, 0); N2Message::notice('The ' . $key . ' guide completed. If you need it again, you can turn it on in the "Settings"!'); $this->response->respond(); }
public function actionRecordsTable() { $this->validateToken(); $this->validatePermission('smartslider_edit'); $generatorId = N2Request::getInt('generator_id'); $generatorModel = new N2SmartsliderGeneratorModel(); if ($generatorId > 0) { $generator = $generatorModel->get($generatorId); $this->validateDatabase($generator); } else { $info = new N2Data(N2Request::getVar('generator')); $generator = array('group' => $info->get('group'), 'type' => $info->get('type'), 'params' => '{}'); } $info = $generatorModel->getGeneratorInfo($generator['group'], $generator['type']); $generator['params'] = new N2Data($generator['params'], true); $generator['params']->loadArray(N2Request::getVar('generator')); require_once $info->path . '/generator.php'; $class = 'N2Generator' . $generator['group'] . $generator['type']; /** @var N2GeneratorAbstract $dataSource */ $dataSource = new $class($info, $generator['params']); $request = new N2Data(N2Request::getVar('generator')); $group = max(intval($request->get('record-group', 1)), 1); $result = $dataSource->getData(max($request->get('record-slides', 1), 1), max($request->get('record-start', 1), 1), $group); if (count($result)) { ob_start(); $headings = array(); for ($i = 1; $i <= $group; $i++) { $headings[] = '#'; foreach ($result[0][0] as $k => $v) { $headings[] = '{' . $k . '/' . $i . '}'; } } $headingHTML = N2Html::tag('thead', array(), N2Html::tag('tr', array(), '<th>' . implode('</th><th>', $headings) . '</th>')); $rows = array(); $i = 0; foreach ($result as $records) { foreach ($records as $g => $record) { $rows[$i][] = $i + 1; foreach ($record as $k => $v) { $rows[$i][] = N2Html::tag('div', array(), htmlentities($v)); } } $i++; } for ($i = 0; $i < count($rows); $i++) { $rows[$i] = '<td>' . implode('</td><td>', $rows[$i]) . '</td>'; } $recordHTML = N2Html::tag('tbody', array(), '<tr>' . implode('</tr><tr>', $rows) . '</tr>'); echo N2Html::tag('div', array('style' => 'width: 100%; height: 100%; overflow: auto;'), N2Html::tag('table', array('class' => 'n2-generator-records n2-table n2-table-fancy', 'style' => 'margin: 10px; width: auto; table-layout: fixed;'), $headingHTML . $recordHTML)); $this->response->respond(array('html' => ob_get_clean())); } else { N2Message::notice('No records found for the filter'); $this->response->error(); } }
public function deAuthorize() { if ($this->hasKey()) { $status = $this->checkKey($this->key, 'licensedeauthorize'); if ($status == 'OK' || $status == 'LICENSE_EXPIRED' || $status == 'PLATFORM_NOT_ALLOWED') { $this->setKey(''); N2Message::notice('Smart Slider deauthorized on this site!'); } return $status; } return false; }
public static function showAjax() { self::loadSessionError(); $messages = array(); if (is_array(self::$error) && count(self::$error)) { $messages['error'] = array(); foreach (self::$error as $error) { $messages['error'][] = $error; } self::$error = array(); } self::loadSessionSuccess(); if (is_array(self::$success) && count(self::$success)) { $messages['success'] = array(); foreach (self::$success as $success) { $messages['success'][] = $success; } self::$success = array(); } self::loadSessionNotice(); if (is_array(self::$notice) && count(self::$notice)) { $messages['notice'] = array(); foreach (self::$notice as $notice) { $messages['notice'][] = $notice; } self::$notice = array(); } self::$flushed = true; if (count($messages)) { return $messages; } return false; }