public function action_index() { $category = new Model_Category('tree'); $data['categories'] = $category->getTree(); if (isset($_POST['btnsubmit'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $parentId = Arr::get($_POST, 'parentId', ''); $url = Arr::get($_POST, 'url', ''); $categoryimage = Arr::get($_POST, 'categoryimage', ''); $res = $category->catInsert($parentId, array('name' => $categoryName, 'url' => $url, 'icon_url' => $categoryimage)); if ($res) { //Request::initial()->redirect('admin'); HTTP::redirect('admin'); } else { $data['errors'] = $category->getErrors(); } } if (isset($_POST['materialsavebtn'])) { $categoryId = Arr::get($_POST, 'categoryId', ''); $content = Arr::get($_POST, 'content', ''); $name = Arr::get($_POST, 'name'); $material_image = Arr::get($_POST, 'material_image'); $material = ORM::factory('Material'); $material->addMaterial($categoryId, $content, $name, $material_image); HTTP::redirect('admin'); } $this->template->content = View::factory('adminview', $data); }
public function action_index() { $data = array(); $category = new Model_Category('tree'); $category->checkTree(TRUE); $data['categories'] = $category->getTree(); if ($this->isPressed('btnSubmitAdd')) { $categoryName = Arr::get($_POST, 'categoryName', ''); $parentId = Arr::get($_POST, 'parentId', 0); $res = $category->catInsert($parentId, array('name' => $categoryName)); if ($res) { Request::initial()->redirect('admin/category'); } $data['errors'] = $category->getErrors(); } if ($this->isPressed('btnSubmitChange')) { $categoryName = Arr::get($_POST, 'categoryName', ''); $parentId = Arr::get($_POST, 'parentId', 0); if ($category->changeName($parentId, $categoryName)) { Request::initial()->redirect('admin/category'); } $data['errors'] = $category->getErrors(); } if ($this->isPressed('btnSubmitDel')) { $catDeleteId = Arr::get($_POST, 'catDeleteId', 0); $category->catDelete($catDeleteId); Request::initial()->redirect('admin/category'); } $this->tpl->content = View::factory('admin/categoryeditview', $data); }
public function action_index() { $category = new Model_Category('tree'); $data['categories'] = $category->getTree(); if (isset($_POST['add_category'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $categoryUrl = Arr::get($_POST, 'categoryUrl', ''); $parentId = Arr::get($_POST, 'parentId', ''); $previousId = Arr::get($_POST, 'previousId', ''); $res = $category->catInsert($parentId, $previousId, array('name' => $categoryName, 'url' => $categoryUrl)); if ($res) { Controller::redirect('admin'); } else { $data['errors'] = $category->getErrors(); } } if (isset($_POST['save_category'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $categoryKeywords = Arr::get($_POST, 'categoryKeywords', ''); $categoryDescription = Arr::get($_POST, 'categoryDescription', ''); $url = $this->request->param('id'); $categoryId = $category->getCategoryIdByUrl($url); $res = $category->catUpdate($categoryId, array('name' => $categoryName, 'keywords' => $categoryKeywords, 'description' => $categoryDescription)); if ($res) { Controller::redirect('admin/' . $url); } else { $data['errors'] = $category->getErrors(); } } if (isset($_POST['create_from_groups'])) { $groupId = Arr::get($_POST, 'groupId', ''); $parentId = Arr::get($_POST, 'parentId', ''); $include_content = Arr::get($_POST, 'include_content', ''); $category->createFromGroups($parentId, $groupId); if ($include_content == 'on') { } } $url = $this->request->param('id'); $widgetId = $this->request->param('widget'); $widgets = new Model_Widget(); if ($url != NULL) { $data['thisCategory'] = $category->getCategory($category->getCategoryIdByUrl($url)); //получаем виджеты для категории $data['widgets'] = $widgets->getWidgets($category->getCategoryIdByUrl($url)); } if ($widgetId) { $data['widget'] = $widgets->getWidget($widgetId); $data['widgetTypes'] = $widgets->getWidgetTypes(); } //Получаем группу пользователя $auth = Auth::instance(); $user = $auth->get_user(); // echo '<pre>'; $this->template->content = View::factory('admin/admIndex', array('data' => $data, 'user' => $this->user)); }
public function action_index() { $data = array(); if (!is_readable(APPPATH . 'config/database.php')) { Request::initial()->redirect('install'); } $cat = new Model_Category(); $materials = new Model_Material(); $cat->checkTree(); $tree = $cat->getTree(); $data['tree'] = $cat->getITree($tree); $data['teachers'] = $materials->getTeachersGropupByNode(); $this->tpl->content = View::factory('main', $data); }
public function action_index() { $category = new Model_Category('tree'); $data['categories'] = $category->getTree(); $this->template->content = View::factory('admin/admUsers', array('data' => $data, 'user' => $this->user)); if (isset($_POST['add_category'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $parentId = Arr::get($_POST, 'parentId', ''); $res = $category->catInsert($parentId, array('name' => $categoryName)); if ($res) { Controller::redirect('admin'); } else { $data['errors'] = $category->getErrors(); } } }
public function edit($id, $mode) { $data = array(); $data['errors'] = array(); $data['mode'] = $mode; $material = ORM::factory('material', $id); $user = ORM::factory('user'); $isAdmin = $user->isAdmin(); $data['isAdmin'] = $isAdmin; if ($this->isPressed('btnSubmit')) { $file = Validation::factory($_FILES); // $file->rule('materialFile', 'Upload::not_empty')); $file->rule('materialFile', 'Upload::valid'); $file->rule('materialFile', 'Upload::type', array(':value', array('jpg', 'gif', 'png', 'tif', 'tiff', 'pdf', 'djv', 'djvu', 'txt', 'doc', 'docx', 'xls', 'xlsx', 'odt', 'ods', 'odp', 'odg', 'odm', '7z', 'arj', 'rar', 'zip', 'mp3', 'avi', 'mkv', 'mp4', 'flv'))); $file->rule('materialFile', 'Upload::size', array(':value', '50M')); if (!$isAdmin) { $_POST['teacher_id'] = Auth::instance()->get_user()->id; } $material->values($_POST); $materialError = $fileError = FALSE; try { $material->check(); } catch (ORM_Validation_Exception $e) { $materialError = TRUE; $data['errors'] = $e->errors('validation', FALSE); } if (!$file->check()) { $fileError = TRUE; $data['errors'] = Arr::merge($data['errors'], $file->errors('upload', FALSE)); } if (!$materialError && !$fileError) { $material->save(); // Если файл был загружен, то обработать его if (!empty($_FILES['materialFile']['tmp_name'])) { // удаляем старый файл, если имеется $material->deleteFile(); //определяем имя файла, под которым будет записан материал $path_parts = pathinfo($_FILES['materialFile']['name']); $filename = $material->getFileName($path_parts['extension']); $material->filename = $filename; $material->url = ''; // если мы загружаем файл, то ссылка на сторонний ресурс бессмысленна $savedfilename = Upload::save($file['materialFile'], $filename, 'files'); if ($savedfilename === FALSE) { throw new Exception('Unable to save uploaded file!'); } } // если не было загрузки файла а был установлен URL, то удалить файл, если таковой имеется if ($material->url != '') { $material->deleteFile(); } $material->save(); Request::initial()->redirect('materials.html'); } } $data['values'] = $material->as_array(); $cat = new Model_Category(); $data['tree'] = $cat->getTree(); $data['teachers'] = $user->getTeachers(); $this->tpl->content = View::factory('materials/edit', $data); }
public function action_index() { $category = new Model_Category('tree'); $widgets = new Model_Widget(); $data['categories'] = $category->getTree(); if (isset($_POST['add_category'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $categoryUrl = Arr::get($_POST, 'categoryUrl', ''); $parentId = Arr::get($_POST, 'parentId', ''); $previousId = Arr::get($_POST, 'previousId', ''); $res = $category->catInsert($parentId, $previousId, array('name' => $categoryName, 'url' => $categoryUrl)); if ($res) { Controller::redirect('admin/structure'); } else { $data['errors'] = $category->getErrors(); } } if (isset($_POST['save_category'])) { $categoryName = Arr::get($_POST, 'categoryName', ''); $categoryKeywords = Arr::get($_POST, 'categoryKeywords', ''); $categoryDescription = Arr::get($_POST, 'categoryDescription', ''); $url = $this->request->param('id'); $categoryId = $category->getCategoryIdByUrl($url); $res = $category->catUpdate($categoryId, array('name' => $categoryName, 'keywords' => $categoryKeywords, 'description' => $categoryDescription)); if ($res) { Controller::redirect('admin/structure/' . $url); } else { $data['errors'] = $category->getErrors(); } } if (isset($_POST['create_from_groups'])) { $groupId = Arr::get($_POST, 'groupId', ''); $parentId = Arr::get($_POST, 'parentId', ''); $include_content = Arr::get($_POST, 'include_content', ''); $category->createFromGroups($parentId, $groupId); if ($include_content == 'on') { } } if (isset($_POST['addWidget'])) { $widgets->addWidget($_POST); } if (isset($_POST['checked_del'])) { $delArr = Arr::get($_POST, 'check_name', array()); $widgets->deleteWidgets($delArr); } $url = $this->request->param('id'); $widgetId = $this->request->param('widget'); if ($url != NULL) { $data['thisCategory'] = $category->getCategory($category->getCategoryIdByUrl($url)); //получаем виджеты для категории $data['widgets'] = $widgets->getWidgets($category->getCategoryIdByUrl($url)); $data['widgetsTypes'] = $widgets->getWidgetTypes(); $data['positions'] = Kohana::$config->load('main')->positions; $data['templates'] = $this->getTemplates(); } if ($widgetId) { if (isset($_POST['save_widget'])) { PC::debug($_POST, "post"); //сохраняем данные виджета $data['errors'] = $widgets->saveWidget($_POST); } $data['widget'] = $widgets->getWidget($widgetId); $data['widgetTypes'] = $widgets->getWidgetTypes(); if ($data['widget']['template'] && $data['widget']['template'] != '') { $template = $data['widget']['template']; } else { $template = $data['widget']['def_template']; } $lessfile = DOCROOT . 'css/' . $data['widget']['name'] . '.less'; $jsfile = DOCROOT . 'js/' . $data['widget']['name'] . '.js'; if ($template) { $filename = DOCROOT . 'application/views/widgets/' . $template . '.php'; if (is_file($filename) && is_readable($filename) && filesize($filename) > 0) { $fh = fopen($filename, "r"); $file = fread($fh, filesize($filename)); $data['file'] = $file; fclose($fh); } } if (is_file($lessfile) && is_readable($lessfile) && filesize($lessfile) > 0) { $fh = fopen($lessfile, "r"); $file = fread($fh, filesize($lessfile)); $data['less'] = $file; fclose($fh); } if (is_file($jsfile) && is_readable($jsfile) && filesize($jsfile) > 0) { $fh = fopen($jsfile, "r"); $file = fread($fh, filesize($jsfile)); $data['js'] = $file; fclose($fh); } $num_backups = 10; $template .= '.php'; $lname = $data['widget']['name'] . '.less'; $jname = $data['widget']['name'] . '.js'; for ($n = 1; $n <= $num_backups; ++$n) { $name1 = str_replace($template, str_replace(".", "_" . $n . ".", $template), $template); $res = str_replace($template, 'backups/' . $name1, $filename); if (is_file($res)) { $data['template_backups'][$n]['file'] = $res; $data['template_backups'][$n]['name'] = $name1; } $namel = str_replace($lname, str_replace(".", "_" . $n . ".", $lname), $lname); $namej = str_replace($jname, str_replace(".", "_" . $n . ".", $jname), $jname); $lres = str_replace($lname, 'backups/' . $namel, $lessfile); if (is_file($lres)) { $data['less_backups'][$n]['file'] = $lres; $data['less_backups'][$n]['name'] = $namel; } $jres = str_replace($jname, 'backups/' . $namej, $jsfile); if (is_file($jres)) { $data['js_backups'][$n]['file'] = $jres; $data['js_backups'][$n]['name'] = $namej; } } } if (isset($_POST['imgUpload'])) { //get uploadDir $uploadDir = DOCROOT . 'img/user/menu'; $name = $_POST['filename']; //перебираем массив файлов for ($i = 0; $i < count($_FILES['file']['name']); ++$i) { if ($_FILES['file']['size'][$i] > 11100000) { echo 'Файл не должен быть больше 10 Мб'; } else { $ext = explode('.', $_FILES['file']['name'][$i]); $extension = array_pop($ext); $base = new Model_Base(); $extarr = explode('.', $_FILES['file']['name'][$i]); $ext = array_pop($extarr); $filename = $name . '.' . $ext; //$filename = substr(md5(microtime() * time()),0,rand(20,10)).'.'.$extension; if (copy($_FILES['file']['tmp_name'][$i], $uploadDir . "/" . $filename)) { $base = new Model_Base(); $options = $base->getOptions(); $size = explode(',', Arr::get($options, 'structure_photos_size')); //изменяем картинку //открываем изображение $image = Image::factory($uploadDir . "/" . $filename); //начинаем работу с нужной картинкой. Путь указан от корня приложения //меняем размер картинки if (count($size) == 2) { $image->resize($size[0], $size[1]); } //сохраняем новое изображение $image->save(NULL, 90); //первый параметр - путь, имя и формат изображения. Второй - качество изображения unset($image); } } } } //Получаем группу пользователя $auth = Auth::instance(); $user = $auth->get_user(); // echo '<pre>'; $this->template->content = View::factory('admin/admIndex', array('data' => $data, 'user' => $this->user, 'request' => $this->request, 'response' => $this->response)); }