ACC SHELL

Path : /srv/www/vhosts/alfa-com/modules/
File Upload :
Current File : /srv/www/vhosts/alfa-com/modules/gallery.php

<?php
	class o_gallery extends object
	{
		public function initialize($phase)
		{
			parent::initialize($phase);
			
			if ($phase == 0)
			{
				$this->set('tree', true);
				$this->set('group-filter', Feq('group', true));
				$this->set('order', array('+priority', '+title'));
				$this->f('otitle')->get = 'return ($object->oid ? $object->title : "");';
	
				$this->definePid();
				$this->defineIdAutoIncrement();
				$this->defineOCreated();
				$this->defineGroup();
				$this->definePriority();
				$this->defineImage();
				$this->defineStringLocalized('title');
				$this->defineTextLocalizedHTML('text');
	
				$f = $this->defineV('url', Field::TYPE_STRING);
				$f->get = 'return (!$object->id ? "" : (U::urlize($object->title) . "-" . $object->id));';
			}
		}
	}

	class gallery extends ObjectModule
	{
		public function initialize($phase)
		{
			parent::initialize($phase);

			if ($phase == 4)
			{
				$this->action('list')->set('columns', array('priority', 'title', 'image'));
				$this->action('list')->set('actions', array('new', 'edit', 'delete'));
				$this->action('get')->set('object-fields', array('id'));
			}
		}

		public function index($options = array())
		{
			Router::add(Router::TYPE_EQUALS, __('get-url'), array('page.location' => $this->id.'/get'));
			Router::add(Router::TYPE_REGEX, __('get-url').'(.*)-(\d+)', array('page.location' => $this->id.'/get'), array('title', 'id'));
			Router::process();
			if (page()->location("{$this->id}/get"))
				$this->mainTemplate();
		}

		public function page($options = array())
		{
			if (page()->location("~^{$this->id}/~"))
			{
				page()->breadcrumb(__('module-name', $this->id), $this->url('get'));
				if (i()->get('id'))
					page()->breadcrumb($GLOBALS['result']['object']->oid ? $GLOBALS['result']['object']->otitle : __('not-found', '@core'));				
				return true;
			}
		}
		
		public function select_id($value = null)
		{
			$result = Cache::get($this->id, __FUNCTION__);
			if ($result === null)
			{
				$result = array('' => '');
				$rows = qa("SELECT `id`, `title_#L#` FROM `##{$this->id}` WHERE `group` ORDER BY `priority`, `title_#L#`");
				if (is_array($rows) && count($rows))
					foreach ($rows as $row)
						$result[$row['id']] = $row['title'.LL];
				Cache::set($result, $this->id, __FUNCTION__);
			}
			return parent::select($value, $result);
		}

		public function select_oid($value = null)
		{
			$result = Cache::get($this->id, __FUNCTION__);
			if ($result === null)
			{
				$result = array('' => '');
				$rows = qa("SELECT `oid`, `title_#L#` FROM `##{$this->id}` WHERE `group` ORDER BY `priority`, `title_#L#`");
				if (is_array($rows) && count($rows))
					foreach ($rows as $row)
						$result[$row['oid']] = $row['title'.LL];
				Cache::set($result, $this->id, __FUNCTION__);
			}
			return parent::select($value, $result);
		}

		/************************************************** ACTIONS **************************************************/
	}
?>

ACC SHELL 2018