コード例 #1
0
ファイル: PcUtils.php プロジェクト: ntemple/intelli-plancake
 public static function redirectToApp($action)
 {
     $urlForRedirect = 'http://' . sfConfig::get('app_site_url') . '/' . sfConfig::get('app_accountApp_frontController');
     if (PcUtils::isMobileBrowser()) {
         // we force https with mobile app so that
         // the cache manifest can have this entry:
         // https://www.plancake.com/account.php/mobile
         // and it is going to work for any user, not just Premium ones
         $urlForRedirect = 'https://' . sfConfig::get('app_site_url') . '/' . sfConfig::get('app_accountApp_frontController') . '/mobile';
     }
     $action->redirect($urlForRedirect);
 }
コード例 #2
0
* Licensed under the AGPL version 3 license.                                         *                                                       *
* Danyuki Software Limited is registered in England and Wales (Company No. 07554549) *
**************************************************************************************
* Plancake is distributed in the hope that it will be useful,                        *
* but WITHOUT ANY WARRANTY; without even the implied warranty of                     *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                      *
* GNU Affero General Public License for more details.                                *
*                                                                                    *
* You should have received a copy of the GNU Affero General Public License           *
* along with this program.  If not, see <http://www.gnu.org/licenses/>.              *
*                                                                                    *
**************************************************************************************/
require_once dirname(__FILE__) . '/../../config/ProjectConfiguration.class.php';
$configuration = ProjectConfiguration::getApplicationConfiguration('account', 'prod', false);
$context = sfContext::createInstance($configuration);
$consumer = new PlancakeOpenIdConsumer(PlancakeOpenIdConsumer::PROVIDER_GOOGLE, 'http://www.plancake.com/openIdEndpoints/googleReceiveLogin.php', PlancakeOpenIdConsumer::MODE_LOGIN);
$consumer->receive($data);
$email = $data['http://axschema.org/contact/email'][0];
if (PcUserPeer::emailExist($email)) {
    $userToLogin = PcUserPeer::retrieveByEmailAddress($email);
    CustomAuth::login($context->getUser(), $userToLogin, false, false);
    if (PcUtils::isMobileBrowser()) {
        $redirectUrl = 'https://' . sfConfig::get('app_site_url') . "/account.php/mobile";
    } else {
        $redirectUrl = 'http://' . sfConfig::get('app_site_url') . "/account.php";
    }
} else {
    $encodedEmail = urlencode($email);
    $redirectUrl = 'http://' . sfConfig::get('app_site_url') . "/openIdWrongLogin?input_email={$encodedEmail}";
}
header("Location: {$redirectUrl}");