Seditio Source
Root |
./othercms/elxis_5.3_atlas_rev2452/modules/mod_adminmessages/inc/rq.helper.php
<?php
/**
* @version        $Id: rq.helper.php 2063 2019-02-05 21:20:42Z IOS $
* @package        Elxis
* @subpackage    Module Administration messages
* @copyright    Copyright (c) 2006-2019 Elxis CMS (http://www.elxis.org). All rights reserved.
* @license        Elxis Public License ( http://www.elxis.org/elxis-public-license.html )
* @author        Elxis Team ( http://www.elxis.org )
* @description     Elxis CMS is free software. Read the license for copyright notices and details
*/

defined('_ELXIS_') or die ('Direct access to this location is not allowed');


class
aMsgsHelper {

   
/*********************/
    /* MAGIC CONSTRUCTOR */
    /*********************/
   
public function __construct() {
    }


   
/***************************/
    /* DISPLAY A JSON RESPONSE */
    /***************************/
   
public function json($response) {
        if (
ob_get_length() > 0) { ob_end_clean(); }
       
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
       
header('Last-Modified: '.gmdate('D, d M Y H:i:s').'GMT');
       
header('Cache-Control: no-cache, must-revalidate');
       
header('Pragma: no-cache');
       
header('Content-type: application/json; charset=utf-8');

        echo
json_encode($response);
        exit;
    }


   
/**************************/
    /* GET RECIPIENTS (USERS) */
    /**************************/
   
public function getRecipients($except_uid, $elxis, $eLang) {
       
$db = eFactory::getDB();

       
$except_uid = (int)$except_uid;
       
$realname = $elxis->getConfig('REALNAME');
       
$orderby_col = ($realname == 1) ? 'firstname' : 'uname';

       
$sql = "SELECT ".$db->quoteId('uid').", ".$db->quoteId('firstname').", ".$db->quoteId('lastname').", ".$db->quoteId('uname')." FROM ".$db->quoteId('#__users')
        .
"\n WHERE ".$db->quoteId('block')." = 0 ORDER BY ".$db->quoteId($orderby_col)." ASC";
       
$stmt = $db->prepareLimit($sql, 0, 500);
       
$stmt->execute();
       
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
        if (!
$rows) { return array(); }

       
$recipients = array();
        if (
count($rows) < 101) {
           
$recipients[] = array('uid' => -1, 'name' => $eLang->get('ALL_USERS'));
        }
        foreach (
$rows as $row) {
            if (
$row['uid'] == $except_uid) { continue; }
            if (
$realname == 1) {
               
$recipients[] = array('uid' => $row['uid'], 'name' => $row['firstname'].' '.$row['lastname']);
            } else {
               
$recipients[] = array('uid' => $row['uid'], 'name' => $row['uname']);
            }
        }
        return
$recipients;
    }


   
/**********************/
    /* GET RECIPIENT DATA */
    /**********************/
   
public function getRecipient($uid) {
       
$db = eFactory::getDB();

       
$sql = "SELECT ".$db->quoteId('firstname').", ".$db->quoteId('lastname').", ".$db->quoteId('uname')." FROM ".$db->quoteId('#__users')
        .
"\n WHERE ".$db->quoteId('uid')." = :xid";
       
$stmt = $db->prepareLimit($sql, 0, 1);
       
$stmt->bindParam(':xid', $uid, PDO::PARAM_INT);
       
$stmt->execute();
       
$row = $stmt->fetch(PDO::FETCH_ASSOC);
        return
$row;
    }

}

?>