From 146064334d543b074371f1ea85a5c17f75a2dbfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20B=C3=B6hmer?= <daniel.boehmer@jtl-software.com>
Date: Wed, 26 Aug 2015 14:15:48 +0200
Subject: [PATCH] added multiple image support and connector server info

---
 src/Connector.php            |  2 ++
 src/Controller/Connector.php | 26 +++++++++++++++++++++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/Connector.php b/src/Connector.php
index c5d8ba0..e5da2f8 100644
--- a/src/Connector.php
+++ b/src/Connector.php
@@ -78,9 +78,11 @@ class Connector extends BaseConnector
         $this->controller->setMethod($this->getMethod());
 
         if ($this->action === Method::ACTION_PUSH || $this->action === Method::ACTION_DELETE) {
+            /*
             if ($this->getMethod()->getController() === 'image') {
                 return $this->controller->{$this->action}($requestpacket->getParams());
             }
+            */
 
             if (!is_array($requestpacket->getParams())) {
                 throw new \Exception("Expecting request array, invalid data given");
diff --git a/src/Controller/Connector.php b/src/Controller/Connector.php
index 96b4f1f..36fe3ae 100644
--- a/src/Controller/Connector.php
+++ b/src/Controller/Connector.php
@@ -10,6 +10,7 @@ use jtl\Connector\Core\Logger\Logger;
 use jtl\Connector\Core\Model\QueryFilter;
 use jtl\Connector\Example\Utility\Mmc;
 use jtl\Connector\Formatter\ExceptionFormatter;
+use jtl\Connector\Model\ConnectorServerInfo;
 use jtl\Connector\Result\Action;
 use jtl\Connector\Model\ConnectorIdentification;
 
@@ -67,11 +68,34 @@ class Connector extends DataController
         $action = new Action();
         $action->setHandled(true);
 
+        $returnBytes = function($value) {
+            $value = trim($value);
+            $unit = strtolower($value[strlen($value) - 1]);
+            switch ($unit) {
+                case 'g':
+                    $value *= 1024;
+                case 'm':
+                    $value *= 1024;
+                    break;
+                case 'k':
+                    $value *= 1024;
+            }
+
+            return $value;
+        };
+
+        $serverInfo = new ConnectorServerInfo();
+        $serverInfo->setMemoryLimit($returnBytes(ini_get('memory_limit')))
+            ->setExecutionTime((int) ini_get('max_execution_time'))
+            ->setPostMaxSize($returnBytes(ini_get('post_max_size')))
+            ->setUploadMaxFilesize($returnBytes(ini_get('upload_max_filesize')));
+
         $identification = new ConnectorIdentification();
         $identification->setEndpointVersion('1.0.0')
             ->setPlatformName('Example')
             ->setPlatformVersion('1.0')
-            ->setProtocolVersion(Application()->getProtocolVersion());
+            ->setProtocolVersion(Application()->getProtocolVersion())
+            ->setServerInfo($serverInfo);
 
         $action->setResult($identification);
 
-- 
GitLab