function XooNIpsOrmSession() { parent::XooNIpsTableObject(); $this->initVar('sess_id', XOBJ_DTYPE_TXTBOX, null, true, 32); $this->initVar('updated', XOBJ_DTYPE_INT, null, true, null); $this->initVar('uid', XOBJ_DTYPE_INT, null, true, null); $this->initVar('su_uid', XOBJ_DTYPE_INT, null, false, null); if (xoonips_get_version() >= 340) { $this->initVar('sess_data', XOBJ_DTYPE_TXTBOX, '', false, null); } }
function b_xoonips_moderator_show() { global $xoopsUser; // hide block if user is guest if (!is_object($xoopsUser)) { return false; } $uid = $xoopsUser->getVar('uid', 'n'); // hide block if user is invalid xoonips user $xsession_handler =& xoonips_getormhandler('xoonips', 'session'); if (!$xsession_handler->validateUser($uid, false)) { return false; } // check moderator user $xmember_handler =& xoonips_gethandler('xoonips', 'member'); if (!$xmember_handler->isModerator($uid)) { // user is not moderator return false; } // count certification requested users $xu_ohandler =& xoonips_getormhandler('xoonips', 'users'); $join = new XooNIpsJoinCriteria('users', 'uid', 'uid', 'INNER', 'u'); $criteria = new CriteriaCompo(new Criteria('activate', 0)); $criteria->add(new Criteria('level', 0, '>', 'u')); $cu_count = $xu_ohandler->getCount($criteria, $join); // count certification requested items $xil_handler =& xoonips_getormhandler('xoonips', 'index_item_link'); $join = new XooNIpsJoinCriteria('xoonips_index', 'index_id', 'index_id', 'INNER', 'x'); $criteria = new CriteriaCompo(new Criteria('certify_state', CERTIFY_REQUIRED)); $criteria->add(new Criteria('open_level', OL_PUBLIC, '=', 'x')); $ci_count = $xil_handler->getCount($criteria, $join); // count group items open to public certification requested indexes if (xoonips_get_version() >= 340) { $xgxl_handler =& xoonips_getormhandler('xoonips', 'index_group_index_link'); $gi_count = $xgxl_handler->getCount(); } else { $gi_count = 0; } // assign block template variables $block = array(); $block['lang_edit_group'] = _MB_XOONIPS_MODERATOR_EDIT_GROUPS; $block['lang_certify_users'] = _MB_XOONIPS_MODERATOR_CERTIFY_USERS; $block['lang_certify_users_count'] = $cu_count; $block['lang_certify_items'] = _MB_XOONIPS_MODERATOR_CERTIFY_PUBLIC_ITEMS; $block['lang_certify_items_count'] = $ci_count; $block['lang_groupcertify_items'] = _MB_XOONIPS_MODERATOR_GROUP_CERTIFY_PUBLIC_ITEMS; $block['lang_groupcertify_items_count'] = $gi_count; $block['lang_edit_public_index'] = _MB_XOONIPS_MODERATOR_EDIT_PUBLIC_INDEX; $block['lang_event_log'] = _MB_XOONIPS_MODERATOR_EVENT_LOG; $block['xid'] = IID_PUBLIC; return $block; }
function b_xoonips_user_show() { global $xoopsUser; // hide block if user is guest if (!is_object($xoopsUser)) { return false; } $uid = $xoopsUser->getVar('uid', 'n'); // hide block if user is invalid xoonips user $xsession_handler =& xoonips_getormhandler('xoonips', 'session'); if (!$xsession_handler->validateUser($uid, false)) { return false; } $block = array(); // get xoonips module id $module_handler =& xoops_gethandler('module'); $module =& $module_handler->getByDirname('xoonips'); if (!is_object($module)) { exit('Access Denied'); } $mid = $module->getVar('mid', 's'); // get xoonips user information $xuser_handler =& xoonips_getormhandler('xoonips', 'users'); $xuser_obj =& $xuser_handler->get($uid); if (!is_object($xuser_obj)) { // not xoonips user return false; } $is_certified = $xuser_obj->getVar('activate', 'n'); if ($is_certified != 1) { // user is not certified return false; } $uname = $xoopsUser->getVar('uname', 's'); $private_index_id = $xuser_obj->getVar('private_index_id', 's'); $is_admin = $xoopsUser->isAdmin($mid); // get count of private messages $pm_handler =& xoops_gethandler('privmessage'); $criteria = new CriteriaCompo(new Criteria('read_msg', 0)); $criteria->add(new Criteria('to_userid', $uid)); $new_messages = $pm_handler->getCount($criteria); // get configuration value of 'private_import_enabled' $xconfig_handler =& xoonips_getormhandler('xoonips', 'config'); $private_import_enabled = $xconfig_handler->getValue('private_import_enabled'); // count transfer requested items if (xoonips_get_version() >= 340) { $tr_handler =& xoonips_getormhandler('xoonips', 'transfer_request'); $criteria = new Criteria('to_uid', $uid); $tr_count = $tr_handler->getCount($criteria); } else { $tr_count = 0; } // assign block template variables $block['private_index_id'] = $private_index_id; $block['is_su'] = isset($_SESSION['xoonips_old_uid']); $block['uid'] = $uid; $block['new_messages'] = $new_messages; $block['lang_youraccount'] = _MB_XOONIPS_USER_VIEW_ACCOUNT; $block['lang_editaccount'] = _MB_XOONIPS_USER_EDIT_ACCOUNT; $block['lang_register_item'] = _MB_XOONIPS_USER_REGISTER_ITEM; $block['lang_showusers'] = _MB_XOONIPS_USER_SHOW_USERS; $block['lang_grouplist'] = _MB_XOONIPS_USER_GROUP_LIST; $block['lang_notifications'] = _MB_XOONIPS_USER_NOTIFICATION; $block['lang_inbox'] = _MB_XOONIPS_USER_INBOX; $block['lang_listing_item'] = _MB_XOONIPS_USER_LISTING_ITEM; $block['lang_edit_index'] = _MB_XOONIPS_USER_EDIT_PRIVATE_INDEX; $block['lang_advanced_search'] = _MB_XOONIPS_USER_ADVANCED_SEARCH; $block['lang_logout'] = _MB_XOONIPS_USER_LOGOUT; $block['lang_su_start'] = _MB_XOONIPS_USER_SU_START; $block['lang_su_end'] = sprintf(_MB_XOONIPS_USER_SU_END, $uname); $block['lang_adminmenu'] = _MB_XOONIPS_USER_ADMINMENU; $block['lang_transfer_request'] = _MB_XOONIPS_USER_TRANSFER_USER_REQUEST; $block['lang_transfer_accept'] = _MB_XOONIPS_USER_TRANSFER_USER_ACCEPT; $block['lang_transfer_request_count'] = $tr_count; $block['lang_oaipmh_search'] = _MB_XOONIPS_USER_OAIPMH_SEARCH; $block['xoonips_isadmin'] = $is_admin; if ($is_admin || $private_import_enabled == 'on') { // set to $block['lang_import'] if user is permitted to import. // - config of private_import_enabled is true // - or user is administrator $block['lang_import'] = _MB_XOONIPS_USER_IMPORT; } return $block; }