当前位置: 首页>>代码示例>>PHP>>正文


PHP RSFormProHelper::getDirectoryStaticHeaders方法代码示例

本文整理汇总了PHP中RSFormProHelper::getDirectoryStaticHeaders方法的典型用法代码示例。如果您正苦于以下问题:PHP RSFormProHelper::getDirectoryStaticHeaders方法的具体用法?PHP RSFormProHelper::getDirectoryStaticHeaders怎么用?PHP RSFormProHelper::getDirectoryStaticHeaders使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RSFormProHelper的用法示例。


在下文中一共展示了RSFormProHelper::getDirectoryStaticHeaders方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: display

 public function display($tpl = null)
 {
     $this->app = JFactory::getApplication();
     $this->doc = JFactory::getDocument();
     $this->document =& $this->doc;
     $this->params = $this->app->getParams('com_rsform');
     $this->layout = $this->getLayout();
     $this->directory = $this->get('Directory');
     $this->tooltipClass = RSFormProHelper::getTooltipClass();
     if ($this->layout == 'view') {
         $this->doc->addStyleSheet(JURI::root(true) . '/components/com_rsform/assets/css/directory.css');
         $this->template = $this->get('template');
         $this->canEdit = RSFormProHelper::canEdit($this->params->get('formId'), $this->app->input->getInt('id', 0));
         $this->id = $this->app->input->getInt('id', 0);
         // Add custom CSS and JS
         if ($this->directory->JS) {
             $this->doc->addCustomTag($this->directory->JS);
         }
         if ($this->directory->CSS) {
             $this->doc->addCustomTag($this->directory->CSS);
         }
         // Add pathway
         $this->app->getPathway()->addItem(JText::_('RSFP_SUBM_DIR_VIEW'), '');
     } elseif ($this->layout == 'edit') {
         if (RSFormProHelper::canEdit($this->params->get('formId'), $this->app->input->getInt('id', 0))) {
             $this->doc->addStyleSheet(JURI::root(true) . '/components/com_rsform/assets/css/directory.css');
             $this->fields = $this->get('EditFields');
         } else {
             $this->app->redirect(JURI::root());
         }
         // Add pathway
         $this->app->getPathway()->addItem(JText::_('RSFP_SUBM_DIR_EDIT'), '');
     } else {
         $this->search = $this->get('Search');
         $this->items = $this->get('Items');
         $this->uploadFields = $this->get('uploadFields');
         $this->multipleFields = $this->get('multipleFields');
         $this->unescapedFields = array_merge($this->multipleFields, $this->uploadFields);
         $this->fields = $this->get('Fields');
         $this->headers = RSFormProHelper::getDirectoryStaticHeaders();
         $this->hasDetailFields = $this->hasDetailFields();
         $this->hasSearchFields = $this->hasSearchFields();
         $this->viewableFields = $this->getViewableFields();
         $this->pagination = $this->get('Pagination');
         $this->filter_search = $this->get('Search');
         $this->filter_order = $this->get('ListOrder');
         $this->filter_order_Dir = $this->get('ListDirn');
         // Add custom CSS and JS
         if ($this->directory->JS) {
             $this->doc->addCustomTag($this->directory->JS);
         }
         if ($this->directory->CSS) {
             $this->doc->addCustomTag($this->directory->CSS);
         }
     }
     if ($this->params->get('robots')) {
         $this->document->setMetadata('robots', $this->params->get('robots'));
     }
     if ($this->params->get('menu-meta_description')) {
         $this->document->setDescription($this->params->get('menu-meta_description'));
     }
     if ($this->params->get('menu-meta_keywords')) {
         $this->document->setMetadata('keywords', $this->params->get('menu-meta_keywords'));
     }
     $title = $this->params->get('page_title', '');
     if (empty($title)) {
         $title = JFactory::getConfig()->get('sitename');
     } elseif (JFactory::getConfig()->get('sitename_pagetitles', 0) == 1) {
         $title = JText::sprintf('JPAGETITLE', JFactory::getConfig()->get('sitename'), $title);
     } elseif (JFactory::getConfig()->get('sitename_pagetitles', 0) == 2) {
         $title = JText::sprintf('JPAGETITLE', $title, JFactory::getConfig()->get('sitename'));
     }
     $this->document->setTitle($title);
     parent::display($tpl);
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:75,代码来源:view.html.php

示例2: storeDirectory

 protected function storeDirectory()
 {
     // Add directory #__rsform_directory & #__rsform_directory_fields
     if ($directory = $this->getDirectory()) {
         // No need for these
         unset($directory->formId);
         $headers = RSFormProHelper::getDirectoryStaticHeaders();
         $this->xml->add('directory');
         foreach ($directory as $property => $value) {
             if ($property == 'fields') {
                 $this->xml->add('fields');
                 foreach ($value as $field) {
                     // No need for this.
                     unset($field->formId);
                     // Special case - static headers
                     if ($field->componentId < 0 && isset($headers[$field->componentId])) {
                         // Do nothing
                     } else {
                         $field->componentId = isset($this->fields[$field->componentId]) ? $this->fields[$field->componentId] : '';
                     }
                     $this->xml->add('field');
                     foreach ($field as $property => $value) {
                         $this->xml->add($property, $value);
                     }
                     $this->xml->add('/field');
                 }
                 $this->xml->add('/fields');
             } else {
                 $this->xml->add($property, $value);
             }
         }
         $this->xml->add('/directory');
     }
 }
开发者ID:knigherrant,项目名称:decopatio,代码行数:34,代码来源:form.php

示例3: download

 public function download()
 {
     $app = JFactory::getApplication();
     $model = $this->getModel('directory');
     $directory = $model->getDirectory();
     if (!$directory->enablecsv) {
         JError::raiseWarning(500, JText::_('RSFP_VIEW_DIRECTORY_NO_CSV'));
         return $app->redirect(JURI::root());
     }
     if (!$model->isValid()) {
         JError::raiseWarning(500, $model->getError());
         return $app->redirect(JURI::root());
     }
     $db = JFactory::getDbo();
     $params = $app->getParams('com_rsform');
     $menu = $app->getMenu();
     $active = $menu->getActive();
     $formId = $params->get('formId');
     $cids = JRequest::getVar('cid');
     JArrayHelper::toInteger($cids);
     $fields = RSFormProHelper::getDirectoryFields($formId);
     $headers = RSFormProHelper::getDirectoryStaticHeaders();
     $downloadableFields = array();
     $downloadableFieldCaptions = array();
     foreach ($fields as $field) {
         if ($field->incsv) {
             $downloadableFields[] = (object) array('name' => $field->FieldName, 'static' => $field->componentId < 0 && isset($headers[$field->componentId]) ? 1 : 0);
             $downloadableFieldCaptions[] = $field->FieldCaption;
         }
     }
     list($multipleSeparator, $uploadFields, $multipleFields, $secret) = RSFormProHelper::getDirectoryFormProperties($formId);
     // Get submissions
     $db->setQuery("SELECT * FROM #__rsform_submissions WHERE FormId='" . (int) $formId . "' AND SubmissionId IN (" . implode(',', $cids) . ")");
     $submissions = $db->loadObjectList('SubmissionId');
     // Get values
     $names = array();
     foreach ($downloadableFields as $field) {
         if (!$field->static) {
             $names[] = $db->q($field->name);
         }
     }
     $query = $db->getQuery(true);
     $query->select($db->qn('SubmissionId'))->select($db->qn('FieldName'))->select($db->qn('FieldValue'))->from($db->qn('#__rsform_submission_values'))->where($db->qn('FormId') . '=' . $db->q($formId));
     if ($cids) {
         $query->where($db->qn('SubmissionId') . ' IN (' . implode(',', $cids) . ')');
     }
     if ($names) {
         $query->where($db->qn('FieldName') . ' IN (' . implode(',', $names) . ')');
     }
     $db->setQuery($query);
     $values = $db->loadObjectList();
     // Combine them
     foreach ($values as $item) {
         if (!isset($submissions[$item->SubmissionId]->values)) {
             $submissions[$item->SubmissionId]->values = array();
         }
         // process here
         if (in_array($item->FieldName, $uploadFields)) {
             $item->FieldValue = '<a href="' . JURI::root() . 'index.php?option=com_rsform&amp;task=submissions.view.file&amp;hash=' . md5($item->SubmissionId . $secret . $item->FieldName) . '">' . basename($item->FieldValue) . '</a>';
         } elseif (in_array($item->FieldName, $multipleFields)) {
             $item->FieldValue = str_replace("\n", $multipleSeparator, $item->FieldValue);
         }
         $submissions[$item->SubmissionId]->values[$item->FieldName] = $item->FieldValue;
     }
     $enclosure = '"';
     $delimiter = ',';
     $download_name = $active->alias . '.csv';
     header('Cache-Control: public, must-revalidate');
     header('Cache-Control: pre-check=0, post-check=0, max-age=0');
     if (!preg_match('#MSIE#', $_SERVER['HTTP_USER_AGENT'])) {
         header("Pragma: no-cache");
     }
     header("Expires: 0");
     header("Content-Description: File Transfer");
     header("Expires: Sat, 01 Jan 2000 01:00:00 GMT");
     if (preg_match('#Opera#', $_SERVER['HTTP_USER_AGENT'])) {
         header("Content-Type: application/octetstream");
     } else {
         header("Content-Type: application/octet-stream");
     }
     header('Content-Disposition: attachment; filename="' . $download_name . '"');
     header("Content-Transfer-Encoding: binary\n");
     ob_end_clean();
     echo $enclosure . implode($enclosure . $delimiter . $enclosure, $downloadableFieldCaptions) . $enclosure . "\n";
     foreach ($cids as $cid) {
         $row = array();
         foreach ($downloadableFields as $field) {
             $value = '';
             if (!$field->static && isset($submissions[$cid]->values[$field->name])) {
                 $value = $submissions[$cid]->values[$field->name];
             } elseif ($field->static && isset($submissions[$cid]->{$field->name})) {
                 // Show a text for the "confirmed" column.
                 if ($field->name == 'confirmed') {
                     $value = $submissions[$cid]->{$field->name} ? JText::_('RSFP_YES') : JText::_('RSFP_NO');
                 } else {
                     $value = $submissions[$cid]->{$field->name};
                 }
             }
             $row[] = $value;
         }
//.........这里部分代码省略.........
开发者ID:knigherrant,项目名称:decopatio,代码行数:101,代码来源:directory.php

示例4: autoGenerateLayout

 public function autoGenerateLayout()
 {
     $formId = $this->_directory->formId;
     $filter = JFilterInput::getInstance();
     $layout = JPATH_ADMINISTRATOR . '/components/com_rsform/layouts/' . $filter->clean($this->_directory->ViewLayoutName, 'path') . '.php';
     if (!file_exists($layout)) {
         return false;
     }
     $headers = RSFormProHelper::getDirectoryStaticHeaders();
     $fields = RSFormProHelper::getDirectoryFields($formId);
     $quickfields = $this->getQuickFields();
     $imagefields = $this->getImagesFields();
     $this->_directory->ViewLayout = (include $layout);
 }
开发者ID:AlexanderKri,项目名称:joom-upd,代码行数:14,代码来源:directory.php

示例5: save

 public function save()
 {
     jimport('joomla.filesystem.file');
     jimport('joomla.filesystem.folder');
     $cid = JRequest::getInt('id');
     $form = JRequest::getVar('form', array(), 'post', 'none', JREQUEST_ALLOWRAW);
     $static = JRequest::getVar('formStatic', array(), 'post', 'none', JREQUEST_ALLOWRAW);
     $formId = JRequest::getInt('formId');
     $files = JRequest::getVar('form', array(), 'files', 'none', JREQUEST_ALLOWRAW);
     $validation = RSFormProHelper::validateForm($formId, 'directory', $cid);
     if (!empty($validation)) {
         return false;
     }
     $formFields = RSFormProHelper::getDirectoryFields($formId);
     $headers = RSFormProHelper::getDirectoryStaticHeaders();
     $staticFields = array();
     $allowed = array();
     foreach ($formFields as $field) {
         if ($field->editable) {
             if ($field->componentId < 0 && isset($headers[$field->componentId])) {
                 $staticFields[] = $field->FieldName;
             } else {
                 $allowed[] = $field->FieldName;
             }
         }
     }
     //Trigger Event - onBeforeDirectorySave
     $this->_app->triggerEvent('rsfp_f_onBeforeDirectorySave', array(array('SubmissionId' => &$cid, 'formId' => $formId, 'post' => &$form)));
     // Handle file uploads first
     if (!empty($files['error'])) {
         foreach ($files['error'] as $field => $error) {
             if (!in_array($field, $allowed) || $error) {
                 continue;
             }
             // The above $validation should suffice
             $this->_db->setQuery("SELECT FieldValue FROM #__rsform_submission_values WHERE FieldName='" . $this->_db->escape($field) . "' AND SubmissionId='" . $cid . "' LIMIT 1");
             $original = $this->_db->loadResult();
             // Prefix
             $componentId = RSFormProHelper::getComponentId($field, $formId);
             $data = RSFormProHelper::getComponentProperties($componentId);
             $prefix = uniqid('') . '-';
             if (isset($data['PREFIX']) && strlen(trim($data['PREFIX'])) > 0) {
                 $prefix = RSFormProHelper::isCode($data['PREFIX']);
             }
             // Path
             $realpath = realpath($data['DESTINATION'] . DIRECTORY_SEPARATOR);
             if (substr($realpath, -1) != DIRECTORY_SEPARATOR) {
                 $realpath .= DIRECTORY_SEPARATOR;
             }
             // Filename
             $file = $realpath . $prefix . $files['name'][$field];
             // Upload File
             if (JFile::upload($files['tmp_name'][$field], $file) && $file != $original) {
                 // Remove the original file to save up space
                 if (file_exists($original) && is_file($original)) {
                     JFile::delete($original);
                 }
                 // Add to db (submission value)
                 $form[$field] = $file;
             }
         }
     }
     // Update fields
     foreach ($form as $field => $value) {
         if (!in_array($field, $allowed)) {
             continue;
         }
         if (is_array($value)) {
             $value = implode("\n", $value);
         }
         // Dynamic field - update value.
         $this->_db->setQuery("SELECT SubmissionValueId, FieldValue FROM #__rsform_submission_values WHERE FieldName='" . $this->_db->escape($field) . "' AND SubmissionId='" . $cid . "' LIMIT 1");
         $original = $this->_db->loadObject();
         if (!$original) {
             $this->_db->setQuery("INSERT INTO #__rsform_submission_values SET FormId='" . $formId . "', SubmissionId='" . $cid . "', FieldName='" . $this->_db->escape($field) . "', FieldValue='" . $this->_db->escape($value) . "'");
             $this->_db->execute();
         } else {
             // Update only if we've changed something
             if ($original->FieldValue != $value) {
                 $this->_db->setQuery("UPDATE #__rsform_submission_values SET FieldValue='" . $this->_db->escape($value) . "' WHERE SubmissionValueId='" . $original->SubmissionValueId . "' LIMIT 1");
                 $this->_db->execute();
             }
         }
     }
     $offset = JFactory::getConfig()->get('offset');
     if ($static && $staticFields) {
         // Static, update submission
         $query = $this->_db->getQuery(true);
         $query->update('#__rsform_submissions')->where($this->_db->qn('SubmissionId') . '=' . $this->_db->q($cid));
         foreach ($staticFields as $field) {
             if (!isset($static[$field])) {
                 $static[$field] = '';
             }
             if ($field == 'DateSubmitted') {
                 $static[$field] = JFactory::getDate($static[$field], $offset)->toSql();
             }
             $query->set($this->_db->qn($field) . '=' . $this->_db->q($static[$field]));
         }
         $this->_db->setQuery($query);
         $this->_db->execute();
//.........这里部分代码省略.........
开发者ID:knigherrant,项目名称:decopatio,代码行数:101,代码来源:directory.php


注:本文中的RSFormProHelper::getDirectoryStaticHeaders方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。