public static function load()
 {
     $modeler = static::$modeler;
     if (SessionAuthority::isCookieValid() && SessionModeler::exists(SessionModeler::model()->session_id, 'session_id')) {
         $modeler::exists(SessionStore::get('user_id'), 'id');
     }
 }
Пример #2
0
 public static function login($json = null)
 {
     $module = static::$module;
     $dialogs = $module::model()->components->dialogs;
     $dialog = forward_static_call_array(array($dialogs, __FUNCTION__), array());
     if (!SessionStore::is($dialog->session_store_key)) {
         return;
     }
     $xhr_cards = $module::model()->xhr->cards;
     $operations_xhr = $module::model()->xhr->operations;
     $operations = $module::model()->operations;
     $modeler = $module::model()->modeler;
     if ($json != null) {
         $input = json_decode(rawurldecode($json));
         if (isset($input->reset)) {
             SessionStore::set($dialog->session_store_key, $dialog->session_store_setup);
             return forward_static_call_array(array($xhr_cards, __FUNCTION__), array());
         }
     }
     $dialog_store = SessionStore::get($dialog->session_store_key);
     $dialog_step = $dialog->steps[$dialog_store->step];
     if (isset($dialog_step->prep) && $dialog_step->prep == true) {
         if (isset($dialog_step->required_members)) {
             foreach ($dialog_step->required_members as $m) {
                 if (!isset($input->{$m})) {
                     return;
                 }
             }
         }
         switch ($dialog_store->step) {
             case 0:
                 if (($modeler::exists(rawurldecode($input->login), 'email') || $modeler::exists(rawurldecode($input->login), 'name')) && \Sequode\Application\Modules\Account\Authority::isActive($modeler::model())) {
                     $dialog_store->prep->user_id = $modeler::model()->id;
                     SessionStore::set($dialog->session_store_key, $dialog_store);
                 } else {
                     $error = 1;
                 }
                 break;
             case 1:
                 if ($modeler::exists($dialog_store->prep->user_id, 'id') && \Sequode\Application\Modules\Account\Authority::isPassword(rawurldecode($input->secret), $modeler::model())) {
                     $_a = array($modeler::model());
                 } else {
                     $error = 2;
                 }
                 break;
         }
     }
     if (isset($dialog_step->operation) && is_array($_a)) {
         if (!forward_static_call_array(array($operations, $dialog_step->operation), $_a)) {
             $error = 3;
         }
     }
     if (!isset($error)) {
         $dialog_store->step++;
         SessionStore::set($dialog->session_store_key, $dialog_store);
         $console_module = ModuleRegistry::model()['Console'];
         return intval($dialog_store->step) == 2 ? forward_static_call_array(array($console_module::model()->routes['http'], 'js'), array(false)) : forward_static_call_array(array($xhr_cards, __FUNCTION__), array());
     }
 }
Пример #3
0
 public static function updateEmail($dom_id = 'CardsContainer')
 {
     $module = static::$module;
     $dialog = $module::model()->xhr->dialogs[__FUNCTION__];
     if (!SessionStore::is($dialog['session_store_key'])) {
         SessionStore::set($dialog['session_store_key'], $dialog['session_store_setup']);
     }
     return CardKitJS::placeCard(ModuleCard::render($module::$registry_key, __FUNCTION__), $dom_id);
 }
Пример #4
0
 public static function search($json)
 {
     $_o = json_decode(stripslashes($json));
     $_o = !is_object($_o) || (trim($_o->search) == '' || empty(trim($_o->search))) ? (object) null : $_o;
     $collection = 'token_search';
     SessionStore::set($collection, $_o);
     $js = array();
     $js[] = DOMElementKitJS::fetchCollection($collection);
     return implode(' ', $js);
 }
 public static function login($_model = null)
 {
     $modeler = static::$modeler;
     $_model == null ? forward_static_call_array(array($modeler, 'model'), array()) : forward_static_call_array(array($modeler, 'model'), array($_model));
     $modeler::model()->updateField($time === false ? time() : $time, 'last_sign_in');
     SessionModeler::model()->updateField($modeler::model()->email, 'name');
     SessionStore::set('user_id', $modeler::model()->id, false);
     SessionStore::set('name', $modeler::model()->name, false);
     SessionStore::set('role_id', $modeler::model()->role_id, false);
     return $modeler::model();
 }
Пример #6
0
 public static function search()
 {
     $module = static::$module;
     $finder = $module::model()->finder;
     $collection = $module::model()->context . '_' . __FUNCTION__;
     $nodes = array();
     if (SessionStore::is($collection)) {
         $_array = $finder::search(SessionStore::get($collection));
         foreach ($_array as $_object) {
             $nodes[] = '"' . $_object->id . '":{"id":"' . $_object->id . '","n":"' . $_object->name . '"}';
         }
     }
     echo '{' . implode(',', $nodes) . '}';
     return;
 }
