/** * @param string|null $environment * * @return void */ public static function init($environment = null) { if ($environment === null) { $environment = Environment::getInstance()->getEnvironment(); } $storeName = Store::getInstance()->getStoreName(); $config = new \ArrayObject(); /* * e.g. config_default.php */ self::buildConfig('default', $config); /* * e.g. config_default-production.php */ self::buildConfig('default-' . $environment, $config); /* * e.g. config_default_DE.php */ self::buildConfig('default_' . $storeName, $config); /* * e.g. config_default-production_DE.php */ self::buildConfig('default-' . $environment . '_' . $storeName, $config); /* * e.g. config_local_test.php */ self::buildConfig('local_test', $config); /* * e.g. config_local.php */ self::buildConfig('local', $config); /* * e.g. config_local_DE.php */ self::buildConfig('local_' . $storeName, $config); /* * e.g. config_propel.php */ self::buildConfig('propel', $config); self::$config = $config; }
/** * @param string $command * @param string $store * * @return string */ protected function getCommand($command, $store) { $environment = Environment::getInstance(); $environment_name = $environment->getEnvironment(); if ($environment->isNotDevelopment()) { return "<command>[ -f ../../../../../../../current/deploy/vars ] && . ../../../../../../../current/deploy/vars\n[ -f ../../../../../../current/deploy/vars ] && . ../../../../../../current/deploy/vars\n[ -f ../../../../../current/deploy/vars ] && . ../../../../../current/deploy/vars\nexport APPLICATION_ENV={$environment_name}\nexport APPLICATION_STORE={$store}\ncd \$destination_release_dir\n. ./config/Zed/cronjobs/cron.conf\n{$command}</command>"; } return "<command>\nexport APPLICATION_ENV={$environment_name}\nexport APPLICATION_STORE={$store}\ncd /data/shop/development/current\n. ./config/Zed/cronjobs/cron.conf\n{$command}</command>"; }
/** * @param string $sessionId * @param string $sessionData * * @return bool */ public function write($sessionId, $sessionData) { $key = $this->keyPrefix . $sessionId; if (strlen($sessionData) < 1) { return false; } $startTime = microtime(true); $environment = Environment::getInstance()->getEnvironment(); $data = json_encode($sessionData); $expireTimestamp = time() + $this->lifetime; $expires = date('Y-m-d H:i:s', $expireTimestamp); $storeName = Store::getInstance()->getStoreName(); $timestamp = date('Y-m-d H:i:s', time()); $query = 'REPLACE INTO session (session.key, session.value, session.store, session.environment, session.expires, session.updated_at) VALUES (?,?,?,?,?,?)'; $statement = $this->connection->prepare($query); $result = $statement->execute([$key, $data, $storeName, $environment, $expires, $timestamp]); $this->newRelicApi->addCustomMetric(self::METRIC_SESSION_WRITE_TIME, microtime(true) - $startTime); return $result; }
/** * @return string */ protected function getBucketName() { $storeName = Store::getInstance()->getStoreName(); $environment = Environment::getInstance()->getEnvironment(); return $storeName . '_' . $environment . '_' . self::BUCKET_NAME_POSTFIX; }