本文整理汇总了PHP中CRM_Core_Controller_Simple类的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Controller_Simple类的具体用法?PHP CRM_Core_Controller_Simple怎么用?PHP CRM_Core_Controller_Simple使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CRM_Core_Controller_Simple类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Run the page.
*
* This method is called after the page is created. It checks for the
* type of action and executes that action.
* Finally it calls the parent's run method.
*
* @return void
* @access public
*
*/
function run()
{
// get the requested action
$action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'add');
// set breadcrumb to append to 2nd layer pages
$breadCrumb = array(array('title' => ts('Manage Items'), 'url' => CRM_Utils_System::url(CRM_Utils_System::currentPath(), 'reset=1')));
// what action to take ?
if ($action & CRM_Core_Action::ADD) {
$session = CRM_Core_Session::singleton();
if ($session->get('userID')) {
// For logged in user directly go to add/update item page.
$controller = new CRM_Core_Controller_Simple('CRM_Auction_Form_Item', 'New Item', $action);
$controller->set('donorID', $session->get('userID'));
} else {
// For anonymous user go via account creation wizard.
require_once 'CRM/Auction/Controller/Item.php';
$controller = new CRM_Auction_Controller_Item('New Item', $action);
}
return $controller->run();
} elseif ($action & CRM_Core_Action::UPDATE) {
$session = CRM_Core_Session::singleton();
if ($session->get('userID')) {
$controller = new CRM_Core_Controller_Simple('CRM_Auction_Form_Item', 'Update Item', $action);
$controller->set('donorID', $session->get('userID'));
return $controller->run();
}
}
// parent run
parent::run();
}
开发者ID:archcidburnziso,项目名称:civicrm-core,代码行数:41,代码来源:AddItem.php
示例2: edit
/**
* This function is called when action is update
*
* @param int $groupID group id
*
* return null
* @access public
*/
function edit($groupId = null)
{
$this->assign('edit', $this->_edit);
if (!$this->_edit) {
return;
}
$action = CRM_Utils_Request::retrieve('action', 'String', CRM_Core_DAO::$_nullObject, false, 'browse');
if ($action == CRM_Core_Action::DELETE) {
$groupContactId = CRM_Utils_Request::retrieve('gcid', 'Positive', CRM_Core_DAO::$_nullObject, true);
$status = CRM_Utils_Request::retrieve('st', 'String', CRM_Core_DAO::$_nullObject, true);
if (is_numeric($groupContactId) && $status) {
require_once 'CRM/Contact/Page/View/GroupContact.php';
CRM_Contact_Page_View_GroupContact::del($groupContactId, $status, $this->_contactId);
}
$url = CRM_Utils_System::url('civicrm/user', "reset=1&id={$this->_contactId}");
CRM_Utils_System::redirect($url);
}
$controller = new CRM_Core_Controller_Simple('CRM_Contact_Form_GroupContact', ts("Contact's Groups"), CRM_Core_Action::ADD);
$controller->setEmbedded(true);
$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url('civicrm/user', "reset=1&id={$this->_contactId}"), false);
$controller->reset();
$controller->set('contactId', $this->_contactId);
$controller->set('groupId', $groupId);
$controller->set('context', 'user');
$controller->set('onlyPublicGroups', $this->_onlyPublicGroups);
$controller->process();
$controller->run();
}
开发者ID:hampelm,项目名称:Ginsberg-CiviDemo,代码行数:37,代码来源:GroupContact.php
示例3: edit
/**
* This function is called when action is update or new
*
* return null
* @access public
*/
function edit()
{
$controller = new CRM_Core_Controller_Simple('CRM_Pledge_Form_Payment', 'Update Pledge Payment', $this->_action);
$pledgePaymentId = CRM_Utils_Request::retrieve('ppId', 'Positive', $this);
$controller->setEmbedded(TRUE);
$controller->set('id', $pledgePaymentId);
return $controller->run();
}
开发者ID:prashantgajare,项目名称:civicrm-core,代码行数:14,代码来源:Payment.php
示例4: cancel
/**
* This function is called when action is cancel
*
* return null
* @access public
*/
function cancel()
{
$controller = new CRM_Core_Controller_Simple('CRM_Booking_Form_Booking_Cancel', ts('Booking'), $this->_action);
$controller->setEmbedded(TRUE);
$controller->set('id', $this->_id);
$controller->set('cid', $this->_contactId);
return $controller->run();
}
开发者ID:sushantpaste,项目名称:civibooking,代码行数:14,代码来源:Tab.php
示例5: edit
/**
* called when action is update or new.
*
* @return null
*/
public function edit()
{
$controller = new CRM_Core_Controller_Simple('CRM_Pledge_Form_Pledge', 'Create Pledge', $this->_action);
$controller->setEmbedded(TRUE);
$controller->set('id', $this->_id);
$controller->set('cid', $this->_contactId);
return $controller->run();
}
开发者ID:kidaa30,项目名称:yes,代码行数:13,代码来源:Tab.php
示例6: run
/**
* Run the page.
*
* This method is called after the page is created.
*
* @return void
* @access public
*
*/
function run()
{
$controller = new CRM_Core_Controller_Simple('CRM_Contact_Form_Task_Useradd', ts('Add User'), CRM_Core_Action::ADD);
$controller->setEmbedded(TRUE);
$controller->process();
$controller->run();
return parent::run();
}
开发者ID:prashantgajare,项目名称:civicrm-core,代码行数:17,代码来源:Useradd.php
示例7: run
function run()
{
// get the requested action
$action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'browse');
// assign vars to templates
$this->assign('action', $action);
$id = CRM_Utils_Request::retrieve('id', 'Positive', $this, FALSE, 0);
if ($action & CRM_Core_Action::UPDATE) {
$controller = new CRM_Core_Controller_Simple('CRM_Wci_Form_ProgressBar', 'Edit Progressbar', CRM_Core_Action::UPDATE);
$controller->set('id', $id);
$controller->process();
return $controller->run();
} elseif ($action & CRM_Core_Action::COPY) {
try {
$sql = "INSERT INTO civicrm_wci_progress_bar (name, starting_amount, goal_amount)\n SELECT concat(name, '-', (SELECT MAX(id) FROM civicrm_wci_progress_bar)),\n starting_amount, goal_amount FROM civicrm_wci_progress_bar\n WHERE id=%1";
CRM_Core_DAO::executeQuery($sql, array(1 => array($id, 'Integer')));
$new_pb_id = CRM_Core_DAO::singleValueQuery('SELECT LAST_INSERT_ID()');
$sql = "INSERT INTO civicrm_wci_progress_bar_formula\n (contribution_page_id, financial_type_id, progress_bar_id, start_date, end_date, percentage)\n SELECT contribution_page_id, financial_type_id, %1, start_date,\n end_date, percentage FROM civicrm_wci_progress_bar_formula WHERE progress_bar_id=%2";
CRM_Core_DAO::executeQuery($sql, array(1 => array($new_pb_id, 'Integer'), 2 => array($id, 'Integer')));
} catch (Exception $e) {
CRM_Core_Session::setStatus(ts('Failed to create Progress bar. ') . $e->getMessage(), '', 'error');
$transaction->rollback();
}
} elseif ($action & CRM_Core_Action::DELETE) {
$errorScope = CRM_Core_TemporaryErrorScope::useException();
try {
$transaction = new CRM_Core_Transaction();
$sql = "DELETE FROM civicrm_wci_progress_bar_formula where progress_bar_id = %1";
$params = array(1 => array($id, 'Integer'));
CRM_Core_DAO::executeQuery($sql, $params);
$sql = "DELETE FROM civicrm_wci_progress_bar where id = %1";
$params = array(1 => array($id, 'Integer'));
CRM_Core_DAO::executeQuery($sql, $params);
$transaction->commit();
} catch (Exception $e) {
$errmgs = $e->getMessage() . ts('. Check whether progressbar is used by any widget or not');
CRM_Core_Session::setStatus($errmgs, '', 'error');
$transaction->rollback();
}
}
// Example: Set the page-title dynamically; alternatively, declare a static title in xml/Menu/*.xml
CRM_Utils_System::setTitle(ts('Progress Bar List'));
$query = "SELECT * FROM civicrm_wci_progress_bar";
$params = array();
$dao = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Wci_DAO_ProgressBar');
while ($dao->fetch()) {
$con_page[$dao->id] = array();
CRM_Core_DAO::storeValues($dao, $con_page[$dao->id]);
$action = array_sum(array_keys($this->actionLinks()));
//build the normal action links.
$con_page[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $dao->id));
}
if (isset($con_page)) {
$this->assign('rows', $con_page);
}
return parent::run();
}
开发者ID:Jagadees-zyxware,项目名称:civicrm-wci,代码行数:57,代码来源:ProgressBarList.php
示例8: edit
/**
* Edit name and address of a contact.
*/
public function edit()
{
// set the userContext stack
$session = CRM_Core_Session::singleton();
$url = CRM_Utils_System::url('civicrm/contact/view', 'reset=1&cid=' . $this->_contactId);
$session->pushUserContext($url);
$controller = new CRM_Core_Controller_Simple('CRM_Contact_Form_Contact', ts('Contact Page'), CRM_Core_Action::UPDATE);
$controller->setEmbedded(TRUE);
$controller->process();
return $controller->run();
}
开发者ID:nielosz,项目名称:civicrm-core,代码行数:14,代码来源:Summary.php
示例9: run
function run()
{
// get the requested action
$action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'browse');
// assign vars to templates
$this->assign('action', $action);
$id = CRM_Utils_Request::retrieve('id', 'Positive', $this, FALSE, 0);
if ($action & CRM_Core_Action::UPDATE) {
$controller = new CRM_Core_Controller_Simple('CRM_Wci_Form_CreateWidget', 'Edit Widget', CRM_Core_Action::UPDATE);
$controller->set('id', $id);
$controller->process();
return $controller->run();
} elseif ($action & CRM_Core_Action::COPY) {
try {
$sql = "INSERT INTO civicrm_wci_widget (title, logo_image, image,\n button_title, button_link_to, progress_bar_id, description,\n email_signup_group_id, size_variant, color_title, color_title_bg,\n color_progress_bar, color_progress_bar_bg, color_widget_bg, color_description, color_border,\n color_button, color_button_bg, hide_title, hide_border, hide_pbcap,\n color_btn_newsletter, color_btn_newsletter_bg, newsletter_text,\n color_newsletter_text, style_rules, override, custom_template, show_pb_perc)\n SELECT concat(title, '-', (SELECT MAX(id) FROM civicrm_wci_widget)), logo_image, image,\n button_title, button_link_to, progress_bar_id, description,\n email_signup_group_id, size_variant, color_title, color_title_bg,\n color_progress_bar, color_progress_bar_bg, color_widget_bg, color_description, color_border,\n color_button, color_button_bg, hide_title, hide_border, hide_pbcap,\n color_btn_newsletter, color_btn_newsletter_bg, newsletter_text,\n color_newsletter_text, style_rules, override, custom_template, show_pb_perc FROM civicrm_wci_widget WHERE id=%1";
CRM_Core_DAO::executeQuery("SET foreign_key_checks = 0;");
CRM_Core_DAO::executeQuery($sql, array(1 => array($id, 'Integer')));
CRM_Core_DAO::executeQuery("SET foreign_key_checks = 1;");
} catch (Exception $e) {
CRM_Core_Session::setStatus(ts('Failed to create widget. ') . $e->getMessage(), '', 'error');
$transaction->rollback();
}
} elseif ($action & CRM_Core_Action::DELETE) {
try {
$transaction = new CRM_Core_Transaction();
$sql = "DELETE FROM civicrm_wci_widget where id = %1";
$params = array(1 => array($id, 'Integer'));
CRM_Core_DAO::executeQuery($sql, $params);
$transaction->commit();
} catch (Exception $e) {
CRM_Core_Session::setStatus(ts('Failed to delete widget. ') . $e->getMessage(), '', 'error');
$transaction->rollback();
}
}
CRM_Utils_System::setTitle(ts('Widget List'));
$query = "SELECT * FROM civicrm_wci_widget";
$params = array();
$dao = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Wci_DAO_Widget');
while ($dao->fetch()) {
$wid_page[$dao->id] = array();
CRM_Core_DAO::storeValues($dao, $wid_page[$dao->id]);
$wid_page[$dao->id]['title'] = $wid_page[$dao->id]['title'];
$description = $wid_page[$dao->id]['description'];
$wid_page[$dao->id]['description'] = strip_tags($description);
$action = array_sum(array_keys($this->actionLinks()));
//build the normal action links.
$wid_page[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $dao->id));
}
if (isset($wid_page)) {
$this->assign('rows', $wid_page);
}
parent::run();
}
开发者ID:Jagadees-zyxware,项目名称:civicrm-wci,代码行数:53,代码来源:WidgetList.php
示例10: listActivities
/**
* Function to list participations for the UF user
*
* return null
* @access public
*/
function listActivities()
{
$controller = new CRM_Core_Controller_Simple('CRM_Activity_Form_Search', ts('Activities'), NULL, FALSE, FALSE, TRUE, FALSE);
$controller->setEmbedded(TRUE);
$controller->reset();
$controller->set('context', 'user');
$controller->set('cid', $this->_contactId);
$controller->set('status', array(1 => 'on', 7 => 'on'));
$controller->set('activity_role', 2);
$controller->set('force', 1);
$controller->process();
$controller->run();
return;
}
开发者ID:prashantgajare,项目名称:civicrm-core,代码行数:20,代码来源:UserDashboard.php
示例11: listActivities
/**
* List participations for the UF user.
*
* @return bool
*/
public function listActivities()
{
$controller = new CRM_Core_Controller_Simple('CRM_Activity_Form_Search', ts('Activities'), NULL, FALSE, FALSE, TRUE, FALSE);
$controller->setEmbedded(TRUE);
$controller->reset();
$controller->set('context', 'user');
$controller->set('cid', $this->_contactId);
// Limit to status "Scheduled" and "Available"
$controller->set('status', array('IN' => array(1, 7)));
$controller->set('activity_role', 2);
$controller->set('force', 1);
$controller->process();
$controller->run();
return FALSE;
}
开发者ID:kcristiano,项目名称:civicrm-core,代码行数:20,代码来源:UserDashboard.php
示例12: run
/**
* Run the page.
*
* This method is called after the page is created.
*/
public function run()
{
$contactId = CRM_Utils_Request::retrieve('cid', 'Positive', CRM_Core_DAO::$_nullObject, TRUE, NULL, $_REQUEST);
$this->assign('contactId', $contactId);
$this->assign('actionsMenuList', CRM_Contact_BAO_Contact::contextMenu($contactId));
CRM_Contact_Page_View::addUrls($this, $contactId);
// also create the form element for the activity links box
$controller = new CRM_Core_Controller_Simple('CRM_Activity_Form_ActivityLinks', ts('Activity Links'), NULL);
$controller->setEmbedded(TRUE);
$controller->run();
// check logged in user permission
CRM_Contact_Page_View::checkUserPermission($this, $contactId);
// finally call parent
parent::run();
}
开发者ID:FundingWorks,项目名称:civicrm-core,代码行数:20,代码来源:Actions.php
示例13: run
/**
* Run the page.
*
* This method is called after the page is created. It checks for the
* type of action and executes that action.
* Finally it calls the parent's run method.
*
* @return void
* @access public
*
*/
function run()
{
//if javascript is enabled
if (CRM_Utils_Request::retrieve('confirmed', 'Boolean', $this, '', '', 'GET')) {
CRM_Core_BAO_CMSUser::synchronize();
return;
}
$controller = new CRM_Core_Controller_Simple('CRM_Admin_Form_CMSUser', 'Synchronize CMS Users');
// set the userContext stack
$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url('civicrm/admin', 'reset=1'));
$controller->setEmbedded(TRUE);
$controller->process();
$controller->run();
return parent::run();
}
开发者ID:peteainsworth,项目名称:civicrm-4.2.9-drupal,代码行数:27,代码来源:CMSUser.php
示例14: listParticipations
/**
* Function to list participations for the UF user
*
* return null
* @access public
*/
function listParticipations()
{
$controller = new CRM_Core_Controller_Simple('CRM_Event_Form_Search', ts('Events'), NULL);
$controller->setEmbedded(TRUE);
$controller->reset();
$controller->set('context', 'user');
$controller->set('cid', $this->_contactId);
$controller->set('force', 1);
$controller->process();
$controller->run();
}
开发者ID:peteainsworth,项目名称:civicrm-4.2.9-drupal,代码行数:17,代码来源:UserDashboard.php
示例15: run
function run()
{
// get the requested action
$action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'browse');
// assign vars to templates
$this->assign('action', $action);
$id = CRM_Utils_Request::retrieve('id', 'Positive', $this, FALSE, 0);
if ($action & CRM_Core_Action::UPDATE) {
$controller = new CRM_Core_Controller_Simple('CRM_Wci_Form_NewEmbedCode', 'Edit Embed Code', CRM_Core_Action::UPDATE);
$controller->set('id', $id);
$controller->process();
return $controller->run();
} elseif ($action & CRM_Core_Action::DELETE) {
try {
$transaction = new CRM_Core_Transaction();
$sql = "DELETE FROM civicrm_wci_embed_code where id = %1";
$params = array(1 => array($id, 'Integer'));
CRM_Core_DAO::executeQuery($sql, $params);
$transaction->commit();
} catch (Exception $e) {
CRM_Core_Session::setStatus(ts('Failed to delete embed code. ') . $e->getMessage(), '', 'error');
$transaction->rollback();
}
}
CRM_Utils_System::setTitle(ts('Embed Code List'));
$query = "SELECT * FROM civicrm_wci_embed_code";
$params = array();
$dao = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Wci_DAO_EmbedCode');
while ($dao->fetch()) {
$emb_code[$dao->id] = array();
CRM_Core_DAO::storeValues($dao, $emb_code[$dao->id]);
$emb_code[$dao->id]['id'] = $emb_code[$dao->id]['id'];
$emb_code[$dao->id]['name'] = $emb_code[$dao->id]['name'];
$action = array_sum(array_keys($this->actionLinks()));
//build the normal action links.
$emb_code[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $dao->id));
}
if (isset($emb_code)) {
$this->assign('rows', $emb_code);
}
parent::run();
}
开发者ID:Jagadees-zyxware,项目名称:civicrm-wci,代码行数:42,代码来源:ManageEmbedCode.php
示例16: run
/**
* This function is the main function that is called when the page loads,
* it decides the which action has to be taken for the page.
*
* return null
* @access public
*/
function run()
{
$this->preProcess();
$controller = new CRM_Core_Controller_Simple('CRM_Grant_Form_Search', ts('grants'), NULL);
$controller->setEmbedded(TRUE);
$controller->reset();
$controller->set('limit', 10);
$controller->set('force', 1);
$controller->set('context', 'dashboard');
$controller->process();
$controller->run();
return parent::run();
}
开发者ID:prashantgajare,项目名称:civicrm-core,代码行数:20,代码来源:DashBoard.php
示例17: run
/**
* This is some kind of special-purpose router/front-controller for the various profile URLs.
*
* @param array $args
* this array contains the arguments of the url.
*
* @return string|void
*/
public function run($args = NULL)
{
if ($args[1] !== 'profile') {
return NULL;
}
$secondArg = CRM_Utils_Array::value(2, $args, '');
if ($secondArg == 'map') {
$controller = new CRM_Core_Controller_Simple('CRM_Contact_Form_Task_Map', ts('Map Contact'), NULL, FALSE, FALSE, TRUE);
$gids = explode(',', CRM_Utils_Request::retrieve('gid', 'String', CRM_Core_DAO::$_nullObject, FALSE, 0, 'GET'));
if (count($gids) > 1) {
foreach ($gids as $pfId) {
$profileIds[] = CRM_Utils_Type::escape($pfId, 'Positive');
}
$controller->set('gid', $profileIds[0]);
$profileGID = $profileIds[0];
} else {
$profileGID = CRM_Utils_Request::retrieve('gid', 'Integer', $controller, TRUE);
}
// make sure that this profile enables mapping
// CRM-8609
$isMap = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $profileGID, 'is_map');
if (!$isMap) {
CRM_Core_Error::statusBounce(ts('This profile does not have the map feature turned on.'));
}
$profileView = CRM_Utils_Request::retrieve('pv', 'Integer', $controller, FALSE);
// set the userContext stack
$session = CRM_Core_Session::singleton();
if ($profileView) {
$session->pushUserContext(CRM_Utils_System::url('civicrm/profile/view'));
} else {
$session->pushUserContext(CRM_Utils_System::url('civicrm/profile', 'force=1'));
}
$controller->set('profileGID', $profileGID);
$controller->process();
return $controller->run();
}
if ($secondArg == 'edit' || $secondArg == 'create') {
if ($secondArg == 'edit') {
$controller = new CRM_Core_Controller_Simple('CRM_Profile_Form_Edit', ts('Create Profile'), CRM_Core_Action::UPDATE, FALSE, FALSE, TRUE);
$controller->set('edit', 1);
$controller->process();
return $controller->run();
} else {
$wrapper = new CRM_Utils_Wrapper();
return $wrapper->run('CRM_Profile_Form_Edit', ts('Create Profile'), array('mode' => CRM_Core_Action::ADD, 'ignoreKey' => TRUE));
}
}
if ($secondArg == 'view' || empty($secondArg)) {
$page = new CRM_Profile_Page_Listings();
return $page->run();
}
CRM_Utils_System::permissionDenied();
}
开发者ID:FundingWorks,项目名称:civicrm-core,代码行数:61,代码来源:Router.php
示例18: run
/**
* List activities as dashlet.
*
* @return void
*/
public function run()
{
$session = CRM_Core_Session::singleton();
$contactID = $session->get('userID');
$this->assign('contactID', $contactID);
$this->assign('contactId', $contactID);
$context = CRM_Utils_Request::retrieve('context', 'String', $this, FALSE, 'dashlet');
$this->assign('context', $context);
// a user can always view their own activity
// if they have access CiviCRM permission
$permission = CRM_Core_Permission::VIEW;
// make the permission edit if the user has edit permission on the contact
if (CRM_Contact_BAO_Contact_Permission::allow($contactID, CRM_Core_Permission::EDIT)) {
$permission = CRM_Core_Permission::EDIT;
}
$admin = CRM_Core_Permission::check('view all activities') || CRM_Core_Permission::check('administer CiviCRM');
$this->assign('admin', $admin);
// also create the form element for the activity filter box
$controller = new CRM_Core_Controller_Simple('CRM_Activity_Form_ActivityFilter', ts('Activity Filter'), NULL);
$controller->setEmbedded(TRUE);
$controller->run();
return parent::run();
}
开发者ID:nielosz,项目名称:civicrm-core,代码行数:28,代码来源:Activity.php
示例19: edit
/**
* This function is called when action is update
*
* @param int $groupID group id
*
* return null
* @access public
*/
function edit($groupId = NULL)
{
$controller = new CRM_Core_Controller_Simple('CRM_Contact_Form_GroupContact', ts('Contact\'s Groups'), $this->_action);
$controller->setEmbedded(TRUE);
// set the userContext stack
$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url('civicrm/contact/view', "action=browse&selectedChild=group&cid={$this->_contactId}"), FALSE);
$controller->reset();
$controller->set('contactId', $this->_contactId);
$controller->set('groupId', $groupId);
$controller->process();
$controller->run();
}
开发者ID:archcidburnziso,项目名称:civicrm-core,代码行数:21,代码来源:GroupContact.php
示例20: run
function run($args = NULL)
{
if (CRM_Utils_Array::value(0, $args) !== 'civicrm' || CRM_Utils_Array::value(1, $args) !== 'volunteer') {
CRM_Core_Error::fatal('Invalid page callback config.');
return;
}
switch (CRM_Utils_Array::value(2, $args)) {
/**
* This routes civicrm/volunteer/join to CiviVolunteer's reserved profile for volunteer interest.
*/
case 'join':
// the profile expects the ID (and some other parameters) to be passed via URL; since we are providing
// a nice clean URL, these parameters won't be there, so we fake it
$_REQUEST['gid'] = civicrm_api3('UFGroup', 'getvalue', array('sequential' => 1, 'name' => "volunteer_interest", 'return' => "id"));
$_REQUEST['force'] = '1';
// if the user is logged in, serve edit mode profile; else serve create mode
$contact_id = CRM_Core_Session::getLoggedInContactID();
// set params for controller
$class = 'CRM_Profile_Form_Edit';
$title = NULL;
$mode = isset($contact_id) ? CRM_Core_Action::UPDATE : CRM_Core_Action::ADD;
$imageUpload = FALSE;
$addSequence = FALSE;
$ignoreKey = TRUE;
$attachUpload = FALSE;
$controller = new CRM_Core_Controller_Simple($class, $title, $mode, $imageUpload, $addSequence, $ignoreKey, $attachUpload);
if (isset($contact_id)) {
$controller->set('edit', 1);
}
$controller->process();
return $controller->run();
default:
CRM_Core_Error::fatal('Invalid page callback config.');
return;
}
}
开发者ID:adam-edison,项目名称:org.civicrm.volunteer,代码行数:36,代码来源:Router.php
注:本文中的CRM_Core_Controller_Simple类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论