/** * 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); }