Example #1
0
 public function _on_watched_dba_create($object)
 {
     $ret = array();
     //Check if we have data in session, if so use that.
     $session = new midcom_services_session('org.openpsa.relatedto');
     if ($session->exists('relatedto2get_array')) {
         $relatedto_arr = $session->get('relatedto2get_array');
         $session->remove('relatedto2get_array');
     } else {
         $relatedto_arr = org_openpsa_relatedto_plugin::get2relatedto();
     }
     foreach ($relatedto_arr as $k => $rel) {
         $ret[$k] = array('stat' => false, 'method' => false, 'obj' => false);
         $rel->fromClass = get_class($object);
         $rel->fromGuid = $object->guid;
         if (!$rel->id) {
             $ret[$k]['method'] = 'create';
             $ret[$k]['stat'] = $rel->create();
         } else {
             //In theory we should not ever hit this, but better to be sure.
             $ret[$k]['method'] = 'update';
             $ret[$k]['stat'] = $rel->update();
         }
         $ret[$k]['obj'] = $rel;
     }
 }
Example #2
0
 public static function get_location($when = null)
 {
     if (midcom::get('auth')->user) {
         // Get from user's location log
         return org_routamc_positioning_user::get_location_for_person(midcom::get('auth')->user->get_storage(), $when);
     }
     // Get from session
     $session = new midcom_services_session();
     if (!$session->exists('org_routamc_positioning_user_location')) {
         return null;
     }
     return $session->get('org_routamc_positioning_user_location');
 }
Example #3
0
<?php

