function logged_in() { if (qa_is_logged_in()) { // output user avatar to login bar $this->output('<div class="qa-logged-in-avatar">', QA_FINAL_EXTERNAL_USERS ? qa_get_external_avatar_html(qa_get_logged_in_userid(), 24, true) : qa_get_user_avatar_html(qa_get_logged_in_flags(), qa_get_logged_in_email(), qa_get_logged_in_handle(), qa_get_logged_in_user_field('avatarblobid'), qa_get_logged_in_user_field('avatarwidth'), qa_get_logged_in_user_field('avatarheight'), 24, true), '</div>'); } qa_html_theme_base::logged_in(); if (qa_is_logged_in()) { // adds points count after logged in username $userpoints = qa_get_logged_in_points(); $pointshtml = $userpoints == 1 ? qa_lang_html_sub('main/1_point', '1', '1') : qa_lang_html_sub('main/x_points', qa_html(number_format($userpoints))); $this->output('<span class="qa-logged-in-points">', '(' . $pointshtml . ')', '</span>'); } }
function qa_calc_form_security_hash($action, $timestamp) { if (qa_to_override(__FUNCTION__)) { $args = func_get_args(); return qa_call_override(__FUNCTION__, $args); } $salt = qa_opt('form_security_salt'); if (qa_is_logged_in()) { return sha1($salt . '/' . $action . '/' . $timestamp . '/' . qa_get_logged_in_userid() . '/' . qa_get_logged_in_user_field('passsalt')); } else { return sha1($salt . '/' . $action . '/' . $timestamp . '/' . @$_COOKIE['qa_key']); } // lower security for non logged in users - code+cookie can be transferred }
function qw_notify_emails_selectspec($userid, $tags, $categoryid) { if (file_exists(QW_CONTROL_DIR . '/addons/notification/functions.php')) { require_once QW_CONTROL_DIR . '/addons/notification/functions.php'; if (notify_addon_enabled_from_admin_panel()) { //proceed only if the plugin is enabled require_once QA_INCLUDE_DIR . 'qa-app-updates.php'; $source = ''; $arguments = array(); if (!!qa_opt('qw_notify_user_followers')) { $source .= !!$source ? ' UNION ' : ''; $source .= "( SELECT ^users.userid , 'q_post_user_fl' as event , ^userpoints.points from ^users JOIN ^userpoints ON ^users.userid=^userpoints.userid JOIN ^userfavorites ON ^users.userid=^userfavorites.userid WHERE ^userfavorites.entityid=\$ AND ^userfavorites.entitytype=\$ AND ^users.email !=\$ )"; $args = array($userid, QA_ENTITY_USER, qa_get_logged_in_user_field('email')); $arguments = array_merge($arguments, $args); } if (!!qa_opt('qw_notify_tag_followers') && !!$tags) { $source .= !!$source ? ' UNION ' : ''; $source .= "( SELECT ^users.userid , 'q_post_tag_fl' as event , ^userpoints.points from ^users JOIN ^userpoints ON ^users.userid=^userpoints.userid JOIN ^userfavorites ON ^userfavorites.userid=^users.userid WHERE ^userfavorites.entityid IN \n\t\t ( SELECT wordid from ^words where ^words.word IN (\$) ) AND ^userfavorites.entitytype=\$ AND ^users.email !=\$ )"; $args = array(qa_tagstring_to_tags($tags), QA_ENTITY_TAG, qa_get_logged_in_user_field('email')); $arguments = array_merge($arguments, $args); } if (!!qa_opt('qw_notify_cat_followers') && !!$categoryid) { $source .= !!$source ? ' UNION ' : ''; $source .= "( SELECT ^users.userid , 'q_post_cat_fl' as event , ^userpoints.points from ^users JOIN ^userpoints ON ^users.userid=^userpoints.userid JOIN ^userfavorites ON ^userfavorites.userid=^users.userid " . " WHERE ^userfavorites.entityid=\$ AND ^userfavorites.entitytype=\$ AND ^users.email !=\$ )"; $args = array($categoryid, QA_ENTITY_CATEGORY, qa_get_logged_in_user_field('email')); $arguments = array_merge($arguments, $args); } $where_clause = ''; if (!!qa_opt('qw_notify_min_points_opt')) { //generate where clause $min_user_points = qa_opt('qw_notify_min_points_val'); $where_clause = !!$min_user_points && $min_user_points > 0 ? ' WHERE result.points > ' . $min_user_points : ''; } return array('columns' => array(' * '), 'source' => ' ( ' . $source . ' ) as result ' . $where_clause, 'arguments' => $arguments, 'sortasc' => 'title'); } //if plugin is enabled } }
} else { $errors['avatar_default_show'] = qa_lang_sub('main/image_not_read', implode(', ', qa_gd_image_formats())); } } } } } // Mailings management if ($adminsection == 'mailing') { if (qa_clicked('domailingtest') || qa_clicked('domailingstart') || qa_clicked('domailingresume') || qa_clicked('domailingcancel')) { if (!qa_check_form_security_code('admin/' . $adminsection, qa_post_text('code'))) { $securityexpired = true; } else { if (qa_clicked('domailingtest')) { $email = qa_get_logged_in_email(); if (qa_mailing_send_one(qa_get_logged_in_userid(), qa_get_logged_in_handle(), $email, qa_get_logged_in_user_field('emailcode'))) { $formokhtml = qa_lang_html_sub('admin/test_sent_to_x', qa_html($email)); } else { $formokhtml = qa_lang_html('main/general_error'); } } if (qa_clicked('domailingstart')) { qa_mailing_start(); $startmailing = true; } if (qa_clicked('domailingresume')) { $startmailing = true; } if (qa_clicked('domailingcancel')) { qa_mailing_stop(); }
/** * User account navigation item. This will return based on login information. * If user is logged in, it will populate user avatar and account links. * If user is guest, it will populate login form and registration link. * * @since Snow 1.4 */ private function qam_user_account() { if (qa_is_logged_in()) { // get logged-in user avatar $handle = qa_get_logged_in_user_field('handle'); $toggleClass = 'qam-logged-in'; if (QA_FINAL_EXTERNAL_USERS) { $tobar_avatar = qa_get_external_avatar_html(qa_get_logged_in_user_field('userid'), $this->nav_bar_avatar_size, true); } else { $tobar_avatar = qa_get_user_avatar_html(qa_get_logged_in_user_field('flags'), qa_get_logged_in_user_field('email'), $handle, qa_get_logged_in_user_field('avatarblobid'), qa_get_logged_in_user_field('avatarwidth'), qa_get_logged_in_user_field('avatarheight'), $this->nav_bar_avatar_size, false); } $auth_icon = strip_tags($tobar_avatar, '<img>'); } else { // display login icon and label $handle = $this->content['navigation']['user']['login']['label']; $toggleClass = 'qam-logged-out'; $auth_icon = '<i class="icon-key qam-auth-key"></i>'; } // finally output avatar with div tag $this->output('<div id="qam-account-toggle" class="' . $toggleClass . '">', $auth_icon, '<div class="qam-account-handle">' . qa_html($handle) . '</div>', '</div>'); }
function qa_get_logged_in_flags() { if (QA_FINAL_EXTERNAL_USERS) { return qa_get_logged_in_user_field('blocked') ? QA_USER_FLAGS_USER_BLOCKED : 0; } else { return qa_get_logged_in_user_field('flags'); } }
function ra_user_avatar() { if (qw_hook_exist(__FUNCTION__)) { $args = func_get_args(); array_unshift($args, $this); return qw_event_hook(__FUNCTION__, $args, NULL); } if (qa_is_logged_in()) { // output user avatar to login bar $img_html = QA_FINAL_EXTERNAL_USERS ? qa_get_external_avatar_html(qa_get_logged_in_userid(), 24, true) : qa_get_user_avatar_html(qa_get_logged_in_flags(), qa_get_logged_in_email(), qa_get_logged_in_handle(), qa_get_logged_in_user_field('avatarblobid'), qa_get_logged_in_user_field('avatarwidth'), qa_get_logged_in_user_field('avatarheight'), 24, true); preg_match('@src="([^"]+)"@', $img_html, $match); $this->output($match[1]); } }
function site_top() { $this->output('<div id="site-top" class="container">'); $this->page_title_error(); if (qa_is_logged_in()) { // output user avatar to login bar $this->output('<div class="qa-logged-in-avatar">', QA_FINAL_EXTERNAL_USERS ? qa_get_external_avatar_html(qa_get_logged_in_userid(), 24, true) : qa_get_user_avatar_html(qa_get_logged_in_flags(), qa_get_logged_in_email(), qa_get_logged_in_handle(), qa_get_logged_in_user_field('avatarblobid'), qa_get_logged_in_user_field('avatarwidth'), qa_get_logged_in_user_field('avatarheight'), 24, true), '</div>'); } else { $this->output('<ul class="pull-right top-buttons clearfix">', '<li><a href="#" class="btn">' . qa_lang_html('cleanstrap/login') . '</a></li>', '<li><a href="#" class="btn">' . qa_lang_html('cleanstrap/register') . '</a></li>', '</ul>'); } $this->output('</div>'); }
function qa_get_logged_in_flags() { return QA_FINAL_EXTERNAL_USERS ? 0 : qa_get_logged_in_user_field('flags'); }