Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
evsmash/events / libs / Http / Admin / EventsCategories.php
Size: Mime:
<?php

namespace Evsmash\Events\Http\Admin;

use Evsmash\Core\Http\Base;

use Evsmash\Core\Helpers\Redirect;
use Evsmash\Core\Input\Flash;
use Evsmash\Core\Input\Post;
use Evsmash\Core\Input\Route;
use Evsmash\Core\Input\Server;
use Evsmash\Core\Simpy\Element;

use Evsmash\Events\EventsCategory;

class EventsCategories extends Base {

	// view
	public function index() {

		// elements
		$elements = EventsCategory::params()->where('depth', '>', 0)->get();

		// bar
		$bar = [
			'search' => true,
			'summary' => $elements,
		];

		// view
		$this->view(compact(['elements', 'bar']));

	}

	// insert
	public function insert() {

		// validate
		Post::validate(EventsCategory::validate());

		// insert
		$element = new EventsCategory;
		$element->name = Post::get('name');
		$element->save();
		$element->makeChildOf(Post::get('parent_id'));

		// finish
		Redirect::msg('Element inserted', 'success');
		Redirect::post($element->id);

	}

	// inline
	public function inline() {

		Element::inline(new EventsCategory, ['name']);

	}

	// thick
	public function thick() {

		Element::thick(new EventsCategory, ['published']);

	}

	// sortnest
	public function sortnest() {

		// update
		foreach($_POST['list'] as $row) {
			$item = EventsCategory::find((int)$row['item_id']);
			$item->parent_id = (empty($row['parent_id'])) ? null : (int)$row['parent_id'];
			$item->lft = (int)$row['left'];
			$item->rgt = (int)$row['right'];
			$item->depth = (int)$row['depth'];
			$item->save();
		}

	}

	// delete
	public function delete() {

		// delete
		$element = Element::check(new EventsCategory);
		$element->delete();

		// finish
		Redirect::msg('Element deleted', 'success');
		Redirect::to(Server::referer());

	}

}