Added part of backend but problems with Joomla code compatibility found.
Somehow the password must be handled specially (also because of the hashing) which causes problems at the moment.
This commit is contained in:
parent
5c93c0b74c
commit
cc9695b292
@ -1,5 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
|
||||||
// No direct access.
|
// No direct access.
|
||||||
defined('_JEXEC') or die;
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
$controller = BaseController::getInstance("Clubs");
|
||||||
|
$input = Factory::getApplication()->input;
|
||||||
|
|
||||||
|
$task = $input->getCmd("task", "display");
|
||||||
|
|
||||||
|
$view = $input->getCmd('view', 'users');
|
||||||
|
$input->set('view', $view);
|
||||||
|
|
||||||
|
$controller->execute($task);
|
||||||
|
$controller->redirect();
|
||||||
|
@ -8,4 +8,13 @@ defined('_JEXEC') or die;
|
|||||||
class ClubsController extends BaseController
|
class ClubsController extends BaseController
|
||||||
{
|
{
|
||||||
|
|
||||||
|
protected $default_view = 'users';
|
||||||
|
|
||||||
|
public function display($cachable = false, $urlparams = array())
|
||||||
|
{
|
||||||
|
$this->input->get('view', $this->default_view);
|
||||||
|
|
||||||
|
parent::display($cachable, $urlparams);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
11
src/admin/controllers/user.php
Normal file
11
src/admin/controllers/user.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\Controller\FormController;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsControllerUser extends FormController
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
18
src/admin/controllers/users.php
Normal file
18
src/admin/controllers/users.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\Controller\AdminController;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsControllerUsers extends AdminController
|
||||||
|
{
|
||||||
|
|
||||||
|
public function getModel($name = 'User', $prefix = 'ClubsModel', $config = array('ignore_request' => true))
|
||||||
|
{
|
||||||
|
$model = parent::getModel($name, $prefix, $config);
|
||||||
|
|
||||||
|
return $model;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
76
src/admin/models/forms/changeuser.xml
Normal file
76
src/admin/models/forms/changeuser.xml
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<form
|
||||||
|
addrulepath='/administrator/components/com_clubs/models/rules'
|
||||||
|
>
|
||||||
|
<fieldset>
|
||||||
|
<field
|
||||||
|
name="id"
|
||||||
|
type="hidden"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="user"
|
||||||
|
type="text"
|
||||||
|
label="Benutzername"
|
||||||
|
size="40"
|
||||||
|
class="inputbox validate-clubusername"
|
||||||
|
required='true'
|
||||||
|
validate='clubusername'
|
||||||
|
message='Benutzername bereits vergeben'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="name"
|
||||||
|
type="text"
|
||||||
|
label="Bürgerlicher Name"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="address"
|
||||||
|
type="textarea"
|
||||||
|
label="Adresse"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="city"
|
||||||
|
type="text"
|
||||||
|
label="Stadt"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="mail"
|
||||||
|
type="text"
|
||||||
|
label="E-Mail-Adresse"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
validate='email'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="phone"
|
||||||
|
type="text"
|
||||||
|
label="Telefon-Nr."
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="mobile"
|
||||||
|
type="text"
|
||||||
|
label="Handy-Nr."
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
96
src/admin/models/forms/newuser.xml
Normal file
96
src/admin/models/forms/newuser.xml
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<form
|
||||||
|
addrulepath='/administrator/components/com_clubs/models/rules'
|
||||||
|
>
|
||||||
|
<fieldset>
|
||||||
|
<field
|
||||||
|
name="id"
|
||||||
|
type="hidden"
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="user"
|
||||||
|
type="text"
|
||||||
|
label="Benutzername"
|
||||||
|
size="40"
|
||||||
|
class="inputbox validate-clubusername"
|
||||||
|
required='true'
|
||||||
|
validate='clubusername'
|
||||||
|
message='Benutzername bereits vergeben'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="password"
|
||||||
|
type="password"
|
||||||
|
label="Passwort"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="password-confirm"
|
||||||
|
type="password"
|
||||||
|
label="Passwort wiederholen"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
validate='equals' field='password-main'
|
||||||
|
message='Passwoerter stimmen nicht ueberein'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="name"
|
||||||
|
type="text"
|
||||||
|
label="Bürgerlicher Name"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="address"
|
||||||
|
type="textarea"
|
||||||
|
label="Adresse"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="city"
|
||||||
|
type="text"
|
||||||
|
label="Stadt"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="mail"
|
||||||
|
type="text"
|
||||||
|
label="E-Mail-Adresse"
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
required='true'
|
||||||
|
validate='email'
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="phone"
|
||||||
|
type="text"
|
||||||
|
label="Telefon-Nr."
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
<field
|
||||||
|
name="mobile"
|
||||||
|
type="text"
|
||||||
|
label="Handy-Nr."
|
||||||
|
size="40"
|
||||||
|
class="inputbox"
|
||||||
|
default=""
|
||||||
|
/>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
</form>
|
41
src/admin/models/rules/clubusername.php
Normal file
41
src/admin/models/rules/clubusername.php
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\Form\Form;
|
||||||
|
use Joomla\CMS\Form\FormRule;
|
||||||
|
use Joomla\Registry\Registry;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class JFormRuleClubUserName extends FormRule
|
||||||
|
{
|
||||||
|
|
||||||
|
public function test(\SimpleXMLElement $element, $value, $group = null, Registry $input = null, Form $form = null)
|
||||||
|
{
|
||||||
|
// Get the database object and a new query object.
|
||||||
|
$db = Factory::getDbo();
|
||||||
|
$query = $db->getQuery(true);
|
||||||
|
|
||||||
|
// Build the query.
|
||||||
|
$query->select('COUNT(*)')
|
||||||
|
->from('#__club_users')
|
||||||
|
->where('user = ' . $db->quote($value));
|
||||||
|
|
||||||
|
// Get the extra field check attribute.
|
||||||
|
$userId = $input->get('id');
|
||||||
|
$query->where($db->quoteName('id') . ' <> ' . (int) $userId);
|
||||||
|
|
||||||
|
// Set and query the database.
|
||||||
|
$db->setQuery($query);
|
||||||
|
$duplicate = (bool) $db->loadResult();
|
||||||
|
|
||||||
|
if ($duplicate)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
91
src/admin/models/user.php
Normal file
91
src/admin/models/user.php
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\MVC\Model\AdminModel;
|
||||||
|
use Joomla\CMS\Table\Table;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsModelUser extends AdminModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public function getTable($type = 'User', $prefix = 'ClubsTable', $config = array())
|
||||||
|
{
|
||||||
|
return Table::getInstance($type, $prefix, $config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFormNewUser($data = [], $loadData = true)
|
||||||
|
{
|
||||||
|
$form = $this->loadForm(
|
||||||
|
'com_clubs.newuser',
|
||||||
|
'newuser',
|
||||||
|
array(
|
||||||
|
'control' => 'jform',
|
||||||
|
'load_data' => $loadData
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($form))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFormChangeUser($data = [], $loadData = true)
|
||||||
|
{
|
||||||
|
$form = $this->loadForm(
|
||||||
|
'com_clubs.changeuser',
|
||||||
|
'changeuser',
|
||||||
|
array(
|
||||||
|
'control' => 'jform',
|
||||||
|
'load_data' => $loadData
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($form))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $form;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function loadFormData()
|
||||||
|
{
|
||||||
|
// Check the session for previously entered form data.
|
||||||
|
$data = Factory::getApplication()->getUserState(
|
||||||
|
'com_clubs.edit.user.data',
|
||||||
|
array()
|
||||||
|
);
|
||||||
|
|
||||||
|
if (empty($data))
|
||||||
|
{
|
||||||
|
$data = $this->getItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function prepareTable($table)
|
||||||
|
{
|
||||||
|
/* define which columns can have NULL values */
|
||||||
|
$defnull = array('phone', 'mobile');
|
||||||
|
|
||||||
|
foreach ($defnull as $val)
|
||||||
|
/* define the rules when the value is set NULL */
|
||||||
|
if (!strlen($table->$val))
|
||||||
|
$table->$val = NULL;
|
||||||
|
|
||||||
|
if(isset($table->password))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getForm($data = [], $loadData = true)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
22
src/admin/models/users.php
Normal file
22
src/admin/models/users.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\Model\ListModel;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsModelUsers extends ListModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public function getListQuery()
|
||||||
|
{
|
||||||
|
$db = $this->getDbo();
|
||||||
|
$q = $db->getQuery(true);
|
||||||
|
|
||||||
|
$q->select('*')
|
||||||
|
->from('#__club_users');
|
||||||
|
|
||||||
|
return $q;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
21
src/admin/tables/user.php
Normal file
21
src/admin/tables/user.php
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Table\Table;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsTableUser extends Table
|
||||||
|
{
|
||||||
|
|
||||||
|
function __construct(&$db)
|
||||||
|
{
|
||||||
|
parent::__construct('#__club_users', 'id', $db);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function store($updateNulls = false)
|
||||||
|
{
|
||||||
|
return parent::store(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
26
src/admin/views/user/tmpl/edit.php
Normal file
26
src/admin/views/user/tmpl/edit.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<form action="<?php echo JRoute::_('index.php?option=com_clubs&layout=edit&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
|
<div class="form-horizontal">
|
||||||
|
<fieldset class="adminform">
|
||||||
|
<legend><?php echo JText::_('COM_HELLOWORLD_HELLOWORLD_DETAILS'); ?></legend>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6">
|
||||||
|
<?php foreach ($this->form->getFieldset() as $field): ?>
|
||||||
|
<div class="control-group">
|
||||||
|
<div class="control-label"><?php echo $field->label; ?></div>
|
||||||
|
<div class="controls"><?php echo $field->input; ?></div>
|
||||||
|
</div>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="task" value="helloworld.edit" />
|
||||||
|
<?php echo JHtml::_('form.token'); ?>
|
||||||
|
</form>
|
61
src/admin/views/user/view.html.php
Normal file
61
src/admin/views/user/view.html.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
use Joomla\CMS\MVC\View\HtmlView;
|
||||||
|
use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsViewUser extends HtmlView
|
||||||
|
{
|
||||||
|
|
||||||
|
public function display($tpl = null)
|
||||||
|
{
|
||||||
|
|
||||||
|
// Get the Data
|
||||||
|
$this->item = $this->get('Item');
|
||||||
|
$isNew = ($this->item->id == 0);
|
||||||
|
if($isNew)
|
||||||
|
$this->form = $this->get('FormNewUser');
|
||||||
|
else
|
||||||
|
$this->form = $this->get('FormChangeUser');
|
||||||
|
|
||||||
|
// Check for errors.
|
||||||
|
if (count($errors = $this->get('Errors')))
|
||||||
|
{
|
||||||
|
JError::raiseError(500, implode('<br />', $errors));
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Set the toolbar
|
||||||
|
$this->addToolBar($isNew);
|
||||||
|
|
||||||
|
// Display the template
|
||||||
|
parent::display($tpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function addToolBar($isNew)
|
||||||
|
{
|
||||||
|
$input = Factory::getApplication()->input;
|
||||||
|
|
||||||
|
// Hide Joomla Administrator Main menu
|
||||||
|
$input->set('hidemainmenu', true);
|
||||||
|
|
||||||
|
if ($isNew)
|
||||||
|
{
|
||||||
|
$title = 'Benutzer hinzufügen';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$title = 'Benutzer bearbeiten';
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolbarHelper::title($title, 'user');
|
||||||
|
ToolbarHelper::save('user.save');
|
||||||
|
ToolbarHelper::cancel('user.cancel', $isNew ? 'JTOOLBAR_CANCEL' : 'JTOOLBAR_CLOSE');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
73
src/admin/views/users/tmpl/default.php
Normal file
73
src/admin/views/users/tmpl/default.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\Router\Route;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<form action='index.php?option=com_clubs&view=users' method="post" id='adminForm' name='adminForm'>
|
||||||
|
|
||||||
|
<table class="table table-striped table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th width="1%">Nr.</th>
|
||||||
|
<th width="2%">
|
||||||
|
<?php echo JHtmlGrid::checkall(); ?>
|
||||||
|
</th>
|
||||||
|
<th width="30%">
|
||||||
|
Name
|
||||||
|
</th>
|
||||||
|
<th width="30%">
|
||||||
|
Ort
|
||||||
|
</th>
|
||||||
|
<th width="10%">
|
||||||
|
Username
|
||||||
|
</th>
|
||||||
|
<th width="2%">
|
||||||
|
Id
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<td colspan="5">
|
||||||
|
<?php echo $this->pagination->getListFooter(); ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
<tbody>
|
||||||
|
<?php if (!empty($this->users)) : ?>
|
||||||
|
<?php foreach ($this->users as $i => $row) : ?>
|
||||||
|
<?php $link = Route::_('index.php?option=com_clubs&task=user.edit&id=' . $row->id); ?>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<?php echo $this->pagination->getRowOffset($i); ?>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<?php echo JHtmlGrid::id($i, $row->id); ?>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href='<?php echo $link; ?>'><?php echo htmlentities($row->name); ?></a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<?php echo htmlentities($row->city); ?>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<?php echo htmlentities($row->user); ?>
|
||||||
|
</td>
|
||||||
|
<td align="center">
|
||||||
|
<?php echo $row->id; ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<input type="hidden" name="task" value=""/>
|
||||||
|
<input type="hidden" name="boxchecked" value="0"/>
|
||||||
|
|
||||||
|
</form>
|
28
src/admin/views/users/view.html.php
Normal file
28
src/admin/views/users/view.html.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\View\HtmlView;
|
||||||
|
use Joomla\CMS\Toolbar\ToolbarHelper;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsViewUsers extends HtmlView
|
||||||
|
{
|
||||||
|
|
||||||
|
public function display(string $tpl = null)
|
||||||
|
{
|
||||||
|
$this->users = $this->get('Items');
|
||||||
|
$this->pagination = $this->get('Pagination');
|
||||||
|
|
||||||
|
$this->addToolBar();
|
||||||
|
parent::display($tpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function addToolBar()
|
||||||
|
{
|
||||||
|
ToolbarHelper::title('Registrierte Benutzer', 'user');
|
||||||
|
ToolbarHelper::addNew('user.add');
|
||||||
|
ToolbarHelper::editList('user.edit');
|
||||||
|
ToolbarHelper::deleteList('', 'users.delete');
|
||||||
|
}
|
||||||
|
}
|
@ -44,9 +44,9 @@
|
|||||||
|
|
||||||
<administration>
|
<administration>
|
||||||
<menu>Vereinsmanagement</menu>
|
<menu>Vereinsmanagement</menu>
|
||||||
<submenu>
|
<!--submenu>
|
||||||
<!-- <menu link='link' view='v'>Test</menu> -->
|
<menu link='link' view='v'>Test</menu>
|
||||||
</submenu>
|
</submenu>-->
|
||||||
<files from='admin'>
|
<files from='admin'>
|
||||||
<filename>clubs.php</filename>
|
<filename>clubs.php</filename>
|
||||||
<filename>controller.php</filename>
|
<filename>controller.php</filename>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Joomla\CMS\MVC\Controller\BaseController;
|
use Joomla\CMS\MVC\Controller\BaseController;
|
||||||
|
use Joomla\CMS\Factory;
|
||||||
|
|
||||||
// No direct access.
|
// No direct access.
|
||||||
defined('_JEXEC') or die;
|
defined('_JEXEC') or die;
|
||||||
@ -10,11 +11,29 @@ class ClubsController extends BaseController
|
|||||||
|
|
||||||
public function display($cachable = false, $params = array())
|
public function display($cachable = false, $params = array())
|
||||||
{
|
{
|
||||||
|
$viewName = $this->input->get('view', $this->default_view);
|
||||||
|
if($this->checkAuth($viewName))
|
||||||
parent::display($cachable, $params);
|
parent::display($cachable, $params);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Factory::getApplication()->enqueueMessage("Keine Rechte vorhanden. Bitte einloggen.");
|
||||||
|
$this->setRedirect('?option=com_clubs&view=login');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function foo()
|
private function checkAuth($viewName)
|
||||||
{
|
{
|
||||||
echo "dsfh";
|
if($viewName === null)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
switch($viewName)
|
||||||
|
{
|
||||||
|
case 'login':
|
||||||
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return true; // FIXME
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -14,10 +14,14 @@
|
|||||||
margin: 10px 0px;
|
margin: 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
input.clubs,
|
.clubs_content_row > input.clubs[type="text"],
|
||||||
textarea.clubs
|
.clubs_content_row > textarea.clubs,
|
||||||
|
.clubs_content_row > select.clubs
|
||||||
{
|
{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: auto;
|
||||||
|
padding: 10px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.clubs > tbody > tr > th
|
table.clubs > tbody > tr > th
|
||||||
|
13
src/site/models/searchperson.php
Normal file
13
src/site/models/searchperson.php
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
|
||||||
|
|
||||||
|
// No direct access.
|
||||||
|
defined('_JEXEC') or die;
|
||||||
|
|
||||||
|
class ClubsModelSearchPerson extends BaseDatabaseModel
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -17,7 +17,13 @@ defined('_JEXEC') or die;
|
|||||||
|
|
||||||
<div class='clubs_row'>
|
<div class='clubs_row'>
|
||||||
<div class='clubs_title_row'>Funktion im Verein</div>
|
<div class='clubs_title_row'>Funktion im Verein</div>
|
||||||
<div class='clubs_content_row'><?php echo $this->userFunction;?></div>
|
<div class='clubs_content_row'>
|
||||||
|
<select name="userFunction" class='clubs'>
|
||||||
|
<?php foreach($this->functions as $f): ?>
|
||||||
|
<option value='<?php echo $f['functionid']; ?>' <?php if(isset($f['selected']) && $f['selected']) echo 'selected="selected"'; ?>><?php echo htmlentities($f['name']); ?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='clubs_row'>
|
<div class='clubs_row'>
|
||||||
|
@ -27,6 +27,11 @@ class ClubsViewClubAssoc extends HtmlView
|
|||||||
|
|
||||||
$this->mailDedicated = true;
|
$this->mailDedicated = true;
|
||||||
|
|
||||||
|
$this->functions = array();
|
||||||
|
$this->functions[] = array('functionid'=>3, 'name'=>'Vorsitzender', 'selected'=>false);
|
||||||
|
$this->functions[] = array('functionid'=>4, 'name'=>'2. Vorsitzender', 'selected'=>true);
|
||||||
|
$this->functions[] = array('functionid'=>5, 'name'=>'Sportwart');
|
||||||
|
|
||||||
$this->clubname = "Testclub";
|
$this->clubname = "Testclub";
|
||||||
$this->address = "Strasse 1\n66123 Ort";
|
$this->address = "Strasse 1\n66123 Ort";
|
||||||
$this->contactperson = "Max Mustermann";
|
$this->contactperson = "Max Mustermann";
|
||||||
@ -59,7 +64,7 @@ class ClubsViewClubAssoc extends HtmlView
|
|||||||
|
|
||||||
HTMLHelper::_('jquery.framework');
|
HTMLHelper::_('jquery.framework');
|
||||||
Factory::getDocument()->addStyleSheet(Uri::base(true) . "components/com_clubs/css/clubs.css");
|
Factory::getDocument()->addStyleSheet(Uri::base(true) . "components/com_clubs/css/clubs.css");
|
||||||
Factory::getDocument()->addScript(Uri::base(true) . "components/com_clubs/js/assoc.js");
|
Factory::getDocument()->addScript(Uri::base(true) . "components/com_clubs/views/clubassoc/assoc.js");
|
||||||
|
|
||||||
parent::display($tpl);
|
parent::display($tpl);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user