コード例 #1
0
ファイル: Group.php プロジェクト: hguru/224Civi
 /**
  * This function is for profile mode (standalone html form ) for uf group
  *
  * @return void
  * @access public
  */
 function profile()
 {
     $config = CRM_Core_Config::singleton();
     // reassign resource base to be the full url, CRM-4660
     $config->resourceBase = $config->userFrameworkResourceURL;
     $config->useFrameworkRelativeBase = $config->userFrameworkBaseURL;
     $gid = CRM_Utils_Request::retrieve('gid', 'Positive', $this, FALSE, 0, 'GET');
     $controller = new CRM_Core_Controller_Simple('CRM_Profile_Form_Edit', ts('Create'), CRM_Core_Action::ADD, FALSE, FALSE, TRUE);
     $controller->reset();
     $controller->process();
     $controller->set('gid', $gid);
     $controller->setEmbedded(TRUE);
     $controller->run();
     $template = CRM_Core_Smarty::singleton();
     $template->assign('gid', $gid);
     $template->assign('tplFile', 'CRM/Profile/Form/Edit.tpl');
     $profile = trim($template->fetch('CRM/Form/default.tpl'));
     // not sure how to circumvent our own navigation system to generate the right form url
     $urlReplaceWith = 'civicrm/profile/create&gid=' . $gid . '&reset=1';
     if ($config->userSystem->is_drupal && $config->cleanURL) {
         $urlReplaceWith = 'civicrm/profile/create?gid=' . $gid . '&reset=1';
     }
     $profile = str_replace('civicrm/admin/uf/group', $urlReplaceWith, $profile);
     // FIXME: (CRM-3587) hack to make standalone profile work
     // in wordpress and joomla without administrator login
     if ($config->userFramework == 'Joomla') {
         $profile = str_replace('/administrator/', '/index.php', $profile);
     } elseif ($config->userFramework == 'WordPress') {
         $profile = str_replace('/wp-admin/admin.php', '/index.php', $profile);
     }
     // add jquery files
     $profile = CRM_Utils_String::addJqueryFiles($profile);
     $this->assign('profile', htmlentities($profile, ENT_NOQUOTES, 'UTF-8'));
     //get the title of uf group
     if ($gid) {
         $title = CRM_Core_BAO_UFGroup::getTitle($gid);
         $this->_title = $title;
     } else {
         $title = 'Profile Form';
     }
     $this->assign('title', $title);
     $this->assign('action', CRM_Core_Action::PROFILE);
     $this->assign('isForm', 0);
 }