class/Location.php
<?php
namespace XoopsModules\Extcal;
/*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/**
* @copyright {@link https://xoops.org/ XOOPS Project}
* @license {@link https://www.gnu.org/licenses/gpl-2.0.html GNU GPL 2 or later}
* @package extcal
* @since
* @author XOOPS Development Team,
*/
//Kraven 30
require_once XOOPS_ROOT_PATH . '/kernel/object.php';
//class Event extends \XoopsObject
//class extcal_location extends \XoopsObject
/**
* Class Location.
*/
class Location extends \XoopsObject
{
public function __construct()
{
//Toutes les attributs de la table
$this->initVar('id', \XOBJ_DTYPE_INT, null, false, 5);
$this->initVar('nom', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('description', \XOBJ_DTYPE_TXTAREA, '', false);
$this->initVar('logo', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('categorie', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('adresse', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('adresse2', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('cp', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('ville', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('tel_fixe', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('tel_portable', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('mail', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('site', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('horaires', \XOBJ_DTYPE_TXTAREA, '', false);
$this->initVar('divers', \XOBJ_DTYPE_TXTBOX, null, false);
$this->initVar('tarifs', \XOBJ_DTYPE_TXTAREA, '', false);
$this->initVar('map', \XOBJ_DTYPE_URL, false);
}
/**
* @param bool $action
*
* @return \XoopsThemeForm
*/
public function getForm($action = false)
{
global $xoopsDB;
if (false === $action) {
$action = $_SERVER['REQUEST_URI'];
}
$title = $this->isNew() ? \sprintf(\_MD_EXTCAL_LOCATION_ADD) : \sprintf(\_MD_EXTCAL_LOCATION_EDIT);
require_once XOOPS_ROOT_PATH . '/class/xoopsformloader.php';
$form = new \XoopsThemeForm($title, 'form', $action, 'post', true);
$form->setExtra('enctype="multipart/form-data"');
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_NOM, 'nom', 50, 255, $this->getVar('nom')), true);
$form->addElement(new \XoopsFormDhtmlTextArea(\_MD_EXTCAL_LOCATION_DESCRIPTION, 'description', $this->getVar('description'), 10), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_CATEGORIE, 'categorie', 40, 255, $this->getVar('categorie')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_ADRESSE, 'adresse', 50, 255, $this->getVar('adresse')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_ADRESSE2, 'adresse2', 50, 255, $this->getVar('adresse2')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_CP, 'cp', 10, 10, $this->getVar('cp')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_VILLE, 'ville', 20, 255, $this->getVar('ville')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_TEL_FIXE, 'tel_fixe', 20, 20, $this->getVar('tel_fixe')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_TEL_PORTABLE, 'tel_portable', 20, 20, $this->getVar('tel_portable')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_MAIL, 'mail', 50, 255, $this->getVar('mail')), false);
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_SITE, 'site', 50, 255, $this->getVar('site')), false);
$form->addElement(new \XoopsFormTextArea(\_MD_EXTCAL_LOCATION_HORAIRES, 'horaires', $this->getVar('horaires'), 3, 40));
$form->addElement(new \XoopsFormTextArea(\_MD_EXTCAL_LOCATION_DIVERS, 'divers', $this->getVar('divers'), 5, 40));
//$form->addElement( new \XoopsFormTextArea(_MD_EXTCAL_LOCATION_TARIFS, 'tarifs', $this->getVar("tarifs"), 5, 40));
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_TARIFS . ' ( ' . \_MD_EXTCAL_DEVISE2 . ' )', 'tarifs', 20, 20, $this->getVar('tarifs')), false);
//$form->addElement( new \XoopsFormTextArea(_MD_EXTCAL_LOCATION_MAP, 'map', $this->getVar("map"), 5, 40));
$form->addElement(new \XoopsFormText(\_MD_EXTCAL_LOCATION_MAP, 'map', 150, 255, $this->getVar('map')), false);
//Logo
$file_tray = new \XoopsFormElementTray(\sprintf(\_MD_EXTCAL_FORM_IMG, 2), '');
if ('' != $this->getVar('logo')) {
$file_tray->addElement(new \XoopsFormLabel('', "<img src='" . XOOPS_URL . '/uploads/extcal/location/' . $this->getVar('logo') . "' name='image' id='image' alt=''><br><br>"));
$check_del_img = new \XoopsFormCheckBox('', 'delimg');
$check_del_img->addOption(1, \_MD_EXTCAL_DEL_IMG);
$file_tray->addElement($check_del_img);
$file_img = new \XoopsFormFile(\_MD_EXTCAL_IMG, 'attachedimage', 3145728);
unset($check_del_img);
} else {
$file_img = new \XoopsFormFile('', 'attachedimage', 3145728);
}
$file_img->setExtra("size ='40'");
$file_tray->addElement($file_img);
$msg = \sprintf(\_MD_EXTCAL_IMG_CONFIG, (int)(3145728 / 1000), 500);
$file_label = new \XoopsFormLabel('', '<br>' . $msg);
$file_tray->addElement($file_label);
$form->addElement($file_tray);
$form->addElement(new \XoopsFormHidden('file', $this->getVar('logo')));
unset($file_img, $file_tray);
$form->addElement(new \XoopsFormHidden('op', 'save_location'));
$form->addElement(new \XoopsFormButton('', 'submit', \_SUBMIT, 'submit'));
$form->display();
return $form;
}
}