При подключении библиотеки, передать туда этот параметр или в библиотеки подключиться к БД и вытянуть настройки.
Библиотека по пути: system/library/myLibrary/myLibrary.php
// в нужном контроллере
new myLibrary\myLibrary($this->registry);
// в библиотеке
namespace myLibrary;
class myLibrary {
private $config;
public function __construct($registry = false) {
if ($registry) {
$this->config = $registry->get('config');
var_dump($this->config);
}
}
}
// в отдельном скрипте
require_once(dirname(__FILE__) . '/config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_SYSTEM . 'library/myLibrary/myLibrary.php');
new myLibrary();
// в библиотеке
namespace myLibrary;
class myLibrary {
private $db;
private $config;
public function __construct() {
$this->db = new \DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$this->config = new \Config();
// Store
if (!empty($_SERVER['HTTPS'])) {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`ssl`, 'www.', '') = '" . $this->db->escape('https://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'");
} else {
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "store WHERE REPLACE(`url`, 'www.', '') = '" . $this->db->escape('http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']) . rtrim(dirname($_SERVER['PHP_SELF']), '/.\\') . '/') . "'");
}
if (isset($this->request->get['store_id'])) {
$this->config->set('config_store_id', (int)$this->request->get['store_id']);
} else if ($query->num_rows) {
$this->config->set('config_store_id', $query->row['store_id']);
} else {
$this->config->set('config_store_id', 0);
}
if (!$query->num_rows) {
$this->config->set('config_url', HTTP_SERVER);
$this->config->set('config_ssl', HTTPS_SERVER);
}
// Settings
$query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "setting` WHERE store_id = '0' OR store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY store_id ASC");
foreach ($query->rows as $result) {
if (!$result['serialized']) {
$this->config->set($result['key'], $result['value']);
} else {
$this->config->set($result['key'], json_decode($result['value'], true));
}
}
var_dump($this->config);
}
}