Exemple #1
0
 public function addToolbar()
 {
     $bar = JToolBar::getInstance('toolbar');
     /* @var $bar JToolBar */
     JToolBarHelper::title(JText::_('JOOMDOC_LICENSES'), 'licenses');
     if (JoomDOCAccess::licenses()) {
         JToolBarHelper::addNew(JoomDOCHelper::getTask(JOOMDOC_LICENSE, JOOMDOC_TASK_ADD));
         JToolBarHelper::publishList(JoomDOCHelper::getTask(JOOMDOC_LICENSES, JOOMDOC_TASK_PUBLISH));
         JToolBarHelper::unpublishList(JoomDOCHelper::getTask(JOOMDOC_LICENSES, JOOMDOC_TASK_UNPUBLISH));
         JToolBarHelper::divider();
         JToolBarHelper::deleteList('JOOMDOC_ARE_YOU_SURE_DELETE_LICENSE', JoomDOCHelper::getTask(JOOMDOC_LICENSES, JOOMDOC_TASK_DELETE));
         $bar->appendButton('Confirm', 'JOOMDOC_ARE_YOU_SURE_EMPTY_TRASH', 'trash', 'JTOOLBAR_EMPTY_TRASH', JoomDOCHelper::getTask(JOOMDOC_LICENSES, JOOMDOC_TASK_TRASH), false);
     } else {
         $bar->appendButton('Standard', 'new', 'JTOOLBAR_NEW');
         $bar->appendButton('Standard', 'publish', 'JTOOLBAR_PUBLISH');
         $bar->appendButton('Standard', 'unpublish', 'JTOOLBAR_UNPUBLISH');
         JToolBarHelper::divider();
         $bar->appendButton('Standard', 'remove', 'JTOOLBAR_DELETE');
         $bar->appendButton('Standard', 'trash', 'JTOOLBAR_TRASH');
     }
     if (JoomDOCAccess::admin()) {
         JToolBarHelper::divider();
         JToolBarHelper::preferences(JOOMDOC_OPTION, JOOMDOC_PARAMS_WINDOW_HEIGHT, JOOMDOC_PARAMS_WINDOW_WIDTH);
     }
 }
Exemple #2
0
 /**
  * Add the page title and toolbar.
  * @return void
  */
 protected function addToolbar()
 {
     JRequest::setVar('hidemainmenu', true);
     JToolBarHelper::title(JText::_('JOOMDOC_LICENSE'), 'licenses');
     if (JoomDOCAccess::licenses()) {
         JToolBarHelper::apply(JoomDOCHelper::getTask(JOOMDOC_LICENSE, JOOMDOC_TASK_APPLY), 'JTOOLBAR_APPLY');
         JToolBarHelper::save(JoomDOCHelper::getTask(JOOMDOC_LICENSE, JOOMDOC_TASK_SAVE), 'JTOOLBAR_SAVE');
     } else {
         $bar = JToolBar::getInstance('toolbar');
         /* @var $bar JToolBar */
         $bar->appendButton('Standard', 'apply', 'JTOOLBAR_APPLY');
         $bar->appendButton('Standard', 'save', 'JTOOLBAR_SAVE');
     }
     JToolBarHelper::cancel(JoomDOCHelper::getTask(JOOMDOC_LICENSE, JOOMDOC_TASK_CANCEL), 'JTOOLBAR_CLOSE');
 }
