예제 #1
0
파일: filter.php 프로젝트: nouphet/rata
 /**
  * Execute filter at id_res
  *
  * @param Openid_Context $openid
  * @return boolean
  */
 function postFilter(&$openid)
 {
     if ($GLOBALS['xoopsModuleConfig']['filter_level'] == 0) {
         //Not use filter
         return true;
     }
     $format = "SELECT * FROM `%s` WHERE `pattern`='%s'";
     $sql = sprintf($format, $this->_tableName, $openid->get4Sql('endpoint'));
     if ($filter =& $this->_getOne($sql)) {
         if ($filter->get('auth')) {
             $groupid = $filter->get('groupid');
             if ($groupid) {
                 $openid->set('gid', explode('|', $groupid));
             }
             return true;
         } else {
             return false;
         }
     }
     //No match any filter
     if ($GLOBALS['xoopsModuleConfig']['filter_level'] == 1) {
         return true;
     } else {
         return false;
     }
 }
예제 #2
0
파일: abstract.php 프로젝트: nouphet/rata
 /**
  * Enter description here...
  *
  * @param string $sql
  * @param int $limit
  * @param int $start
  * @return array
  */
 function &_getObjects($sql, $limit = 0, $start = 0)
 {
     $ret = array();
     if ($result =& $this->_query($sql, $limit, $start)) {
         require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
         while ($row = $this->_db->fetchArray($result)) {
             $record = new Openid_Context();
             foreach ($row as $key => $value) {
                 $record->set($key, $value);
             }
             $ret[] =& $record;
             unset($record);
         }
     }
     return $ret;
 }
예제 #3
0
파일: controller.php 프로젝트: nouphet/rata
 function deleteokAction()
 {
     $this->_checkToken();
     require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
     $post = new Openid_Context();
     if ($post->accept($this->_keyField)) {
         if ($this->_handler->delete($post->get($this->_keyField))) {
             $message = 'Record Delete Success';
         } else {
             $message = 'Record Delete Error<br />';
             $message .= $this->_handler->getError();
         }
     } else {
         $message = 'Delete key is not specified';
     }
     redirect_header($this->_url, 2, $message);
 }
예제 #4
0
파일: buttons.php 프로젝트: nouphet/rata
 function generateAction()
 {
     $this->_checkToken();
     global $xoopsConfig;
     $filterItems = array();
     @(include XOOPS_ROOT_PATH . '/modules/openid/language/' . $xoopsConfig['language'] . '/filterItems.php');
     if (isset($_POST['offset']) && ($item = $filterItems[intval($_POST['offset'])])) {
         require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
         $record = new Openid_Context();
         if (isset($item['op_identifier'])) {
             $record->set('type', 0);
             $record->set('identifier', $item['op_identifier']);
         } else {
             if (isset($item['user_identifier'])) {
                 $record->set('type', 1);
                 $record->set('identifier', $item['user_identifier']);
                 $record->set('range', $item['range']);
             } else {
                 redirect_header($this->_url, 2, 'Bad request');
             }
         }
         $record->set('image', $item['image']);
         $record->set('description', $item['description']);
     } else {
         redirect_header($this->_url, 2, 'Bad request');
     }
     if ($this->_handler->insert($record)) {
         redirect_header($this->_url, 2, 'Record insert Success');
     } else {
         $message = 'Record insert Fail<br />' . $this->_handler->getError();
         redirect_header($this->_url, 2, $message);
     }
 }
예제 #5
0
파일: identifier.php 프로젝트: nouphet/rata
 /**
  * Get form vars
  *
  * @param Openid_Context $post
  * @param string $op
  */
 function _getRequest(&$post, $op)
 {
     if ($op == 'save') {
         $post->accept('id', 'int');
     }
     $post->accept('claimed_id', 'string', 'post', 'claimed');
     $post->accept('local_id', 'string', 'post', 'local');
     $post->accept('uid', 'int');
     $post->accept('omode', 'int');
     $post->accept('displayid', 'string', 'post', 'display');
 }
예제 #6
0
파일: register.php 프로젝트: nouphet/rata
<?php

/**
 * Regster new user OR link to existing user
 * @version $Rev$ $Date$
 * @link $URL$
 */
require '../../mainfile.php';
require_once XOOPS_ROOT_PATH . '/modules/openid/class/utils.php';
require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
$openid = @unserialize(rawurldecode($_SESSION['openid_response']));
if (!is_object($openid)) {
    Openid_Utils::redirect('Bad operation !');
}
$post = new Openid_Context();
$post->accept('uname');
$post->accept('omode', 'int');
$member =& Openid_Utils::load('member');
$user = $op = $error = false;
switch (@$_POST['op']) {
    case 'register':
        if ($xoopsModuleConfig['allow_register']) {
            $post->accept('email');
            $post->accept('timezone_offset');
            $user =& $member->register($openid, $post);
            $op = 'register';
        } else {
            //This case is an unjust request. But this config option may has changed just now.
            $error = _MD_OPENID_NOREGISTER;
        }
        break;
예제 #7
0
파일: identifier.php 프로젝트: nouphet/rata
 /**
  * Redirect user to OpenID Identity URL
  * using only from xoops userinfo page
  */
 function redirectAction()
 {
     require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
     $request = new Openid_Context();
     if (!$request->accept('id', 'int', 'get') || !$request->accept('displayid', 'string', 'get', 'to')) {
         exit;
     }
     if ($record =& $this->_handler->get($request->get('id'))) {
         $displayid = $record->get('displayid');
         if ($request->get('displayid') == $displayid) {
             if (strpos($displayid, 'http') === 0) {
                 header('Location: ' . $displayid);
                 //control codes are already removed.
             } else {
                 header('Location: http://xri.net/' . rawurlencode($displayid));
             }
         }
     }
 }
예제 #8
0
파일: filter.php 프로젝트: nouphet/rata
 function generateAction()
 {
     $this->_checkToken();
     require_once XOOPS_ROOT_PATH . '/modules/openid/class/context.php';
     $post = new Openid_Context();
     $post->set('groupid', '0');
     $post->set('auth', OPENID_AUTH_ALLOW);
     $filterItems =& $this->getFilterItems();
     $type = isset($_POST['type']) ? intval($_POST['type']) : 0;
     if (array_key_exists($type, $filterItems)) {
         $item = $filterItems[$type];
         $post->set('pattern', $item['pattern']);
     } else {
         redirect_header($this->_url, 2, 'Bad request');
     }
     if ($this->_handler->insert($post)) {
         redirect_header($this->_url, 2, 'Record insert Success');
     } else {
         $message = 'Record insert Fail<br />' . $filter->getError();
         redirect_header($this->_url, 2, $message);
     }
 }