Skip to content

Commit

Permalink
correctifs
Browse files Browse the repository at this point in the history
  • Loading branch information
schpill committed Mar 15, 2017
1 parent 30f6063 commit e69d836
Show file tree
Hide file tree
Showing 4 changed files with 100 additions and 12 deletions.
6 changes: 3 additions & 3 deletions lib/cachelite.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ public function __construct($ns = 'core')

$new = !file_exists($file);

$this->db = new \PDO('sqlite:' . $file);
$this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING);

if ($new) {
File::copy(__DIR__ . DS . 'db', $file);
}

$this->db = new \PDO('sqlite:' . $file);
$this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING);

$this->id = sha1('lite' . $ns);
}

Expand Down
5 changes: 0 additions & 5 deletions lib/controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ public function __get($var)
return $this->$var;
}

public function middleware($name)
{
return lib('middleware')->listen($name);
}

public function __call($method, $args)
{
if (isset($this->$method)) {
Expand Down
6 changes: 3 additions & 3 deletions lib/ghost.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,18 +93,18 @@ public function offsetUnset($k)

public function __call($m, $a)
{
if (fnmatch('get*', $m)) {
if (fnmatch('get*', $m) && strlen($m) > 3) {
$key = Inflector::uncamelize(substr($m, 3));
$default = empty($a) ? null : current($a);

return isset($this->$key) ? $this->$key : $default;
} elseif (fnmatch('set*', $m)) {
} elseif (fnmatch('set*', $m) && strlen($m) > 3) {
$key = Inflector::uncamelize(substr($m, 3));

$this->$key = current($a);

return $this;
} elseif (fnmatch('has*', $m)) {
} elseif (fnmatch('has*', $m) && strlen($m) > 3) {
$key = Inflector::uncamelize(substr($m, 3));

return isset($this->$key);
Expand Down
95 changes: 94 additions & 1 deletion lib/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -1590,9 +1590,102 @@ function classify($instance, array $array = [])
return new $class($array, sha1($class));
}

function eventer()
{
$made = Registry::get('eventer.made', false);
$cb = null;

if (!$made) {
$cb = function () {
Registry::set('eventer.made', true);
$eventer = make([], 'eventer');

$eventer->on(function ($event, callable $cb) use ($eventer) {
$events = Registry::get('eventer.events', []);
$events[$event] = $cb;
Registry::set('eventer.events', $events);

return $eventer;
});

$eventer->listen(function ($event, array $args = []) {
$events = Registry::get('eventer.events', []);

$eventToFire = isAke($events, $event, null);

if ($eventToFire && is_callable($eventToFire)) {
return call_user_func_array($eventToFire, $args);
}
});

return $eventer;
};
}

return single('eventer', $cb);
}

function setting()
{
$made = Registry::get('settings.made', false);
$cb = null;

if (!$made) {
$cb = function () {
Registry::set('settings.made', true);
$settings = classify('settings');

$settings->set(function ($k, $v) use ($settings) {
$k = sha1(forever() . $k);

em('systemSetting')
->firstOrCreate(['name' => $k])
->setValue($v)
->save();

return $settings;
});

$settings->get(function ($k, $d = null) {
$k = sha1(forever() . $k);

$setting = em('systemSetting')
->where(['name', '=', $k])
->first(true);

return $setting ? $setting->value : $d;
});

$settings->has(function ($k) {
$k = sha1(forever() . $k);

$setting = em('systemSetting')
->where(['name', '=', $k])
->first(true);

return $setting ? true : false;
});

$settings->delete(function ($k) {
$k = sha1(forever() . $k);

$setting = em('systemSetting')
->where(['name', '=', $k])
->first(true);

return $setting ? $setting->delete() : false;
});

return $settings;
};
}

return single('settings', $cb);
}

function objectify($instance, array $array = [])
{
return single($instance, function () use ($array) {
return single($instance, function () use ($instance, $array) {
return classify($instance, $array);
});
}
Expand Down

0 comments on commit e69d836

Please sign in to comment.