Exemple #3
0
 /**
  * Method to get the record form.
  *
  * @param array	$data Data for the form.
  * @param boolean $loadData	True if the form is to load its own data (default case), false if not.
  * @return mixed A JForm object on success, false on failure
  */
 public function getForm($data = array(), $loadData = true)
 {
     $form = $this->loadForm(sprintf('%s.%s', JOOMDOC_OPTION, JOOMDOC_LICENSE), JFile::read(JOOMDOC_MODELS . DIRECTORY_SEPARATOR . 'forms' . DIRECTORY_SEPARATOR . JOOMDOC_LICENSE . '.xml'), array('control' => 'jform', 'load_data' => $loadData));
     /* @var $form JForm */
     if (empty($form)) {
         return false;
     }
     if (!JoomDOCAccess::licenses()) {
         $form->setFieldAttribute('id', 'disabled', 'true');
         $form->setFieldAttribute('title', 'disabled', 'true');
         $form->setFieldAttribute('alias', 'disabled', 'true');
         $form->setFieldAttribute('text', 'disabled', 'true');
         $form->setFieldAttribute('state', 'disabled', 'true');
         $form->setFieldAttribute('default', 'disabled', 'true');
         $form->setFieldAttribute('checked_out', 'disabled', 'true');
         $form->setFieldAttribute('checked_out_time', 'disabled', 'true');
         $form->setFieldAttribute('created', 'disabled', 'true');
         $form->setFieldAttribute('created_by', 'disabled', 'true');
         $form->setFieldAttribute('modified', 'disabled', 'true');
         $form->setFieldAttribute('modified_by', 'disabled', 'true');
         $form->setFieldAttribute('params', 'disabled', 'true');
         $form->setFieldAttribute('id', 'filter', 'unset');
         $form->setFieldAttribute('title', 'filter', 'unset');
         $form->setFieldAttribute('alias', 'filter', 'unset');
         $form->setFieldAttribute('text', 'filter', 'unset');
         $form->setFieldAttribute('state', 'filter', 'unset');
         $form->setFieldAttribute('default', 'filter', 'unset');
         $form->setFieldAttribute('checked_out', 'filter', 'unset');
         $form->setFieldAttribute('checked_out_time', 'filter', 'unset');
         $form->setFieldAttribute('created', 'filter', 'unset');
         $form->setFieldAttribute('created_by', 'filter', 'unset');
         $form->setFieldAttribute('modified', 'filter', 'unset');
         $form->setFieldAttribute('modified_by', 'filter', 'unset');
         $form->setFieldAttribute('params', 'filter', 'unset');
     }
     return $form;
 }
Exemple #4
0
 /**
  * Allow save license operation.
  *
  * @return boolean
  */
 protected function allowSave($data, $key = 'id')
 {
     return JoomDOCAccess::licenses();
 }
Exemple #5
0
 /**
  * Delete trashed license's.
  *
  * @return void
  */
 public function trash()
 {
     if (JoomDOCAccess::licenses()) {
         $model = $this->getModel();
         $count = $model->trash();
         $this->setRedirect(JoomDOCRoute::viewLicenses(), JText::sprintf('JOOMDOC_TRASH_EMPTY', $count));
     }
 }
