Refactor Hook and Addon to systematically use Hook::delete

This commit is contained in:
Hypolite Petovan 2020-07-27 01:33:24 -04:00
parent afb882048e
commit bd1f4ebbde
2 changed files with 36 additions and 17 deletions

View file

@ -136,7 +136,7 @@ class Addon
$func();
}
DBA::delete('hook', ['file' => 'addon/' . $addon . '/' . $addon . '.php']);
Hook::delete(['file' => 'addon/' . $addon . '/' . $addon . '.php']);
unset(self::$addons[array_search($addon, self::$addons)]);
}
@ -204,17 +204,9 @@ class Addon
}
Logger::notice("Addon {addon}: {action}", ['action' => 'reload', 'addon' => $addon['name']]);
@include_once($fname);
if (function_exists($addonname . '_uninstall')) {
$func = $addonname . '_uninstall';
$func(DI::app());
}
if (function_exists($addonname . '_install')) {
$func = $addonname . '_install';
$func(DI::app());
}
DBA::update('addon', ['timestamp' => $t], ['id' => $addon['id']]);
self::uninstall($fname);
self::install($fname);
}
}

View file

@ -99,9 +99,7 @@ class Hook
return true;
}
$result = DBA::insert('hook', ['hook' => $hook, 'file' => $file, 'function' => $function, 'priority' => $priority]);
return $result;
return self::insert(['hook' => $hook, 'file' => $file, 'function' => $function, 'priority' => $priority]);
}
/**
@ -119,10 +117,10 @@ class Hook
// This here is only needed for fixing a problem that existed on the develop branch
$condition = ['hook' => $hook, 'file' => $file, 'function' => $function];
DBA::delete('hook', $condition);
self::delete($condition);
$condition = ['hook' => $hook, 'file' => $relative_file, 'function' => $function];
$result = DBA::delete('hook', $condition);
$result = self::delete($condition);
return $result;
}
@ -220,7 +218,7 @@ class Hook
} else {
// remove orphan hooks
$condition = ['hook' => $name, 'file' => $hook[0], 'function' => $hook[1]];
DBA::delete('hook', $condition, ['cascade' => false]);
self::delete($condition, ['cascade' => false]);
}
}
@ -245,4 +243,33 @@ class Hook
return false;
}
/**
* Deletes one or more hook records
*
* @param array $condition
* @param array $options
* @return bool
* @throws \Exception
*/
public static function delete(array $condition, array $options = [])
{
$result = DBA::delete('hook', $condition, $options);
return $result;
}
/**
* Inserts a hook record
*
* @param array $condition
* @return bool
* @throws \Exception
*/
private static function insert(array $condition)
{
$result = DBA::insert('hook', $condition);
return $result;
}
}