b0y-101 Mini Shell


Current Path : E:/www/instructor/teacher01/components/com_eventgallery/controllers/
File Upload :
Current File : E:/www/instructor/teacher01/components/com_eventgallery/controllers/Singleimage.php

<?php
/**
 * @package     Sven.Bluege
 * @subpackage  com_eventgallery
 *
 * @copyright   Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;

class EventgalleryControllerSingleimage extends EventgalleryController
{

    public function display($cachable = false, $urlparams = array())
    {
        $folder = $this->input->getString('folder', '');

        /**
         * @var EventgalleryLibraryFactoryFolder $folderFactory
         */
        $folderFactory = EventgalleryLibraryFactoryFolder::getInstance();
        $folder = $folderFactory->getFolder($folder);


        if ($folder == null) {
            throw new Exception(JText::_('COM_EVENTGALLERY_EVENT_NO_PUBLISHED_MESSAGE'), 404);
        }
        // we need to do this only if someone entered a password.
        // the views will protect themselfs
        $accessAllowed = $folder->isVisible();

        if (!$accessAllowed) {
            $cachable = false;
        }



        $viewLayout = $this->input->get('layout', 'default', 'string');

        if ('imagesetselection' == $viewLayout) {
            $cachable = false;
        }

        parent::display($cachable, $urlparams);
    }

    function saveReport($cachable = false, $urlparams = array()) {

        JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

        $app = JFactory::getApplication();



        /**
         * @var JModelForm $model
         */
        $model = $this->getModel('Singleimage', 'EventgalleryModel');
        $form = $model->getMessageForm();
        $data = $this->input->post->getArray();
        $validationSuccessful = $model->validate($form, $data);

        if ($validationSuccessful) {

            $row = JTable::getInstance('message', 'EventgalleryTable', array());
            $row->bind($app->input->post->getArray());
            $result = $row->store();

            /**
             * @var Joomla\Registry\Registry $config
             * @var Joomla\Registry\Registry $params
             */
            $config = JFactory::getConfig();
            $mailer = JFactory::getMailer();
            $egConfig = \Joomla\Component\Eventgallery\Site\Library\Configuration\Main::getInstance();

            $subject = $config->get('sitename') . ' // ' . JText::_('COM_EVENTGALLERY_MESSAGES_REPORT_MAIL_SUBJECT');
            $body = [];
            $body[] = "<b>" . JText::_('COM_EVENTGALLERY_MESSAGES_EMAIL_LABEL') . ": </b> {$row->email}<br>";
            $body[] = "<b>" . JText::_('COM_EVENTGALLERY_MESSAGES_MESSAGE_LABEL') . ": </b> {$row->message}<br>";
            $body[] = "<b>Folder: </b> {$row->folder}<br>";
            $body[] = "<b>File: </b> {$row->file}<br>";
            $body = implode("", $body);

            $mailer->setSubject(
                $subject
            );

            $mailer->isHtml(true);
            $mailer->Encoding = 'base64';
            $mailer->setBody($body);

            // Customer Mail
            $sender = array(
                $config->get('mailfrom'),
                $config->get('fromname'));

            $mailer->setSender($sender);

            $userids = JAccess::getUsersByGroup($egConfig->getGeneral()->getAdminUserGroupId());

            foreach ($userids as $userid) {
                $user = JUser::getInstance($userid);
                if ($user->sendEmail == 1) {
                    $mailadresse = JMailHelper::cleanAddress($user->email);
                    $mailer->addRecipient($mailadresse);
                }
            }

            $send = $mailer->Send();

            if ($result && $send) {
                $app->enqueueMessage(JText::_('COM_EVENTGALLERY_MESSAGES_REPORT_SAVE_SUCCESS'), 'info');
            } else {
                $app->enqueueMessage(JText::_('COM_EVENTGALLERY_MESSAGES_REPORT_SAVE_FAILED'), 'error');
            }

            $folder = $app->input->getString('folder');
            $file = $app->input->getString('file');
            $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=singleimage&layout=report&folder=" . $folder . "&file=" . $file));
        }

        return $this->display($cachable, $urlparams);
    }

}

Copyright © 2019 by b0y-101