Exemple #6
0
$js[] = '	var form = document.getElementById(\'item-form\');';
$js[] = '	if (task == \'' . JoomDOCHelper::getTask(JOOMDOC_LICENSE, JOOMDOC_TASK_CANCEL) . '\' || document.formvalidator.isValid(form))';
$js[] = '		Joomla.submitform(task, form);';
$js[] = '	else alert(\'' . JText::_('JGLOBAL_VALIDATION_FORM_FAILED', true) . '\');';
$js[] = '}';
$js[] = 'function submitform(pressbutton){Joomla.submitbutton(pressbutton);}';
$document->addScriptDeclaration(PHP_EOL . implode(PHP_EOL, $js) . PHP_EOL);
echo '<form action="' . JRoute::_(JoomDOCRoute::saveLicense($this->license->id)) . '" method="post" name="adminForm" id="item-form" class="form-validate">';
echo '<div class="fltlft col"><fieldset class="adminform"><legend>' . JText::_('JOOMDOC_DOCUMENT') . '</legend><table class="admintable">';
echo '<tr><td class="key">' . $this->form->getLabel('title') . '</td><td>' . $this->form->getInput('title') . '</td></tr>';
echo '<tr><td class="key">' . $this->form->getLabel('alias') . '</td><td>' . $this->form->getInput('alias') . '</td></tr>';
echo '<tr><td class="key">' . $this->form->getLabel('default') . '</td><td>' . $this->form->getInput('default') . '</td></tr>';
echo '<tr><td class="key">' . $this->form->getLabel('state') . '</td><td>' . $this->form->getInput('state') . '</td></tr>';
echo '</table><div class="clr"></div>';
echo $this->form->getLabel('text') . '<div class="clr"></div>';
echo JoomDOCAccess::licenses() ? $this->form->getInput('text') : $this->form->getValue('text');
echo '<div class="clr"></div></fieldset></div>';
if ($this->license->id) {
    echo '<div class="fltlft col">';
    require_once JOOMDOC_ADMINISTRATOR . '/libraries/joomdoc/html/joomdoc.php';
    echo JHtmlJoomDOC::startSliders('license', 'publishing');
    echo JHtmlJoomDOC::addSlide('license', 'JOOMDOC_PUBLISHING', 'publishing');
    echo '<fieldset class="panelform"><table class="admintable">';
    echo '<tr><td class="key">' . $this->form->getLabel('created') . '</td><td>' . $this->date('created') . '</td></tr>';
    echo '<tr><td class="key">' . $this->form->getLabel('created_by') . '</td><td>' . $this->form->getInput('created_by') . '</td></tr>';
    if ($this->license->modified_by) {
        echo '<tr><td class="key">' . $this->form->getLabel('modified') . '</td><td>' . $this->date('modified') . '</td></tr>';
        echo '<tr><td class="key">' . $this->form->getLabel('modified_by') . '</td><td>' . $this->form->getInput('modified_by') . '</td></tr>';
    }
    echo '</table></fieldset>';
    echo JHtmlJoomDOC::endSlide();
Exemple #7
0
echo '</div>';
echo '</div>';
echo '</fieldset>';
echo '<div class="clearfix"></div>';
echo '<table class="adminlist table table-striped" cellspacing="1">';
echo '<thead><tr>';
echo '<th width="1%" class="center"><input type="checkbox" name="checkall-toggle" value="" onclick="Joomla.checkAll(this)" /></th>';
echo '<th>' . JHtml::_('grid.sort', 'JOOMDOC_TITLE', 'lcs.title', $listDirn, $listOrder) . '</th>';
echo '<th width="5%">' . JHtml::_('grid.sort', 'JSTATUS', 'lcs.state', $listDirn, $listOrder) . '</th>';
echo '<th width="5%">' . JHtml::_('grid.sort', 'JOOMDOC_DEFAULT', 'lcs.default', $listDirn, $listOrder) . '</th>';
echo '<th width="8%">' . JHtml::_('grid.sort', 'JGRID_HEADING_CREATED_BY', 'lcs.created_by', $listDirn, $listOrder) . '</th>';
echo '<th width="7%">' . JHtml::_('grid.sort', 'JDATE', 'lcs..created', $listDirn, $listOrder) . '</th>';
echo '<th width="1%">' . JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'lcs.id', $listDirn, $listOrder) . '</th>';
echo '</tr></thead>';
echo '<tfoot><tr><td colspan="20">' . $this->pagination->getListFooter() . '</td></tr></tfoot><tbody>';
$canManage = JoomDOCAccess::licenses();
$dateFormat = JText::_('DATE_FORMAT_LC4');
foreach ($this->licenses as $i => $license) {
    echo '<tr class="row' . $i % 2 . '">';
    echo '<td class="center">';
    echo $license->checked_out ? JHtml::_('jgrid.checkedout', $i, $license->editor, $license->checked_out_time, JOOMDOC_LICENSES . '.', $canManage) : JHtml::_('grid.id', $i, $license->id);
    echo '</td>';
    echo '<td><a href="' . JRoute::_(JoomDOCRoute::editLicense($license->id)) . '" title="">' . $license->title . '</a></td>';
    echo '<td class="center" align="center">';
    echo JHtml::_('jgrid.published', $license->state, $i, JOOMDOC_LICENSES . '.', $canManage, 'cb');
    echo '</td>';
    echo '<td class="center" align="center">' . JHtml::_('joomdoc.defaults', $license->default, $i, JOOMDOC_LICENSES, $canManage) . '</td>';
    echo '<td nowrap="nowrap">' . $license->creator . '</td>';
    echo '<td nowrap="nowrap">' . JHtml::_('date', $license->created, $dateFormat) . '</td>';
    echo '<td>' . $license->id . '</td>';
    echo '</tr>';
Exemple #8
0
 /**
  * Method to get the record form.
  *
  * @param array	$data Data for the form.
  * @param boolean $loadData	True if the form is to load its own data (default case), false if not.
  * @return mixed A JForm object on success, false on failure
  */
 public function getForm($data = array(), $loadData = true)
 {
     $form = $this->loadForm(sprintf('%s.%s', JOOMDOC_OPTION, JOOMDOC_DOCUMENT), JFile::read(JOOMDOC_MODELS . DIRECTORY_SEPARATOR . 'forms' . DIRECTORY_SEPARATOR . JOOMDOC_DOCUMENT . '.xml'), array('control' => 'jform', 'load_data' => $loadData));
     /* @var $form JForm */
     $data = $this->loadFormData();
     if (empty($form)) {
         return false;
     }
     $config = JoomDOCConfig::getInstance();
     if ($config->documentAccess == 2) {
         // single user instead of access level
         $form->setFieldAttribute('access', 'type', 'user');
     } else {
         $form->removeField('download');
     }
     if (!$this->canEditState($form)) {
         $form->setFieldAttribute('publish_up', 'disabled', 'true');
         $form->setFieldAttribute('publish_down', 'disabled', 'true');
         $form->setFieldAttribute('state', 'disabled', 'true');
         $form->setFieldAttribute('favorite', 'disabled', 'true');
         $form->setFieldAttribute('ordering', 'disabled', 'true');
         $form->setFieldAttribute('publish_up', 'filter', 'unset');
         $form->setFieldAttribute('publish_down', 'filter', 'unset');
         $form->setFieldAttribute('state', 'filter', 'unset');
         $form->setFieldAttribute('favorite', 'filter', 'unset');
         $form->setFieldAttribute('ordering', 'filter', 'unset');
     }
     if (!JoomDOCAccess::licenses()) {
         $form->setFieldAttribute('license', 'disabled', 'true');
         $form->setFieldAttribute('license', 'filter', 'unset');
     }
     $config = JoomDOCConfig::getInstance();
     /* @var $config JoomDOCConfig */
     if ($config->versionDocument && JoomDOCAccessDocument::viewVersions($form->getValue('id'))) {
         $form->setValue('versionNote', '');
         if ($config->versionRequired) {
             $form->setFieldAttribute('versionNote', 'required', 'true');
         }
     }
     // load custom fields
     $query = $this->getDbo()->getQuery(true);
     $query->select('id, title, type, params')->from('#__joomdoc_field')->order('ordering')->where('published = 1');
     $fields = $this->getDbo()->setQuery($query)->loadObjectList('id');
     if ($fields) {
         // load custom fields options
         $query = $this->getDbo()->getQuery(true);
         $query->select('field, value, label')->from('#__joomdoc_option')->where('field IN (' . implode(', ', array_keys($fields)) . ')')->order('ordering');
         $options = $this->getDbo()->setQuery($query)->loadObjectList();
         $fieldmap[JOOMDOC_FIELD_TEXT] = 'text';
         $fieldmap[JOOMDOC_FIELD_DATE] = 'calendar';
         $fieldmap[JOOMDOC_FIELD_RADIO] = 'radio';
         $fieldmap[JOOMDOC_FIELD_SELECT] = 'list';
         $fieldmap[JOOMDOC_FIELD_CHECKBOX] = 'checkboxes';
         $fieldmap[JOOMDOC_FIELD_TEXTAREA] = 'textarea';
         $fieldmap[JOOMDOC_FIELD_EDITOR] = 'editor';
         $fieldmap[JOOMDOC_FIELD_MULTI_SELECT] = 'list';
         $fieldmap[JOOMDOC_FIELD_SUGGEST] = 'suggest';
         foreach ($fields as $field) {
             // create basic form element
             $element = new SimpleXMLElement('<field/>');
             // setup basic field params
             $element->addAttribute('field_id', $field->id);
             $element->addAttribute('name', 'field' . $field->id);
             $element->addAttribute('label', $field->title);
             if ($field->type == JOOMDOC_FIELD_EDITOR && !JFactory::getUser()->authorise('joomdoc.field.edit', 'com_joomdoc.field.' . $field->id)) {
                 $element->addAttribute('type', 'div');
             } else {
                 $element->addAttribute('type', $fieldmap[$field->type]);
             }
             // setup other field params
             $params = new JRegistry($field->params);
             $params = $params->toArray();
             // setup field options
             if ($field->type == JOOMDOC_FIELD_RADIO) {
                 $element->addChild('option', JText::_('JNO'))->addAttribute('value', 0);
                 $element->addChild('option', JText::_('JYES'))->addAttribute('value', 1);
                 if (JFactory::getUser()->authorise('joomdoc.field.edit', 'com_joomdoc.field.' . $field->id)) {
                     $params['class'] = JString::trim(JArrayHelper::getValue($params, 'class', '', 'string') . ' btn-group');
                 }
             }
             if ($field->type == JOOMDOC_FIELD_SELECT || $field->type == JOOMDOC_FIELD_CHECKBOX || $field->type == JOOMDOC_FIELD_MULTI_SELECT) {
                 foreach ($options as $option) {
                     if ($field->id == $option->field) {
                         $child = $element->addChild('option', $option->label)->addAttribute('value', $option->value);
                     }
                 }
             }
             if ($field->type == JOOMDOC_FIELD_EDITOR) {
                 $element->addAttribute('filter', 'JComponentHelper::filterText');
             }
             if ($field->type == JOOMDOC_FIELD_MULTI_SELECT || $field->type == JOOMDOC_FIELD_SUGGEST) {
                 $element->addAttribute('multiple', 'multiple');
             }
             foreach ($params as $var => $val) {
                 if ($var == 'required' && !JFactory::getUser()->authorise('joomdoc.field.edit', 'com_joomdoc.field.' . $field->id)) {
                     continue;
                 }
                 if ($val) {
                     $element->addAttribute($var, $val);
                 }
             }
             if (!JFactory::getUser()->authorise('joomdoc.field.edit', 'com_joomdoc.field.' . $field->id)) {
                 $element->addAttribute('disabled', 'true');
                 if ($field->type == JOOMDOC_FIELD_RADIO || $field->type == JOOMDOC_FIELD_CHECKBOX) {
                     foreach ($element->children() as $option) {
                         $option->addAttribute('disabled', 'true');
                     }
                 }
             }
             $form->setField($element);
             if ($field->type == JOOMDOC_FIELD_CHECKBOX || $field->type == JOOMDOC_FIELD_MULTI_SELECT || $field->type == JOOMDOC_FIELD_SUGGEST) {
                 $registry = new JRegistry(is_array($data) ? JArrayHelper::getValue($data, 'field' . $field->id) : $data->get('field' . $field->id));
                 is_array($data) ? $data['field' . $field->id] = (array) $registry->toArray() : $data->set('field' . $field->id, (array) $registry->toArray());
             }
         }
         $form->bind($data);
     }
     return $form;
 }