コード例 #1
0
ファイル: cmc.php プロジェクト: fracting/cmc
 /**
  * Display our CMC fields at the registration
  *
  * @param   object  $tab       - The tab
  * @param   JUser   $user      - The user
  * @param   object  $ui        - The UI
  * @param   object  $postdata  - The postdata
  *
  * @return string
  */
 public function getDisplayRegistration($tab, $user, $ui, $postdata)
 {
     JHtml::_('stylesheet', JURI::root() . 'media/mod_cmc/css/cmc.css');
     CompojoomHtmlBehavior::jquery();
     $plugin = GetCmcTab::getPlugin();
     $listid = $plugin->params->get('listid', "");
     $interests = $plugin->params->get('interests', '');
     $fields = $plugin->params->get('fields', '');
     // Create the xml for JForm
     $builder = CmcHelperXmlbuilder::getInstance($plugin->params);
     // Load JS & Co
     JFactory::getDocument()->addScriptDeclaration("\n\t\t\tjQuery(document).ready(function(){\n\t\t\t\tvar \$ = jQuery;\n\n\t\t\t\t\$('#cmc_check_newsletter').on('click', function() {\n\t\t\t\t\tif(\$(this).prop('checked'))\n\t\t\t\t\t{\n\t\t\t\t\t\t\$('input.cmc_req').addClass('required');\n\t\t\t\t\t\t\$('#cmc_newsletter').show();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\t\$('input.cmc_req').removeClass('required');\n\t\t\t\t\t\t\$('#cmc_newsletter').hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t\$('#cmc_newsletter').hide();\n\t\t\t});\n\t\t");
     // We have to set the fields / interests manually for cb because they are no array! See explode
     if (!empty($fields)) {
         $fields = explode("|*|", $plugin->params->get('fields', ''));
         $builder->fields = $fields;
     }
     if (!empty($interests)) {
         $interests = explode("|*|", $plugin->params->get('interests', ''));
         $builder->interests = $interests;
     }
     $xml = $builder->build();
     $form = new JForm('myform');
     $form->addFieldPath(JPATH_ADMINISTRATOR . '/components/com_cmc/models/fields');
     $form->load($xml);
     $fieldsets = $form->getFieldsets();
     $ret = '<div class="cbFieldsContentsTab">';
     $ret .= '<div class="sectiontableentry1 cbft_predefined cbtt_input form-group cb_form_line clearfix">';
     $ret .= '<label for="name" id="cblabname" class="control-label col-sm-3">' . JText::_('PLG_CMCCB_SUBSCRIPTION') . '</label>';
     $ret .= '<div class="cb_field col-sm-9">';
     $ret .= '<input type="checkbox" name="cmc[newsletter]" id="cmc_check_newsletter" value="1" /> ';
     $ret .= '<label for="cmc_check_newsletter" id="cmc_newsletter_lbl">' . JText::_('PLG_CMCCB_NEWSLETTER') . '</label>';
     $ret .= "</div>\n";
     $ret .= "</div>";
     $ret .= "<div id='cmc_td_newsletter' style='' class=\"cbFieldsContentsTab\">\n";
     $ret .= "<div id=\"cmc_newsletter\" style=\"display: block;\">\n";
     // Render Content
     foreach ($fieldsets as $key => $value) {
         if ($key != "cmc") {
             $ret .= '<div class="sectiontableentry1 cbft_predefined cbtt_input form-group cb_form_line clearfix">';
             $ret .= '<label class="col-sm-12">' . JText::_($value->label) . '</label>';
             $ret .= '</div>';
             $fields = $form->getFieldset($key);
             foreach ($fields as $field) {
                 $ret .= '<div class="sectiontableentry1 cbft_predefined cbtt_input form-group cb_form_line clearfix">';
                 $ret .= '<div class="control-label col-sm-3">' . $field->label . '</div>';
                 $ret .= '<div class="cb_field col-sm-9">';
                 $ret .= $field->input;
                 $ret .= '</div>';
                 $ret .= '</div>';
             }
         }
     }
     $ret .= '<input type="hidden" name="cmc[listid]" id="cmc_listid" value="' . $listid . '" />';
     // End open tables / divs
     $ret .= "</div>\n";
     $ret .= "</div>\n";
     return $ret;
 }