midcom::get('auth')->require_valid_user();
$user = midcom::get('auth')->user->get_storage();
// Use the FireEagle PHP library from http://fireeagle.yahoo.net/developer/code/php
require_once MIDCOM_ROOT . '/external/fireeagle.php';
$access_key = $user->get_parameter('net.yahoo.fireeagle', 'access_key');
$access_secret = $user->get_parameter('net.yahoo.fireeagle', 'access_secret');
$fireeagle_consumer_key = midcom_baseclasses_components_configuration::get('org.routamc.positioning', 'config')->get('fireeagle_consumer_key');
$fireeagle_consumer_secret = midcom_baseclasses_components_configuration::get('org.routamc.positioning', 'config')->get('fireeagle_consumer_secret');
if (!$access_key || !$access_secret) {
    $session = new midcom_services_session('org_routamc_positioning_fireeagle');
    if (isset($_GET['f']) && $_GET['f'] == 'start') {
        // get a request token + secret from FE and redirect to the authorization page
        $fireeagle = new FireEagle($fireeagle_consumer_key, $fireeagle_consumer_secret);
        $request_token = $fireeagle->getRequestToken();
        if (!isset($request_token['oauth_token']) || !is_string($request_token['oauth_token']) || !isset($request_token['oauth_token_secret']) || !is_string($request_token['oauth_token_secret'])) {
            throw new midcom_error("Failed to get FireEagle request token\n");
        }
        // Save request token to session and redirect user
        $session->set('auth_state', 'start');
        $session->set('request_token', $request_token['oauth_token']);
        $session->set('request_secret', $request_token['oauth_token_secret']);
        ?>
        <p><a href="<?php 
        echo $fireeagle->getAuthorizeURL($request_token['oauth_token']);
        ?>
" target="_blank">Authorize this application</a></p>
        <p><a href="?f=callback">And then click here</a></p>
        <?php 
        midcom::get()->finish();
Example #4
0
 /**
  * When syncing data we clear the capatcha data in the session.
  */
 function sync_type_with_widget($results)
 {
     $session = new midcom_services_session($this->_session_domain);
     $session->remove($this->_session_key);
 }
Example #5
0
 /**
  * Store unshown UI messages from the stack to user session.
  */
 function store()
 {
     if (count($this->_message_stack) == 0) {
         // No unshown messages
         return true;
     }
     // We have to be careful what messages to store to session to prevent them
     // from accumulating
     $messages_to_store = array();
     foreach ($this->_message_stack as $id => $message) {
         // Check that the messages were not coming from earlier session
         if (!in_array($id, $this->_messages_from_session)) {
             $messages_to_store[$id] = $message;
         }
     }
     if (count($messages_to_store) == 0) {
         // We have only messages coming from earlier sessions, and we ditch those
         return true;
     }
     $session = new midcom_services_session('midcom_services_uimessages');
     // Check if some other request has added stuff to session as well
     if ($session->exists('midcom_services_uimessages_stack')) {
         $old_stack = $session->get('midcom_services_uimessages_stack');
         $messages_to_store = array_merge($old_stack, $messages_to_store);
     }
     $session->set('midcom_services_uimessages_stack', $messages_to_store);
     $this->_message_stack = array();
 }
Example #6
0
<?php

/**
 * Captcha display handler. Takes the session data and renders the captcha PNG.
 *
 * No caching is done so far.
 *
 * If the session is not valid, a 500 will be triggered.
 *
 * @package midcom.helper.datamanager2
 * @author The Midgard Project, http://www.midgard-project.org
 * @copyright The Midgard Project, http://www.midgard-project.org
 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License
 */
global $argc, $argv;
$session = new midcom_services_session('midcom_helper_datamanager2_widget_captcha');
if (!isset($argv[0])) {
    throw new midcom_error_notfound("Missing CAPTCHA session key.");
}
if ($argc == 0 || !$session->exists($argv[0])) {
    throw new midcom_error('Failed to generate CAPTCHA, the session key passed is invalid.');
}
$passphrase = $session->get($argv[0]);
if (empty($passphrase)) {
    throw new midcom_error('Failed to generate CAPTCHA, no passphrase in session.');
}
// Set Captcha options (font must exist!)
$options = array('width' => 200, 'height' => 80, 'phrase' => $passphrase, 'imageOptions' => array('font_path' => MIDCOM_ROOT . '/midcom/helper/datamanager2/widget/', 'font_file' => 'captcha-font.ttf', 'background_color' => '#000000', 'text_color' => '#FFFFFF'));
/* Generate a new Text_CAPTCHA object, Image driver
 * This is working at least with Text_CAPTCHAS latest alpha version. Older versions
 * give missing font error
Example #7
0
 /**
  * Clean up after get2session() (in case we cancel or something)
  *
  * To be used in case we do not get to call on_created_handle_relatedto()
  * or some other method that reads and saves the data (and while at it cleans
  * up after itself)
  */
 function get2session_cleanup()
 {
     $session = new midcom_services_session('org.openpsa.relatedto');
     if ($session->exists('relatedto2get_array')) {
         $session->remove('relatedto2get_array');
     }
 }
Example #8
0
                $pos = $_COOKIE['midcom_services_toolbars_position'];
                $pos = explode('_', $pos);
                $x = $pos[0];
                $y = $pos[1];
            }
            break;
        case 'session':
            $session = new midcom_services_session('midcom.services.toolbars');
            $x = $session->get('position_x');
            $y = $session->get('position_y');
            break;
    }
    echo "{$x},{$y}";
    _midcom_stop_request();
}
// Interface for storing the toolbar position
switch ($GLOBALS['midcom_config']['toolbars_position_storagemode']) {
    case 'parameter':
        $person = new midcom_db_person(midcom::get('auth')->user);
        $person->set_parameter('midcom.services.toolbars', 'position_x', $_REQUEST['position_x']);
        $person->set_parameter('midcom.services.toolbars', 'position_y', $_REQUEST['position_y']);
        break;
    case 'cookie':
        _midcom_setcookie('midcom_services_toolbars_position', $_REQUEST['position_x'] . '_' . $_REQUEST['position_y'], time() + 30 * 24 * 3600, midcom_connection::get_url('self'));
        break;
    case 'session':
        $session = new midcom_services_session('midcom.services.toolbars');
        $session->set('position_x', $_REQUEST['position_x']);
        $session->set('position_y', $_REQUEST['position_y']);
        break;
}