public function getRequestToken() { $api = new opCalendarApi($this->consumer, null, opCalendarApiHandler::GET, self::REQUEST_TOKEN_ENDPOINT, array('oauth_callback' => app_url_for('pc_frontend', '@calendar_api_callback', true), 'scope' => self::SCOPE)); $api->setIsUseAuthorizedHeader(false); $handler = new opCalendarApiHandler($api, new opCalendarApiResultsStr()); return $handler->execute(); }
public function createEntryByInstance(Doctrine_Record $diary, SimpleXMLElement $entry = null) { $entry = parent::createEntryByInstance($diary, $entry); sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'opUtil')); $entry->setTitle($diary->getTitle()); $entry->setContent($diary->getBody()); $entry->setAuthorByMember($diary->getMember()); $entry->setLink(app_url_for('pc_frontend', '@diary_show?id=' . $diary->getId(), true), 'self', 'alternate'); $entry->setLink(app_url_for('mobile_frontend', '@diary_show?id=' . $diary->getId(), true), 'self', 'alternate'); return $entry; }
/** * opCalendarHelper * * @package OpenPNE * @subpackage helper * @author Shinichi Urabe <*****@*****.**> */ function get_auther_name($schedule_resource, $link_profile_page = false) { if ($schedule_resource->member_id) { $member = $schedule_resource->Member; $value = $link_profile_page ? link_to($member->name, app_url_for('pc_frontend', '@member_profile?id=' . $member->id), array('target' => '_blank')) : $member->name; return sprintf('[user] %s', $value); } if ($schedule_resource->admin_user_id) { return sprintf('[admin] %s', $schedule_resource->AdminUser->username); } return ''; }
function op_api_community($community) { $viewMemberId = sfContext::getInstance()->getUser()->getMemberId(); $communityUrl = app_url_for('pc_frontend', array('sf_route' => 'community_home', 'id' => $community->getId()), true); $communityImageFileName = $community->getImageFileName(); if (!$communityImageFileName) { $communityImage = op_image_path('no_image.gif', true); } else { $communityImage = sf_image_path($communityImageFileName, array('size' => '48x48'), true); } $communityMember = Doctrine::getTable('CommunityMember')->retrieveByMemberIdAndCommunityId($viewMemberId, $community->getId()); return array('id' => $community->getId(), 'name' => $community->getName(), 'category' => $community->getCommunityCategory() ? $community->getCommunityCategory()->getName() : null, 'community_url' => $communityUrl, 'community_image_url' => $communityImage, 'joining' => $communityMember ? !$communityMember->getIsPre() : false, 'admin' => $communityMember ? $communityMember->hasPosition('admin') : false, 'sub_admin' => $communityMember ? $communityMember->hasPosition('sub_admin') : false, 'created_at' => op_api_date($community->getCreatedAt()), 'admin_member' => op_api_member($community->getAdminMember()), 'member_count' => $community->countCommunityMembers(), 'public_flag' => $community->getConfig('public_flag'), 'register_policy' => $community->getConfig('register_policy'), 'description' => $community->getConfig('description')); }
public function createEntryByInstance(Doctrine_Record $event, SimpleXMLElement $entry = null) { $entry = parent::createEntryByInstance($event, $entry); sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'opUtil')); $entry->setTitle($event->getName()); $entry->setContent($event->getBody()); $entry->setAuthorByMember($event->getMember()); $this->addWhenElement($entry->getElements(), date('c', strtotime($event->getOpenDate()))); $this->addWhereElement($entry->getElements(), $event->getArea()); $entry->setLink(url_for('@feeds_community_event_retrieve_resource_normal?model=communityEvent&id=' . $event->getId()), 'self', 'application/atom+xml'); $entry->setLink(app_url_for('pc_frontend', 'communityEvent/detail?id=' . $event->getId(), true), 'alternate', 'text/html'); $entry->setLink(app_url_for('mobile_frontend', 'communityEvent/detail?id=' . $event->getId(), true), 'alternate'); return $entry; }
function op_timeline_plugin_screen_name($body, $options = array()) { preg_match_all('/(@+)([-_0-9A-Za-z]+)/', $body, $matches); if ($matches) { $i = 0; foreach ($matches[2] as $screenName) { $member = Doctrine::getTable('MemberConfig')->findOneByNameAndValue('op_screen_name', $screenName); if ($member) { $memberId = $member->getMemberId(); $link = link_to('@' . $screenName, app_url_for('pc_frontend', array('sf_route' => 'obj_member_profile', 'id' => $memberId), true), array('target' => '_blank')); $mention = '/' . $matches[0][$i] . '/'; $body = preg_replace($mention, $link, $body); } $i++; } } return $body; }
public function createEntryByInstance(Doctrine_Record $communityMember, SimpleXMLElement $entry = null) { $member = $communityMember->getMember(); $entry = parent::createEntryByInstance($communityMember, $entry); sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'opUtil')); $entry->setTitle($member->getName()); $content = $entry->getElements()->addChild('content'); $content->addAttribute('type', 'xhtml'); $profiles = $content->addChild('div'); $profiles->addAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); foreach ($member->getProfiles() as $profile) { $value = (string) $profile; $child = $profiles->addChild('div', $value); $child->addAttribute('id', $profile->getName()); } $entry->setLink(url_for('@feeds_member_retrieve_resource_normal?model=community&id=' . $member->getId()), 'self', 'application/atom+xml'); $entry->setLink(app_url_for('pc_frontend', 'member/profile?id=' . $member->getId(), true), 'alternate', 'text/html'); $entry->setLink(app_url_for('mobile_frontend', 'member/profile?id=' . $member->getId(), true), 'alternate'); return $entry; }
public static function sendNotificationMail(Community $community, $id, $type, $nickname, $subject, $body) { if (version_compare(OPENPNE_VERSION, '3.6beta1-dev', '<')) { return null; } sfContext::getInstance()->getConfiguration()->loadHelpers(array('opUtil')); $params = array('community_name' => $community->getName(), 'wiki_name' => $subject, 'nickname' => $nickname, 'body' => $body); $rs = Doctrine::getTable('CommunityMember')->createQuery()->where('community_id = ?', array($community->getId()))->andWhere('is_receive_mail_pc = ? OR is_receive_mail_mobile = ?', array(true, true))->execute(array(), Doctrine::HYDRATE_ON_DEMAND); foreach ($rs as $r) { $member = $r->getMember(); $memberPcAddress = $member->getConfig('pc_address'); $memberMobileAddress = $member->getConfig('mobile_address'); $from = self::getPostMailAddress('mail_community_' . $type . '_comment_create', array('id' => $id, 'hash' => $member->getMailAddressHash())); if ($r->getIsReceiveMailPc() && $memberPcAddress) { $params['url'] = app_url_for('pc_frontend', '@community' . ucfirst($type) . '_show?id=' . $id, true); opMailSend::sendTemplateMail('notifyCommunityPosting', $memberPcAddress, $from, $params); } if ($r->getIsReceiveMailMobile() && $memberMobileAddress) { $params['url'] = app_url_for('mobile_frontend', '@community' . ucfirst($type) . '_show?id=' . $id, true); opMailSend::sendTemplateMail('notifyCommunityPosting', $memberMobileAddress, $from, $params); } } }
<?php echo __('When mobile information registration is done from following URL, the member registration is completed.'); ?> <?php echo app_url_for('mobile_frontend', 'member/registerMobileToRegisterEnd?token=' . $token . '&id=' . $id, true);
if (!$sf_user->isAuthenticated()) { ?> class="insecure"<?php } ?> > <div id="wrap"> <div id="contents" class="clearfix"> <div id="header"> <h1><?php echo __('%sns% Administration', array('%sns%' => $op_config['sns_name'])); ?> </h1> <span id="visit-site"><a href="<?php echo app_url_for('pc_frontend', '@homepage', true); ?> " target="_blank"><?php echo __('Visit Site'); ?> </a></span> </div> <?php if ($sf_user->isAuthenticated()) { ?> <div id="menu"> <ul> <li><?php echo link_to(__('Top page'), '@homepage'); ?>
<?php echo __('We accepted your recovering password request.'); ?> <?php echo __('Please click the following URL and complete password recovery process.'); ?> <?php echo app_url_for('pc_frontend', 'opAuthMailAddress/passwordRecoveryComplete?token=' . $token . '&id=' . $id, true);
/** * get consumer key for RSA-SHA1 * * @return OAuthConsumer */ public static function getOAuthConsumerKey() { sfContext::getInstance()->getConfiguration()->loadHelpers(array('opUtil')); $baseUrl = sfConfig::get('op_base_url'); if ('/' === substr($baseUrl, -1)) { $baseUrl = substr($baseUrl, 0, strlen($baseUrl) - 1); } return $baseUrl . app_url_for('pc_frontend', '@opensocial_certificates'); }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> <head> <?php include_http_metas(); include_metas(); include_title(); op_smt_use_stylesheet('bootstrap'); op_smt_use_stylesheet('smt_main'); op_smt_include_stylesheets(); ?> <meta name="viewport" content="width=320px,user-scalable=no" /> <?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()) { $jsonData = array('apiKey' => opToolkit::isSecurePage() ? $sf_user->getMemberApiKey() : '', 'apiBase' => app_url_for('api', 'homepage')); $json = defined('JSON_PRETTY_PRINT') ? json_encode($jsonData, JSON_PRETTY_PRINT) : json_encode($jsonData); echo javascript_tag(' var openpne = ' . $json . '; '); } op_smt_use_javascript('jquery.min.js'); op_smt_use_javascript('jquery.tmpl.min.js'); op_smt_use_javascript('smt_main'); op_smt_use_javascript('smt_notify'); op_smt_use_javascript('smt_tosaka'); op_smt_use_javascript('smt_menu'); op_smt_include_javascripts(); ?> </head> <body id="<?php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> <head> <?php include_http_metas(); include_metas(); include_title(); op_smt_use_stylesheet('bootstrap'); op_smt_use_stylesheet('smt_main'); op_smt_include_stylesheets(); ?> <meta name="viewport" content="width=320px,user-scalable=no" /> <?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()) { $jsonData = array('apiKey' => opToolkit::isSecurePage() ? $sf_user->getMemberApiKey() : '', 'apiBase' => app_url_for('api', 'homepage'), 'baseUrl' => $sf_request->getRelativeUrlRoot() . '/'); echo javascript_tag(' var openpne = ' . json_encode($jsonData) . '; '); } op_smt_use_javascript('jquery.min.js'); op_smt_use_javascript('jquery.tmpl.min.js'); op_smt_use_javascript('smt_main'); op_smt_use_javascript('smt_notify'); op_smt_use_javascript('smt_tosaka'); op_smt_use_javascript('smt_menu'); op_smt_include_javascripts(); ?> </head> <body id="<?php printf('page_%s_%s', $this->getModuleName(), $this->getActionName());
?> <?php echo __('We suggest you to send birthday message to your friend.'); ?> <?php echo __('Birthday'); ?> : <?php echo op_format_date(strtotime($birthMember->getProfile('op_preset_birthday')), 'XShortDateJa'); ?> <?php echo __('%nickname%', array('%nickname%' => $op_term['nickname']->titleize())); ?> : <?php echo $birthMember->name; ?> <?php echo __('URL'); ?> : <?php echo sfConfig::get('op_base_url') . app_url_for('pc_frontend', 'member/profile?id=' . $birthMember->id); ?> <?php echo __('We hope that using %1% is useful for your future.', array('%1%' => $op_config['sns_name']));
public function createActivity($userId, $groupId, $appId, $fields, $activity, SecurityToken $token) { if (!$userId instanceof UserId || $userId->getUserId($token) == null) { throw new SocialSpiException("Unknown person id", ResponseError::$NOT_FOUND); } $targetUserId = $userId->getUserId($token); $member = Doctrine::getTable('Member')->find($targetUserId); if (!$member) { throw new SocialSpiException("Person not found", ResponseError::$NOT_FOUND); } if ($targetUserId != $token->getViewerId()) { throw new SocialSpiException("Unauthorized", ResponseError::$UNAUTHORIZED); } if (!isset($activity['title'])) { throw new SocialSpiException("Bad Request", ResponseError::$BAD_REQUEST); } $options = array(); if ($token->getAppId()) { $memberApplication = Doctrine::getTable('MemberApplication')->findOneByApplicationIdAndMemberId($token->getAppId(), $targetUserId); if (!$memberApplication) { throw new SocialSpiException("Bad Request", ResponseError::$BAD_REQUEST); } if (sfConfig::get('opensocial_activity_post_limit_time', 30)) { $object = Doctrine::getTable('ActivityData')->createQuery()->where('foreign_table = ?', Doctrine::getTable('Application')->getTableName())->andWhere('foreign_id = ?', $memberApplication->getApplicationId())->andWhere('member_id = ?', $member->getId())->orderBy('created_at DESC')->fetchOne(); if ($object) { $interval = time() - strtotime($object->getCreatedAt()); if ($interval < sfConfig::get('opensocial_activity_post_limit_time', 30)) { throw new SocialSpiException("Service Unavailable", 503); } } } switch ($memberApplication->getPublicFlag()) { case "friends": $options['public_flag'] = ActivityDataTable::PUBLIC_FLAG_FRIEND; break; case "private": $options['public_flag'] = ActivityDataTable::PUBLIC_FLAG_PRIVATE; } $application = $memberApplication->getApplication(); $culture = $member->getConfig('language'); $culture = $culture ? $culture : 'en'; $application->setDefaultCulture($culture); $sourceName = $application->getTitle(); if (!$sourceName) { $translations = $application->Translation; $keys = $translations->getKeys(); if (count($keys)) { $translation = $translations[$keys[0]]; $sourceName = $translation->title; } } sfContext::getInstance()->getConfiguration()->loadHelpers(array('opUtil')); $options['source'] = $sourceName; $options['source_uri'] = app_url_for('pc_frontend', '@application_info?id=' . $application->getId(), true); $options['foreign_table'] = Doctrine::getTable('Application')->getTableName(); $options['foreign_id'] = $memberApplication->getApplicationId(); } if (isset($activity['url']) && $activity['url']) { $url = $activity['url']; if (0 === strpos($url, 'http')) { $routingOptions = sfContext::getInstance()->getRouting()->getOptions(); if (!preg_match('#^https?://' . preg_quote($routingOptions['context']['host']) . '#', $url)) { throw new SocialSpiException("Bad URL", ResponseError::$BAD_REQUEST); } } $options['uri'] = $url; } Doctrine::getTable('ActivityData')->updateActivity($targetUserId, $activity['title'], $options); }
<?php $sf_context->getResponse()->setTitle(__('[%1%]Information of login page', array('%1%' => $op_config['sns_name']))); echo __('Please access the following URL to login.'); ?> <?php $_SERVER['SCRIPT_NAME'] = '/index.php'; echo sfConfig::get('op_base_url') . app_url_for('mobile_frontend', '@homepage', false);
<?php slot('submenu'); include_partial('submenu'); end_slot(); ?> <h2><?php echo __('パスワード再発行'); ?> </h2> <p><?php echo __('%1%さんのパスワードを変更します。', array('%1%' => link_to($member->getName(), app_url_for('pc_frontend', 'member/profile?id=' . $member->getId())))); ?> </p> <?php echo $form->renderFormTag(url_for('member/reissuePassword?id=' . $member->getId())); ?> <table> <?php echo $form; ?> <tr><td colspan="2"><input type="submit" value="<?php echo __('パスワード変更'); ?> " /></td></tr> </table> </form> <?php
<?php echo $rawMessage; ?> <?php echo __('---------------------------------------------------'); ?> <?php } } ?> <?php echo __('If you register(free) of member by the following URL,%br%you can participate in %1%.', array('%1%' => $snsName, '%br%' => "\n")); ?> <?php echo __('* Participate in %1%', array('%1%' => $snsName)); ?> <?php $_SERVER['SCRIPT_NAME'] = '/index.php'; if ($isMobile) { echo sfConfig::get('op_base_url') . app_url_for('mobile_frontend', sprintf('opAuthMailAddress/register?token=%s&authMode=%s', $token, $authMode)); } else { echo sfConfig::get('op_base_url') . app_url_for('pc_frontend', sprintf('opAuthMailAddress/register?token=%s&authMode=%s', $token, $authMode)); }
public function createEntryByInstance(Doctrine_Record $topic, SimpleXMLElement $entry = null) { $entry = parent::createEntryByInstance($topic, $entry); sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'opUtil')); $entry->setTitle($topic->getName()); $entry->setContent($topic->getBody()); $entry->setAuthorByMember($topic->getMember()); $entry->setLink(url_for('@feeds_community_topic_retrieve_resource_normal?model=communityTopic&id=' . $topic->getId()), 'self', 'application/atom+xml'); $entry->setLink(app_url_for('pc_frontend', 'communityTopic/detail?id=' . $topic->getId(), true), 'alternate', 'text/html'); $entry->setLink(app_url_for('mobile_frontend', 'communityTopic/detail?id=' . $topic->getId(), true), 'alternate'); return $entry; }
<?php echo __('Hello! This is information from %1%.', array('%1%' => $op_config['sns_name'])); ?> <?php echo __('%1% registered your %community%, "%2%".', array('%1%' => $new_member->name, '%2%' => $community->name)); ?> <?php echo __('"%1%" %community% page:', array('%1%' => $community->name)); ?> <?php echo app_url_for('pc_frontend', 'community/home?id=' . $community->id, true); ?> <?php echo __('"%1%"\'s profile page:', array('%1%' => $new_member->name)); ?> <?php echo app_url_for('pc_frontend', 'member/profile?id=' . $new_member->id, true);
<?php echo __('Click following URL, please. You finish register if you inputs your password at here.'); echo __('If the mail address is registered, it is changed to a new mail address.'); ?> <?php echo app_url_for('mobile_frontend', 'member/configComplete?token=' . $token . '&id=' . $id . '&type=' . $type, true);
<input type="submit" value=" 作 成 " /> </td> </form> </tr> </tbody> </table> <h4>Google Data API CONSUMER Key</h4> <div style="margin: 8px auto;"> Google Data API からカレンダー情報を取得するためのコンシューマキーとコンシューマシークレットを取得します。<br /> 空入力すると無効になります。<br /> 変更した場合は、ユーザに再度認可画面が表示されます。<br /> Google Data API Consumer Key および Secret は<a href="https://www.google.com/accounts/ManageDomains" target="_blank">こちら</a>から取得してください。<br /> 入力項目 "Target URL path prefix" には <?php echo app_url_for('pc_frontend', '@calendar_api_callback', true); ?> を入力します。 </div> <table> <?php echo $googleApiForm->renderFormTag(url_for('opCalendarPlugin_google_data_api_update', array('method' => 'post'))); foreach ($googleApiForm->getKeys() as $k => $v) { ?> <tr> <th> <?php echo __($v); ?> </th>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> <head> <?php include_http_metas(); include_metas(); include_title(); op_smt_use_stylesheet('bootstrap'); op_smt_use_stylesheet('smt_main'); op_smt_include_stylesheets(); ?> <meta name="viewport" content="width=320px,user-scalable=no" /> <?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()) { $jsonData = array('apiKey' => $sf_user->getMemberApiKey(), 'apiBase' => app_url_for('api', 'homepage'), 'baseUrl' => $sf_request->getRelativeUrlRoot() . '/'); echo javascript_tag(' var openpne = ' . json_encode($jsonData) . '; '); } op_smt_use_javascript('jquery.min.js'); op_smt_use_javascript('jquery.tmpl.min.js'); op_smt_use_javascript('smt_main'); op_smt_use_javascript('smt_notify'); op_smt_use_javascript('smt_tosaka'); op_smt_use_javascript('smt_menu'); op_smt_include_javascripts(); ?> </head> <body id="<?php printf('page_%s_%s', $this->getModuleName(), $this->getActionName());
public function createEntryByInstance(Doctrine_Record $member, SimpleXMLElement $entry = null) { $entry = parent::createEntryByInstance($member, $entry); sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'opUtil', 'sfImage', 'Asset', 'Tag')); $entry->setTitle($member->getName()); if (!$this->member || $member->id === $this->member->id) { $entry->setAuthor(null, null, $member->getEmailAddress()); } $content = $entry->getElements()->addChild('content'); $content->addAttribute('type', 'xhtml'); $profiles = $content->addChild('div'); $profiles->addAttribute('xmlns', 'http://www.w3.org/1999/xhtml'); $ids = array(); foreach ($member->getProfiles() as $profile) { if (in_array($profile->getName(), $ids)) { continue; } if ($this->member && !$profile->isAllowed($this->member, 'view')) { continue; } $ids[] = $profile->getName(); if ($profile->getProfile()->isPreset()) { $i18n = sfContext::getInstance()->getI18N(); $child = $profiles->addChild('div'); $entry->addValidStringToNode($child, $i18n->__((string) $profile)); } else { $child = $profiles->addChild('div'); $entry->addValidStringToNode($child, $profile); } $child->addAttribute('id', $profile->getName()); } $entry->setLink(url_for('@feeds_member_retrieve_resource_normal?model=member&id=' . $member->getId()), 'self', 'application/atom+xml'); $entry->setLink(app_url_for('pc_frontend', 'member/profile?id=' . $member->getId(), true), 'alternate', 'text/html'); $entry->setLink(app_url_for('mobile_frontend', 'member/profile?id=' . $member->getId(), true), 'alternate'); $image = $member->getImage(); if ($image) { $entry->setLink(sf_image_path($member->getImageFileName(), array(), true), 'enclosure', $member->getImage()->getFile()->getType()); } return $entry; }
include_title(); use_stylesheet('bootstrap'); use_stylesheet('smt_main'); include_stylesheets(); if (Doctrine::getTable('SnsConfig')->get('customizing_css')) { ?> <link rel="stylesheet" type="text/css" href="<?php echo url_for('@customizing_css'); ?> " /> <?php } ?> <meta name="viewport" content="width=320px,user-scalable=no" /> <?php $json = array('apiKey' => $sf_user->getMemberApiKey(), 'apiBase' => app_url_for('api', 'homepage')); echo javascript_tag(' var openpne = ' . json_encode($json, defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0) . '; '); use_javascript('jquery.min.js'); use_javascript('jquery.tmpl.min.js'); use_javascript('smt_main'); use_javascript('smt_notify'); use_javascript('smt_tosaka'); use_javascript('smt_menu'); include_javascripts(); ?> </head> <body id="<?php printf('page_%s_%s', $this->getModuleName(), $this->getActionName()); ?>
<?php slot('submenu'); include_partial('submenu'); end_slot(); ?> <h2><?php echo __('Reissue password'); ?> </h2> <p><?php echo __('Change %1%\'s password', array('%1%' => link_to($member->getName(), app_url_for('pc_frontend', 'member/profile?id=' . $member->getId())))); ?> </p> <?php echo $form->renderFormTag(url_for('member/reissuePassword?id=' . $member->getId())); ?> <table> <?php echo $form; ?> <tr><td colspan="2"><input type="submit" value="<?php echo __('Change password'); ?> " /></td></tr> </table> </form> <?php
<?php $snsName = $op_config['sns_name']; echo __('Hello! This is information from %1%.', array('%1%' => $snsName)); ?> <?php echo __('If you register(free) of member by the following URL,%br%you can participate in %1%.', array('%1%' => $snsName, '%br%' => "\n")); ?> <?php echo __('* Participate in %1%', array('%1%' => $snsName)); ?> <?php echo app_url_for('mobile_frontend', sprintf('opAuthMailAddress/register?token=%s&authMode=%s', $token, $authMode), true);
public function getProfileUrl() { sfContext::getInstance()->getConfiguration()->loadHelpers(array('opUtil')); return app_url_for('pc_frontend', 'member/profile?id=' . $this->member->getId(), true); }