From 5f53085a4de6ffebcde256dfdbe174f03ab23780 Mon Sep 17 00:00:00 2001
From: hahn <axel.hahn@iml.unibe.ch>
Date: Wed, 10 Aug 2022 15:54:59 +0200
Subject: [PATCH] run up appmonitor: add sockets

---
 docker/containers/web-server/Dockerfile          |  2 +-
 docker/init.sh.cfg                               | 10 ++++------
 public_html/deployment/classes/project.class.php |  6 +++---
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/docker/containers/web-server/Dockerfile b/docker/containers/web-server/Dockerfile
index 9741db3e..fd26aeda 100644
--- a/docker/containers/web-server/Dockerfile
+++ b/docker/containers/web-server/Dockerfile
@@ -11,4 +11,4 @@ RUN a2enmod rewrite
 
 # install php packages
 COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
-RUN install-php-extensions curl mbstring ldap intl xml
+RUN install-php-extensions curl mbstring ldap intl xml sockets
diff --git a/docker/init.sh.cfg b/docker/init.sh.cfg
index 2be3a4db..cada1d8a 100644
--- a/docker/init.sh.cfg
+++ b/docker/init.sh.cfg
@@ -4,7 +4,8 @@
 # This script is sourced by init.sh ... this file is bash syntax
 # 
 # ----------------------------------------------------------------------
-# 2021-11-xx  <axel.hahn@iml.unibe.ch>
+# 2022-07-15  <axel.hahn@iml.unibe.ch>
+# 2022-08-10  <axel.hahn@iml.unibe.ch>  add php-sockets for appmonitor
 # ======================================================================
 
 APP_NAME=imlcinode
@@ -26,7 +27,8 @@ APP_APACHE_MODULES="rewrite"
 
 APP_PHP_VERSION=8.1
 # sqlite3 is active already
-APP_PHP_MODULES="curl mbstring ldap intl xml"
+# sockets is for appmonitor tcp check only
+APP_PHP_MODULES="curl mbstring ldap intl xml sockets"
 
 # ONSTARTUP="docker exec -it appmonitor-server nohup /usr/local/bin/php /var/www/appmonitor/public_html/server/service.php > /tmp/appmonitor-service.log &"
 # APP_ONSTARTUP="php ${WEBROOT}/server/service.php"
@@ -38,7 +40,6 @@ APP_PHP_MODULES="curl mbstring ldap intl xml"
 # add a container with database?
 DB_ADD=false
 
-# ----------------------------------------------------------------------
 # for an optional database server
 
 DB_PORT=13306
@@ -66,9 +67,6 @@ WRITABLEDIR="../public_html ../config ../data"
 # web service user in container
 DOCKER_USER_UID=33
 
-# document root inside web-server container 
-WEBROOT=/var/www/${APP_NAME}/public_html
-
 CUTTER_NO_DATABASE="CUT-HERE-FOR-NO-DATABASE"
 
 frontendurl=http://localhost:${APP_PORT}/
diff --git a/public_html/deployment/classes/project.class.php b/public_html/deployment/classes/project.class.php
index 596e776a..9a81726d 100644
--- a/public_html/deployment/classes/project.class.php
+++ b/public_html/deployment/classes/project.class.php
@@ -917,16 +917,16 @@ class project extends base {
                     && array_key_exists($sPlace, $aDataPhase) 
                     // && array_key_exists('version', $aDataPhase[$sPlace])
                 ) {
-                    if($bFirstVersion && !$bHasDifferentVersions && $bFirstVersion!==$aDataPhase[$sPlace]['version']){
+                    if($bFirstVersion && isset($aDataPhase[$sPlace]['version']) && !$bHasDifferentVersions && $bFirstVersion!==$aDataPhase[$sPlace]['version']){
                         $bHasDifferentVersions=true;
                     }
                     if (!$bFirstVersion){
-                        $bFirstVersion = $aDataPhase[$sPlace]['version'];
+                        $bFirstVersion = isset($aDataPhase[$sPlace]['version']) ? $aDataPhase[$sPlace]['version'] : $bFirstVersion;
                     }
                 }
             }
             // check queue
-            if (!$bHasQueue && array_key_exists('onhold', $aDataPhase) && $aDataPhase['onhold']['version']){
+            if (!$bHasQueue && isset($aDataPhase['onhold']['version']) && $aDataPhase['onhold']['version']){
                 $bHasQueue=true;
             }
         }
-- 
GitLab