public function getUpdateStatus($container, $image) { $DockerTemplates = new DockerTemplates(); $RegistryUrl = $DockerTemplates->getTemplateValue($image, "Registry"); $userFile = $DockerTemplates->getUserTemplate($container); $localVersion = $this->getLocalVersion($userFile); $remoteVersion = $this->getRemoteVersion($RegistryUrl, $image); // echo "\n $localVersion => $remoteVersion"; return ($localVersion && $remoteVersion) ? (($remoteVersion == $localVersion) ? "true" : "false") : "undef" ; }
} if (!isset($check)) { echo " Updating templates... "; $docker->downloadTemplates(); echo " Updating info... "; $docker->getAllInfo(true); echo " Done."; } else { require_once("/usr/local/emhttp/webGui/include/Wrappers.php"); $client = new DockerClient(); $update = new DockerUpdate(); $notify = "/usr/local/emhttp/webGui/scripts/notify"; $unraid = parse_plugin_cfg("dynamix",true); $server = strtoupper($var['NAME']); $output = $unraid['notify']['docker_notify']; $list = $client->getDockerContainers(); $info = $docker->getAllInfo(); foreach ($list as $ct) { $name = $ct['Name']; $image = $ct['Image']; if ($info[$name]['updated'] == "false") { $new = $update->getRemoteVersion($docker->getTemplateValue($image, "Registry"), $image); exec("$notify -e 'Docker - $name [$new]' -s 'Notice [$server] - Docker update $new' -d 'A new version of $name is available' -i 'normal $output' -x"); } } } exit(0); ?>
$doc = new DOMDocument(); $doc->load($xmlTemplate); $templateRepository = $doc->getElementsByTagName( "Repository" )->item(0)->nodeValue; $templateName = $doc->getElementsByTagName( "Name" )->item(0)->nodeValue; $Registry = $doc->getElementsByTagName( "Registry" )->item(0)->nodeValue; $templatePrivileged = (strtolower($doc->getElementsByTagName( "Privileged" )->item(0)->nodeValue) == 'true') ? 'checked' : ""; $templateMode = $doc->getElementsByTagName( "Mode" )->item(0)->nodeValue;; $readonly = ($xmlType == 'default') ? 'readonly="readonly"' : ''; $required = ($xmlType == 'default') ? 'required' : ''; $disabled = ($xmlType == 'default') ? 'disabled="disabled"' : ''; if ( $doc->getElementsByTagName( "Description" )->length > 0 ) { $templateDescription = $doc->getElementsByTagName( "Description" )->item(0)->nodeValue; } else { $templateDescription = $DockerTemplates->getTemplateValue($templateRepository, "Description", "default"); } if ( $doc->getElementsByTagName( "Registry" )->length > 0 ) { $templateRegistry = $doc->getElementsByTagName( "Registry" )->item(0)->nodeValue; } else { $templateRegistry = $DockerTemplates->getTemplateValue($templateRepository, "Registry", "default"); } if ( $doc->getElementsByTagName( "WebUI" )->length > 0 ) { $templateWebUI = $doc->getElementsByTagName( "WebUI" )->item(0)->nodeValue; } else { $templateWebUI = $DockerTemplates->getTemplateValue($templateRepository, "WebUI", "default"); } if ( $doc->getElementsByTagName( "Banner" )->length > 0 ) {