コード例 #2
0
ファイル: cmc.php プロジェクト: fracting/cmc
 /**
  * Manupulates the registration form
  *
  * @param   string  &$data  - registration form data
  *
  * @return mixed
  */
 public function onUserRegisterFormDisplay(&$data)
 {
     // Load the funky stuff
     CompojoomHtmlBehavior::jquery();
     JHtml::stylesheet('media/plg_community_cmc/css/style.css');
     JHtml::script('media/plg_community_cmc/js/cmc.js');
     // Create the xml for JForm
     $builder = CmcHelperXmlbuilder::getInstance($this->params);
     $xml = $builder->build();
     $form = new JForm('myform');
     $form->addFieldPath(JPATH_ADMINISTRATOR . '/components/com_cmc/models/fields');
     $form->load($xml);
     $displayData = new stdClass();
     $displayData->form = $form;
     $layout = new CompojoomLayoutFile('newsletter.form', JPATH_BASE . '/plugins/community/cmc/layouts');
     $html = $layout->render($displayData);
     $pos = strrpos($data, '<div class="joms-form__group">');
     $data = substr($data, 0, $pos) . $html . substr($data, $pos);
 }
コード例 #3
0
ファイル: floating.php プロジェクト: fracting/cmc
/**
 * @author     Yves Hoppe - compojoom.com
 * @date       29.06.2015
 *
 * @copyright  Copyright (C) 2008 - 2015 compojoom.com . All rights reserved.
 * @license    GNU General Public License version 2 or later; see LICENSE
 */
defined('_JEXEC') or die('Restricted access');
// Don't load module if user is subscribed in this template!
if ($status->status == 'subscribed') {
    return;
}
$moduleId = $module->id;
if ($params->get('jquery', 1)) {
    CompojoomHtmlBehavior::jquery();
}
JHtml::_('behavior.formvalidation');
// Load JS
JHtml::script('media/mod_cmc/js/cmc.js');
JHtml::script('media/mod_cmc/js/floating.jquery.js');
// Load css
JHtml::_('stylesheet', 'media/mod_cmc/css/cmc.css');
JHtml::_('stylesheet', 'media/mod_cmc/css/floating.css');
if ($params->get('bootstrap_form', 1)) {
    JHtml::_('stylesheet', 'media/mod_cmc/css/bootstrap-form.css');
}
$document = JFactory::getDocument();
// Get CSS depending on signup_position param
$pos = $params->get('signup_position', 'right');
$script = 'jQuery(document).ready(function() {
コード例 #4
0
ファイル: cmc.php プロジェクト: fracting/cmc
 /**
  * Subscribe a user to our list
  *
  * @param   JForm  $form  - the user form
  * @param   array  $data  - the user data
  *
  * @return bool
  *
  * @throws Exception
  */
 public function subscribe($form, $data)
 {
     $needToValidate = true;
     $input = JFactory::getApplication()->input;
     $task = $input->get('task');
     if (in_array($task, array('register', 'apply', 'save'))) {
         $requestData = JFactory::getApplication()->input->get('jform', array(), 'array');
         $needToValidate = isset($requestData['cmc']) && isset($requestData['cmc']['newsletter']);
     }
     if ($needToValidate) {
         $lang = JFactory::getLanguage();
         $lang->load('plg_user_cmc', JPATH_ADMINISTRATOR);
         CompojoomHtmlBehavior::jquery();
         JHtml::script('media/plg_user_cmc/js/cmc.js');
         $renderer = CmcHelperXmlbuilder::getInstance($this->params);
         // Render Content
         $html = $renderer->build();
         // Inject fields into the form
         $form->load($html, false);
     }
     return true;
 }