aboutsummaryrefslogtreecommitdiffstats
path: root/public/admin/controller/common/developer.php
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2019-08-18 21:14:58 -0500
committerJesús <heckyel@hyperbola.info>2019-08-18 21:14:58 -0500
commit2eed7b082f83630301e51f57ca8394de228a8605 (patch)
tree1d19962d22d30f99317d9276e4bae7744fc93fc2 /public/admin/controller/common/developer.php
downloadlibrecart-2eed7b082f83630301e51f57ca8394de228a8605.tar.lz
librecart-2eed7b082f83630301e51f57ca8394de228a8605.tar.xz
librecart-2eed7b082f83630301e51f57ca8394de228a8605.zip
first commit
Diffstat (limited to 'public/admin/controller/common/developer.php')
-rw-r--r--public/admin/controller/common/developer.php113
1 files changed, 113 insertions, 0 deletions
diff --git a/public/admin/controller/common/developer.php b/public/admin/controller/common/developer.php
new file mode 100644
index 0000000..30663dc
--- /dev/null
+++ b/public/admin/controller/common/developer.php
@@ -0,0 +1,113 @@
+<?php
+class ControllerCommonDeveloper extends Controller {
+ public function index() {
+ $this->load->language('common/developer');
+
+ $data['user_token'] = $this->session->data['user_token'];
+
+ $data['developer_theme'] = $this->config->get('developer_theme');
+ $data['developer_sass'] = $this->config->get('developer_sass');
+
+ $eval = false;
+
+ $eval = '$eval = true;';
+
+ eval($eval);
+
+ if ($eval === true) {
+ $data['eval'] = true;
+ } else {
+ $this->load->model('setting/setting');
+
+ $this->model_setting_setting->editSetting('developer', array('developer_theme' => 1), 0);
+
+ $data['eval'] = false;
+ }
+
+ $this->response->setOutput($this->load->view('common/developer', $data));
+ }
+
+ public function edit() {
+ $this->load->language('common/developer');
+
+ $json = array();
+
+ if (!$this->user->hasPermission('modify', 'common/developer')) {
+ $json['error'] = $this->language->get('error_permission');
+ } else {
+ $this->load->model('setting/setting');
+
+ $this->model_setting_setting->editSetting('developer', $this->request->post, 0);
+
+ $json['success'] = $this->language->get('text_success');
+ }
+
+ $this->response->addHeader('Content-Type: application/json');
+ $this->response->setOutput(json_encode($json));
+ }
+
+ public function theme() {
+ $this->load->language('common/developer');
+
+ $json = array();
+
+ if (!$this->user->hasPermission('modify', 'common/developer')) {
+ $json['error'] = $this->language->get('error_permission');
+ } else {
+ $directories = glob(DIR_CACHE . '*', GLOB_ONLYDIR);
+
+ if ($directories) {
+ foreach ($directories as $directory) {
+ $files = glob($directory . '/*');
+
+ foreach ($files as $file) {
+ if (is_file($file)) {
+ unlink($file);
+ }
+ }
+
+ if (is_dir($directory)) {
+ rmdir($directory);
+ }
+ }
+ }
+
+ $json['success'] = sprintf($this->language->get('text_cache'), $this->language->get('text_theme'));
+ }
+
+ $this->response->addHeader('Content-Type: application/json');
+ $this->response->setOutput(json_encode($json));
+ }
+
+ public function sass() {
+ $this->load->language('common/developer');
+
+ $json = array();
+
+ if (!$this->user->hasPermission('modify', 'common/developer')) {
+ $json['error'] = $this->language->get('error_permission');
+ } else {
+ // Before we delete we need to make sure there is a sass file to regenerate the css
+ $file = DIR_APPLICATION . 'view/stylesheet/bootstrap.css';
+
+ if (is_file($file) && is_file(DIR_APPLICATION . 'view/stylesheet/sass/_bootstrap.scss')) {
+ unlink($file);
+ }
+
+ $files = glob(DIR_CATALOG . 'view/theme/*/stylesheet/sass/_bootstrap.scss');
+
+ foreach ($files as $file) {
+ $file = substr($file, 0, -21) . '/bootstrap.css';
+
+ if (is_file($file)) {
+ unlink($file);
+ }
+ }
+
+ $json['success'] = sprintf($this->language->get('text_cache'), $this->language->get('text_sass'));
+ }
+
+ $this->response->addHeader('Content-Type: application/json');
+ $this->response->setOutput(json_encode($json));
+ }
+} \ No newline at end of file