Esempio n. 1
0
 /**
  * Implements the Singleton pattern for this clas
  *
  * @staticvar extensionUpdateHelper $instance The static object instance
  * @return extensionUpdateHelper
  */
 public static function getInstance($extension = null, $target = null, $updateFrequency = null)
 {
     if (!isset(self::$instance)) {
         self::$instance = new extensionUpdateHelper($extension, $target, $updateFrequency);
     }
     return self::$instance;
 }
Esempio n. 2
0
    /**
     * Function that returns version info in JSON format
     * @return string
     * @since 1.3.1
     */
    function getVersionInfo($updateFrequency = 2)
    {
        require_once JPATH_COMPONENT_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'update.php';
        $version_info = array();
        $html = '';
        $html_current = '';
        $html_outdated = '';
        $pathToXML = JPATH_COMPONENT_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'customfilters.xml';
        $installData = JApplicationHelper::parseXMLInstallFile($pathToXML);
        $updateHelper = extensionUpdateHelper::getInstance($extension = 'com_customfilters', $targetFile = 'assets/lastversion.ini', $updateFrequency = 2);
        $updateRegistry = $updateHelper->getData();
        if ($installData['version']) {
            if (is_object($updateRegistry) && $updateRegistry !== false) {
                $isoutdated_code = version_compare($installData['version'], $updateRegistry->version);
                if ($isoutdated_code < 0) {
                    $html_current = '<div class="cfversion">
					<span class="pbversion_label">' . JText::_('COM_CUSTOMFILTERS_LATEST_VERSION') . ' : v. </span>
					<span class="cfversion_no">' . $updateRegistry->version . '</span><span> (' . $updateRegistry->date . ')</span>
					</div>';
                }
                if ($isoutdated_code < 0) {
                    $html_outdated = ' <span id="cfoutdated">!Outdated</span>';
                } else {
                    $html_outdated = ' <span id="cfupdated">Updated</span>';
                }
            }
            $html .= '<div class="cfversion">
			<span class="pbversion_label">' . JText::_('COM_CUSTOMFILTERS_CURRENT_VERSION') . ' : v. </span> 
			<span class="cfversion_no">' . $installData['version'] . '</span><span> (' . $installData['creationDate'] . ')</span>' . $html_outdated . '</div>';
        }
        $html .= $html_current;
        $version_info['html'] = $html;
        $version_info['status_code'] = $isoutdated_code;
        return $version_info;
    }