Пример #7
0
 public static function signup()
 {
     $module = static::$module;
     $dialogs = $module::model()->components->dialogs;
     $dialog = forward_static_call_array(array($dialogs, __FUNCTION__), array());
     if (!SessionStore::is($dialog->session_store_key)) {
         SessionStore::set($dialog->session_store_key, $dialog->session_store_setup);
     }
     $dialog_store = SessionStore::get($dialog->session_store_key);
     $step = $dialog->steps[$dialog_store->step];
     $_o = (object) null;
     $_o->icon_background = 'users-icon-background';
     $_o->size = 'small';
     if ($dialog_store->step != 0 && $dialog_store->step < count($dialog->steps) - 1) {
         $_o->menu = (object) null;
         $_o->menu->items = array();
         $_o->menu->items[] = CardKit::onTapEventsXHRCallMenuItem('Start Over', 'operations/account/' . __FUNCTION__, array(FormComponent::jsQuotedValue('{"reset":"1"}')));
     }
     $_o->head = ' Create Account';
     $_o->body = array('');
     if (isset($step->content)) {
         if (isset($step->content->head)) {
             $_o->body[] = '<div class="subline">' . $step->content->head . '</div>';
         }
         if (isset($step->content->head)) {
             $_o->body[] = $step->content->body;
         }
     }
     if (isset($step->forms)) {
         foreach ($step->forms as $form) {
             $_o->body = array_merge($_o->body, ModuleForm::render($module::$registry_key, $form));
         }
     }
     if ($dialog_store->step != 0 && $dialog_store->step < count($dialog->steps) - 1) {
         $_o->body[] = CardKit::resetDialogButton('operations/register/' . __FUNCTION__);
     }
     $_o->body[] = (object) array('js' => '$(\'.focus-input\').focus(); $(\'.focus-input\').select();');
     return $_o;
 }
Пример #8
0
 public static function updateEmail($json = null)
 {
     $module = static::$module;
     $dialogs = $module::model()->components->dialogs;
     $dialog = forward_static_call_array(array($dialogs, __FUNCTION__), array());
     if (!SessionStore::is($dialog->session_store_key)) {
         return;
     }
     $xhr_cards = $module::model()->xhr->cards;
     $operations = $module::model()->operations;
     $modeler = $module::model()->modeler;
     if ($json != null) {
         $input = json_decode(rawurldecode($json));
         if (isset($input->reset)) {
             SessionStore::set($dialog->session_store_key, $dialog->session_store_setup);
             return forward_static_call_array(array($xhr_cards, __FUNCTION__), array());
         }
     }
     $dialog_store = SessionStore::get($dialog->session_store_key);
     $dialog_step = $dialog->steps[$dialog_store->step];
     if (isset($dialog_step->prep) && $dialog_step->prep == true) {
         if (isset($dialog_step->required_members)) {
             foreach ($dialog_step->required_members as $m) {
                 if (!isset($input->{$m})) {
                     return;
                 }
             }
         }
         switch ($dialog_store->step) {
             case 0:
                 if (!$modeler::exists(rawurldecode($input->email), 'email') && \Sequode\Application\Modules\Account\Authority::isAnEmailAddress(rawurldecode($input->email))) {
                     $dialog_store->prep->new_email = rawurldecode($input->email);
                     $dialog_store->prep->token = Hashes::generateHash();
                     SessionStore::set($dialog->session_store_key, $dialog_store);
                     $hooks = array("searchStrs" => array('#TOKEN#'), "subjectStrs" => array($dialog_store->prep->token));
                     Email::systemSend($dialog_store->prep->new_email, 'Verify your email address with sequode.com', EmailContent::render('activation.txt', $hooks));
                 } else {
                     $error = true;
                 }
                 break;
             case 1:
                 if ($dialog_store->prep->token == rawurldecode($input->token)) {
                     $_a = array($dialog_store->prep->new_email);
                 } else {
                     $error = true;
                 }
                 break;
         }
     }
     if (isset($dialog_step->operation) && is_array($_a)) {
         if (!forward_static_call_array(array($operations, $dialog_step->operation), $_a)) {
             $error = true;
         }
     }
     if (!isset($error)) {
         $dialog_store->step++;
         SessionStore::set($dialog->session_store_key, $dialog_store);
         return forward_static_call_array(array($xhr_cards, __FUNCTION__), array());
     }
 }
Пример #9
0
 public static function selectPalette($json)
 {
     $module = static::$module;
     $modeler = $module::model()->modeler;
     $_o = json_decode(stripslashes($json));
     if (!is_object($_o) || (trim($_o->palette) == '' || empty(trim($_o->palette)))) {
         SessionStore::set('palette', false);
     } else {
         switch ($_o->palette) {
             case 'sequode_search':
             case 'sequode_favorites':
                 SessionStore::set('palette', $_o->palette);
                 break;
             default:
                 if ($modeler::exists($_o->palette, 'id') && \Sequode\Application\Modules\Account\Authority::canView()) {
                     SessionStore::set('palette', $_o->palette);
                 }
                 break;
         }
     }
     $js[] = DOMElementKitJS::fetchCollection('palette');
     return implode(' ', $js);
 }
Пример #10
0
 public static function search($json)
 {
     $module = static::$module;
     $_o = json_decode(stripslashes($json));
     $_o = !is_object($_o) || (trim($_o->search) == '' || empty(trim($_o->search))) ? (object) null : $_o;
     $collection = $module::model()->context . '_' . __FUNCTION__;
     SessionStore::set($collection, $_o);
     $js = array();
     $js[] = DOMElementKitJS::fetchCollection($collection);
     return implode(' ', $js);
 }
Пример #11
0
 public static function palette()
 {
     $module = static::$module;
     $modeler = $module::model()->modeler;
     if (SessionStore::get('palette') == 'sequode_search') {
         self::search();
     } elseif (SessionStore::get('palette') == 'sequode_favorites') {
         self::favorited();
     } elseif (SessionStore::is('palette')) {
         $sequode_model = new $modeler::$model();
         $sequode_model->exists(SessionStore::get('palette'), 'id');
         $sequence = array_unique(json_decode($sequode_model->sequence));
         $nodes = array();
         foreach ($sequence as $id) {
             $sequode_model->exists($id, 'id');
             $nodes[] = '"' . $sequode_model->id . '":{"id":"' . $sequode_model->id . '","n":"' . $sequode_model->name . '"}';
         }
         echo '{' . implode(',', $nodes) . '}';
     } else {
         echo '{}';
     }
 }