本文整理汇总了PHP中JUpdater::findUpdates方法的典型用法代码示例。如果您正苦于以下问题:PHP JUpdater::findUpdates方法的具体用法?PHP JUpdater::findUpdates怎么用?PHP JUpdater::findUpdates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JUpdater
的用法示例。
在下文中一共展示了JUpdater::findUpdates方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: applyJoomlaExtensionUpdateChanges
//.........这里部分代码省略.........
$fetchUpdates = false;
// Should I fetch new udpater
// Init
$db = $this->getDbo();
// Figure out the correct XML update stream URL
if ($isPro) {
$update_url = 'https://www.akeebabackup.com/index.php?option=com_ars&view=update&task=stream&format=xml&id=6';
JLoader::import('joomla.application.component.helper');
$params = JComponentHelper::getParams('com_akeeba');
if (version_compare(JVERSION, '3.0', 'ge')) {
$dlid = $params->get('update_dlid', '');
} else {
$dlid = $params->getValue('update_dlid', '');
}
if (!preg_match('/^[0-9a-f]{32}$/i', $dlid)) {
$ret = false;
$dlid = '';
}
if ($dlid) {
$dlid = $dlid;
$url = $update_url . '&dlid=' . $dlid . '/extension.xml';
} else {
$url = '';
}
} else {
$url = 'http://cdn.akeebabackup.com/updates/atcore.xml';
}
// Get the extension ID
$extensionID = JComponentHelper::getComponent('com_akeeba')->id;
// Get the update site record
$query = $db->getQuery(true)->select(array($db->qn('us') . '.*'))->from($db->qn('#__update_sites_extensions') . ' AS ' . $db->qn('map'))->innerJoin($db->qn('#__update_sites') . ' AS ' . $db->qn('us') . ' ON (' . $db->qn('us') . '.' . $db->qn('update_site_id') . ' = ' . $db->qn('map') . '.' . $db->qn('update_site_id') . ')')->where($db->qn('map') . '.' . $db->qn('extension_id') . ' = ' . $db->q($extensionID));
$db->setQuery($query);
$update_site = $db->loadObject();
// Decide on the course of action to take
if ($url) {
if (!is_object($update_site)) {
$action = 'create';
$fetchUpdates = true;
} else {
$action = $update_site->location != $url ? 'update' : 'none';
$purgeUpdates = $action == 'update';
$fetchUpdates = $action == 'update';
}
} else {
// Disable the update site for Akeeba Backup
if (!is_object($update_site)) {
$action = 'none';
} else {
$action = 'delete';
$purgeUpdates = true;
}
}
switch ($action) {
case 'none':
// No change
break;
case 'create':
case 'update':
// Remove old update site
$query = $db->getQuery(true)->delete($db->qn('#__update_sites'))->where($db->qn('name') . ' = ' . $db->q('Akeeba Backup updates'));
$db->setQuery($query);
$db->execute();
// Create new update site
$oUpdateSite = (object) array('name' => 'Akeeba Backup updates', 'type' => 'extension', 'location' => $url, 'enabled' => 1, 'last_check_timestamp' => 0);
$db->insertObject('#__update_sites', $oUpdateSite);
// Get the update site ID
$usID = $db->insertid();
// Delete existing #__update_sites_extensions records
$query = $db->getQuery(true)->delete($db->qn('#__update_sites_extensions'))->where($db->qn('extension_id') . ' = ' . $db->q($extensionID));
$db->setQuery($query);
$db->execute();
// Create new #__update_sites_extensions record
$oUpdateSitesExtensions = (object) array('update_site_id' => $usID, 'extension_id' => $extensionID);
$db->insertObject('#__update_sites_extensions', $oUpdateSitesExtensions);
break;
case 'delete':
// Remove update sites
$query = $db->getQuery(true)->delete($db->qn('#__update_sites'))->where($db->qn('update_site_id') . ' = ' . $db->q($update_site->update_site_id));
$db->setQuery($query);
$db->execute();
// Delete existing #__update_sites_extensions records
$query = $db->getQuery(true)->delete($db->qn('#__update_sites_extensions'))->where($db->qn('extension_id') . ' = ' . $db->q($extensionID));
$db->setQuery($query);
$db->execute();
break;
}
// Do I have to purge updates?
if ($purgeUpdates) {
$query = $db->getQuery(true)->delete($db->qn('#__updates'))->where($db->qn('element') . ' = ' . $db->q('com_akeeba'));
$db->setQuery($query);
$db->execute();
}
// Do I have to fetch updates?
if ($fetchUpdates) {
JLoader::import('joomla.update.update');
$x = new JUpdater();
$x->findUpdates($extensionID);
}
return $ret;
}