Change plugin to addon
change the use of plugin to addon where appropriate.
This commit is contained in:
parent
3bad83f24e
commit
b86b04a81a
24
boot.php
24
boot.php
|
@ -798,19 +798,19 @@ function run_update_function($x)
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Synchronise plugins:
|
||||
* @brief Synchronise addons:
|
||||
*
|
||||
* $a->config['system']['addon'] contains a comma-separated list of names
|
||||
* of plugins/addons which are used on this system.
|
||||
* of addons which are used on this system.
|
||||
* Go through the database list of already installed addons, and if we have
|
||||
* an entry, but it isn't in the config list, call the uninstall procedure
|
||||
* and mark it uninstalled in the database (for now we'll remove it).
|
||||
* Then go through the config list and if we have a plugin that isn't installed,
|
||||
* Then go through the config list and if we have a addon that isn't installed,
|
||||
* call the install procedure and add it to the database.
|
||||
*
|
||||
* @param object $a App
|
||||
*/
|
||||
function check_plugins(App $a)
|
||||
function check_addons(App $a)
|
||||
{
|
||||
$r = q("SELECT * FROM `addon` WHERE `installed` = 1");
|
||||
if (DBM::is_result($r)) {
|
||||
|
@ -819,20 +819,20 @@ function check_plugins(App $a)
|
|||
$installed = [];
|
||||
}
|
||||
|
||||
$plugins = Config::get('system', 'addon');
|
||||
$plugins_arr = [];
|
||||
$addons = Config::get('system', 'addon');
|
||||
$addons_arr = [];
|
||||
|
||||
if ($plugins) {
|
||||
$plugins_arr = explode(',', str_replace(' ', '', $plugins));
|
||||
if ($addons) {
|
||||
$addons_arr = explode(',', str_replace(' ', '', $addons));
|
||||
}
|
||||
|
||||
$a->plugins = $plugins_arr;
|
||||
$a->addons = $addons_arr;
|
||||
|
||||
$installed_arr = [];
|
||||
|
||||
if (count($installed)) {
|
||||
foreach ($installed as $i) {
|
||||
if (!in_array($i['name'], $plugins_arr)) {
|
||||
if (!in_array($i['name'], $addons_arr)) {
|
||||
Addon::uninstall($i['name']);
|
||||
} else {
|
||||
$installed_arr[] = $i['name'];
|
||||
|
@ -840,8 +840,8 @@ function check_plugins(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
if (count($plugins_arr)) {
|
||||
foreach ($plugins_arr as $p) {
|
||||
if (count($addons_arr)) {
|
||||
foreach ($addons_arr as $p) {
|
||||
if (!in_array($p, $installed_arr)) {
|
||||
Addon::install($p);
|
||||
}
|
||||
|
|
|
@ -213,9 +213,9 @@ function api_login(App $a)
|
|||
];
|
||||
|
||||
/*
|
||||
* A plugin indicates successful login by setting 'authenticated' to non-zero value and returning a user record
|
||||
* Plugins should never set 'authenticated' except to indicate success - as hooks may be chained
|
||||
* and later plugins should not interfere with an earlier one that succeeded.
|
||||
* An addon indicates successful login by setting 'authenticated' to non-zero value and returning a user record
|
||||
* Addons should never set 'authenticated' except to indicate success - as hooks may be chained
|
||||
* and later addons should not interfere with an earlier one that succeeded.
|
||||
*/
|
||||
Addon::callHooks('authenticate', $addon_auth);
|
||||
|
||||
|
|
|
@ -601,7 +601,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
|||
}
|
||||
|
||||
/// @TODO old-lost code?
|
||||
// Shouldn't happen but we want to make absolutely sure it doesn't leak from a plugin.
|
||||
// Shouldn't happen but we want to make absolutely sure it doesn't leak from an addon.
|
||||
// Deactivated, since the bbcode parser can handle with it - and it destroys posts with some smileys that contain "<"
|
||||
//if ((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
|
||||
// $arr['body'] = strip_tags($arr['body']);
|
||||
|
@ -954,7 +954,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
|
|||
unset($arr['api_source']);
|
||||
|
||||
if (x($arr, 'cancel')) {
|
||||
logger('item_store: post cancelled by plugin.');
|
||||
logger('item_store: post cancelled by addon.');
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ function pop_lang() {
|
|||
/**
|
||||
* load string translation table for alternate language
|
||||
*
|
||||
* first plugin strings are loaded, then globals
|
||||
* first addon strings are loaded, then globals
|
||||
*
|
||||
* @param string $lang language code to load
|
||||
*/
|
||||
|
@ -102,9 +102,9 @@ function load_translation_table($lang) {
|
|||
$a = get_app();
|
||||
|
||||
$a->strings = [];
|
||||
// load enabled plugins strings
|
||||
$plugins = dba::select('addon', ['name'], ['installed' => true]);
|
||||
while ($p = dba::fetch($plugins)) {
|
||||
// load enabled addons strings
|
||||
$addons = dba::select('addon', ['name'], ['installed' => true]);
|
||||
while ($p = dba::fetch($addons)) {
|
||||
$name = $p['name'];
|
||||
if (file_exists("addon/$name/lang/$lang/strings.php")) {
|
||||
include("addon/$name/lang/$lang/strings.php");
|
||||
|
|
|
@ -180,7 +180,7 @@ if (! x($_SESSION, 'last_updated')) {
|
|||
/*
|
||||
* check_config() is responsible for running update scripts. These automatically
|
||||
* update the DB schema whenever we push a new one out. It also checks to see if
|
||||
* any plugins have been added or removed and reacts accordingly.
|
||||
* any addons have been added or removed and reacts accordingly.
|
||||
*/
|
||||
|
||||
// in install mode, any url loads install module
|
||||
|
@ -192,7 +192,7 @@ if ($install && $a->module!="view") {
|
|||
} else {
|
||||
check_url($a);
|
||||
check_db(false);
|
||||
check_plugins($a);
|
||||
check_addons($a);
|
||||
}
|
||||
|
||||
Nav::setSelected('nothing');
|
||||
|
@ -228,7 +228,7 @@ if (strlen($a->module)) {
|
|||
|
||||
/**
|
||||
* We will always have a module name.
|
||||
* First see if we have a plugin which is masquerading as a module.
|
||||
* First see if we have an addon which is masquerading as a module.
|
||||
*/
|
||||
|
||||
// Compatibility with the Android Diaspora client
|
||||
|
@ -243,7 +243,7 @@ if (strlen($a->module)) {
|
|||
|
||||
$privateapps = Config::get('config', 'private_addons');
|
||||
|
||||
if (is_array($a->plugins) && in_array($a->module, $a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
|
||||
if (is_array($a->addons) && in_array($a->module, $a->addons) && file_exists("addon/{$a->module}/{$a->module}.php")) {
|
||||
//Check if module is an app and if public access to apps is allowed or not
|
||||
if ((!local_user()) && Addon::isApp($a->module) && $privateapps === "1") {
|
||||
info(t("You must be logged in to use addons. "));
|
||||
|
|
138
mod/admin.php
138
mod/admin.php
|
@ -58,7 +58,7 @@ function admin_post(App $a)
|
|||
case 'users':
|
||||
admin_page_users_post($a);
|
||||
break;
|
||||
case 'plugins':
|
||||
case 'addons':
|
||||
if ($a->argc > 2 &&
|
||||
is_file("addon/" . $a->argv[2] . "/" . $a->argv[2] . ".php")) {
|
||||
@include_once("addon/" . $a->argv[2] . "/" . $a->argv[2] . ".php");
|
||||
|
@ -67,7 +67,7 @@ function admin_post(App $a)
|
|||
$func($a);
|
||||
}
|
||||
}
|
||||
$return_path = 'admin/plugins/' . $a->argv[2];
|
||||
$return_path = 'admin/addons/' . $a->argv[2];
|
||||
break;
|
||||
case 'themes':
|
||||
if ($a->argc < 2) {
|
||||
|
@ -172,7 +172,7 @@ function admin_content(App $a)
|
|||
$aside_sub = [
|
||||
'site' => ["admin/site/" , t("Site") , "site"],
|
||||
'users' => ["admin/users/" , t("Users") , "users"],
|
||||
'plugins' => ["admin/plugins/" , t("Plugins") , "plugins"],
|
||||
'addons' => ["admin/addons/" , t("Addons") , "addons"],
|
||||
'themes' => ["admin/themes/" , t("Themes") , "themes"],
|
||||
'features' => ["admin/features/" , t("Additional features") , "features"],
|
||||
'dbsync' => ["admin/dbsync/" , t('DB updates') , "dbsync"],
|
||||
|
@ -183,15 +183,15 @@ function admin_content(App $a)
|
|||
'deleteitem' => ["admin/deleteitem/" , t('Delete Item') , 'deleteitem'],
|
||||
];
|
||||
|
||||
/* get plugins admin page */
|
||||
/* get addons admin page */
|
||||
|
||||
$r = q("SELECT `name` FROM `addon` WHERE `plugin_admin` = 1 ORDER BY `name`");
|
||||
$aside_tools['plugins_admin'] = [];
|
||||
$aside_tools['addons_admin'] = [];
|
||||
foreach ($r as $h) {
|
||||
$plugin = $h['name'];
|
||||
$aside_tools['plugins_admin'][] = ["admin/plugins/" . $plugin, $plugin, "plugin"];
|
||||
// temp plugins with admin
|
||||
$a->plugins_admin[] = $plugin;
|
||||
$addon = $h['name'];
|
||||
$aside_tools['addons_admin'][] = ["admin/addons/" . $addon, $addon, "addon"];
|
||||
// temp addons with admin
|
||||
$a->addons_admin[] = $addon;
|
||||
}
|
||||
|
||||
$aside_tools['logs'] = ["admin/logs/", t("Logs"), "logs"];
|
||||
|
@ -204,7 +204,7 @@ function admin_content(App $a)
|
|||
'$admin' => $aside_tools,
|
||||
'$subpages' => $aside_sub,
|
||||
'$admtxt' => t('Admin'),
|
||||
'$plugadmtxt' => t('Plugin Features'),
|
||||
'$plugadmtxt' => t('Addon Features'),
|
||||
'$logtxt' => t('Logs'),
|
||||
'$diagnosticstxt' => t('diagnostics'),
|
||||
'$h_pending' => t('User registrations waiting for confirmation'),
|
||||
|
@ -222,8 +222,8 @@ function admin_content(App $a)
|
|||
case 'users':
|
||||
$o = admin_page_users($a);
|
||||
break;
|
||||
case 'plugins':
|
||||
$o = admin_page_plugins($a);
|
||||
case 'addons':
|
||||
$o = admin_page_addons($a);
|
||||
break;
|
||||
case 'themes':
|
||||
$o = admin_page_themes($a);
|
||||
|
@ -781,7 +781,7 @@ function admin_page_summary(App $a)
|
|||
'$platform' => FRIENDICA_PLATFORM,
|
||||
'$codename' => FRIENDICA_CODENAME,
|
||||
'$build' => Config::get('system', 'build'),
|
||||
'$plugins' => [t('Active plugins'), $a->plugins],
|
||||
'$addons' => [t('Active addons'), $a->addons],
|
||||
'$showwarning' => $showwarning,
|
||||
'$warningtext' => $warningtext
|
||||
]);
|
||||
|
@ -1725,54 +1725,54 @@ function admin_page_users(App $a)
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Plugins admin page
|
||||
* @brief Addons admin page
|
||||
*
|
||||
* This function generates the admin panel page for managing plugins on the
|
||||
* friendica node. If a plugin name is given a single page showing the details
|
||||
* This function generates the admin panel page for managing addons on the
|
||||
* friendica node. If an addon name is given a single page showing the details
|
||||
* for this addon is generated. If no name is given, a list of available
|
||||
* plugins is shown.
|
||||
* addons is shown.
|
||||
*
|
||||
* The template used for displaying the list of plugins and the details of the
|
||||
* plugin are the same as used for the templates.
|
||||
* The template used for displaying the list of addons and the details of the
|
||||
* addon are the same as used for the templates.
|
||||
*
|
||||
* The returned string returned hulds the HTML code of the page.
|
||||
*
|
||||
* @param App $a
|
||||
* @return string
|
||||
*/
|
||||
function admin_page_plugins(App $a)
|
||||
function admin_page_addons(App $a)
|
||||
{
|
||||
/*
|
||||
* Single plugin
|
||||
* Single addon
|
||||
*/
|
||||
if ($a->argc == 3) {
|
||||
$plugin = $a->argv[2];
|
||||
if (!is_file("addon/$plugin/$plugin.php")) {
|
||||
$addon = $a->argv[2];
|
||||
if (!is_file("addon/$addon/$addon.php")) {
|
||||
notice(t("Item not found."));
|
||||
return '';
|
||||
}
|
||||
|
||||
if (x($_GET, "a") && $_GET['a'] == "t") {
|
||||
check_form_security_token_redirectOnErr('/admin/plugins', 'admin_themes', 't');
|
||||
check_form_security_token_redirectOnErr('/admin/addons', 'admin_themes', 't');
|
||||
|
||||
// Toggle plugin status
|
||||
$idx = array_search($plugin, $a->plugins);
|
||||
// Toggle addon status
|
||||
$idx = array_search($addon, $a->addons);
|
||||
if ($idx !== false) {
|
||||
unset($a->plugins[$idx]);
|
||||
Addon::uninstall($plugin);
|
||||
info(t("Plugin %s disabled.", $plugin));
|
||||
unset($a->addons[$idx]);
|
||||
Addon::uninstall($addon);
|
||||
info(t("Addon %s disabled.", $addon));
|
||||
} else {
|
||||
$a->plugins[] = $plugin;
|
||||
Addon::install($plugin);
|
||||
info(t("Plugin %s enabled.", $plugin));
|
||||
$a->addons[] = $addon;
|
||||
Addon::install($addon);
|
||||
info(t("Addon %s enabled.", $addon));
|
||||
}
|
||||
Config::set("system", "addon", implode(", ", $a->plugins));
|
||||
goaway('admin/plugins');
|
||||
Config::set("system", "addon", implode(", ", $a->addons));
|
||||
goaway('admin/addons');
|
||||
return ''; // NOTREACHED
|
||||
}
|
||||
|
||||
// display plugin details
|
||||
if (in_array($plugin, $a->plugins)) {
|
||||
// display addon details
|
||||
if (in_array($addon, $a->addons)) {
|
||||
$status = "on";
|
||||
$action = t("Disable");
|
||||
} else {
|
||||
|
@ -1781,16 +1781,16 @@ function admin_page_plugins(App $a)
|
|||
}
|
||||
|
||||
$readme = Null;
|
||||
if (is_file("addon/$plugin/README.md")) {
|
||||
$readme = Markdown::convert(file_get_contents("addon/$plugin/README.md"), false);
|
||||
} elseif (is_file("addon/$plugin/README")) {
|
||||
$readme = "<pre>" . file_get_contents("addon/$plugin/README") . "</pre>";
|
||||
if (is_file("addon/$addon/README.md")) {
|
||||
$readme = Markdown::convert(file_get_contents("addon/$addon/README.md"), false);
|
||||
} elseif (is_file("addon/$addon/README")) {
|
||||
$readme = "<pre>" . file_get_contents("addon/$addon/README") . "</pre>";
|
||||
}
|
||||
|
||||
$admin_form = "";
|
||||
if (in_array($plugin, $a->plugins_admin)) {
|
||||
@require_once("addon/$plugin/$plugin.php");
|
||||
$func = $plugin . '_plugin_admin';
|
||||
if (in_array($addon, $a->addons_admin)) {
|
||||
@require_once("addon/$addon/$addon.php");
|
||||
$func = $addon . '_plugin_admin';
|
||||
$func($a, $admin_form);
|
||||
}
|
||||
|
||||
|
@ -1798,20 +1798,20 @@ function admin_page_plugins(App $a)
|
|||
|
||||
return replace_macros($t, [
|
||||
'$title' => t('Administration'),
|
||||
'$page' => t('Plugins'),
|
||||
'$page' => t('Addons'),
|
||||
'$toggle' => t('Toggle'),
|
||||
'$settings' => t('Settings'),
|
||||
'$baseurl' => System::baseUrl(true),
|
||||
|
||||
'$plugin' => $plugin,
|
||||
'$addon' => $addon,
|
||||
'$status' => $status,
|
||||
'$action' => $action,
|
||||
'$info' => Addon::getInfo($plugin),
|
||||
'$info' => Addon::getInfo($addon),
|
||||
'$str_author' => t('Author: '),
|
||||
'$str_maintainer' => t('Maintainer: '),
|
||||
|
||||
'$admin_form' => $admin_form,
|
||||
'$function' => 'plugins',
|
||||
'$function' => 'addons',
|
||||
'$screenshot' => '',
|
||||
'$readme' => $readme,
|
||||
|
||||
|
@ -1820,36 +1820,36 @@ function admin_page_plugins(App $a)
|
|||
}
|
||||
|
||||
/*
|
||||
* List plugins
|
||||
* List addons
|
||||
*/
|
||||
if (x($_GET, "a") && $_GET['a'] == "r") {
|
||||
check_form_security_token_redirectOnErr(System::baseUrl() . '/admin/plugins', 'admin_themes', 't');
|
||||
check_form_security_token_redirectOnErr(System::baseUrl() . '/admin/addons', 'admin_themes', 't');
|
||||
Addon::reload();
|
||||
info("Plugins reloaded");
|
||||
goaway(System::baseUrl() . '/admin/plugins');
|
||||
info("Addons reloaded");
|
||||
goaway(System::baseUrl() . '/admin/addons');
|
||||
}
|
||||
|
||||
$plugins = [];
|
||||
$addons = [];
|
||||
$files = glob("addon/*/");
|
||||
if (is_array($files)) {
|
||||
foreach ($files as $file) {
|
||||
if (is_dir($file)) {
|
||||
list($tmp, $id) = array_map("trim", explode("/", $file));
|
||||
$info = Addon::getInfo($id);
|
||||
$show_plugin = true;
|
||||
$show_addon = true;
|
||||
|
||||
// If the addon is unsupported, then only show it, when it is enabled
|
||||
if ((strtolower($info["status"]) == "unsupported") && !in_array($id, $a->plugins)) {
|
||||
$show_plugin = false;
|
||||
if ((strtolower($info["status"]) == "unsupported") && !in_array($id, $a->addons)) {
|
||||
$show_addon = false;
|
||||
}
|
||||
|
||||
// Override the above szenario, when the admin really wants to see outdated stuff
|
||||
if (Config::get("system", "show_unsupported_addons")) {
|
||||
$show_plugin = true;
|
||||
$show_addon = true;
|
||||
}
|
||||
|
||||
if ($show_plugin) {
|
||||
$plugins[] = [$id, (in_array($id, $a->plugins) ? "on" : "off"), $info];
|
||||
if ($show_addon) {
|
||||
$addons[] = [$id, (in_array($id, $a->addons) ? "on" : "off"), $info];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1858,14 +1858,14 @@ function admin_page_plugins(App $a)
|
|||
$t = get_markup_template('admin/plugins.tpl');
|
||||
return replace_macros($t, [
|
||||
'$title' => t('Administration'),
|
||||
'$page' => t('Plugins'),
|
||||
'$page' => t('Addons'),
|
||||
'$submit' => t('Save Settings'),
|
||||
'$reload' => t('Reload active plugins'),
|
||||
'$reload' => t('Reload active addons'),
|
||||
'$baseurl' => System::baseUrl(true),
|
||||
'$function' => 'plugins',
|
||||
'$plugins' => $plugins,
|
||||
'$pcount' => count($plugins),
|
||||
'$noplugshint' => t('There are currently no plugins available on your node. You can find the official plugin repository at %1$s and might find other interesting plugins in the open plugin registry at %2$s', 'https://github.com/friendica/friendica-addons', 'http://addons.friendi.ca'),
|
||||
'$function' => 'addons',
|
||||
'$addons' => $addons,
|
||||
'$pcount' => count($addons),
|
||||
'$noplugshint' => t('There are currently no addons available on your node. You can find the official addon repository at %1$s and might find other interesting addons in the open addon registry at %2$s', 'https://github.com/friendica/friendica-addons', 'http://addons.friendi.ca'),
|
||||
'$form_security_token' => get_form_security_token("admin_themes"),
|
||||
]);
|
||||
}
|
||||
|
@ -1940,7 +1940,7 @@ function rebuild_theme_table($themes)
|
|||
* themes is generated.
|
||||
*
|
||||
* The template used for displaying the list of themes and the details of the
|
||||
* themes are the same as used for the plugins.
|
||||
* themes are the same as used for the addons.
|
||||
*
|
||||
* The returned string contains the HTML code of the admin panel page.
|
||||
*
|
||||
|
@ -2071,7 +2071,7 @@ function admin_page_themes(App $a)
|
|||
'$toggle' => t('Toggle'),
|
||||
'$settings' => t('Settings'),
|
||||
'$baseurl' => System::baseUrl(true),
|
||||
'$plugin' => $theme,
|
||||
'$addon' => $theme,
|
||||
'$status' => $status,
|
||||
'$action' => $action,
|
||||
'$info' => Theme::getInfo($theme),
|
||||
|
@ -2103,9 +2103,9 @@ function admin_page_themes(App $a)
|
|||
* List themes
|
||||
*/
|
||||
|
||||
$plugins = [];
|
||||
$addons = [];
|
||||
foreach ($themes as $th) {
|
||||
$plugins[] = [$th['name'], (($th['allowed']) ? "on" : "off"), Theme::getInfo($th['name'])];
|
||||
$addons[] = [$th['name'], (($th['allowed']) ? "on" : "off"), Theme::getInfo($th['name'])];
|
||||
}
|
||||
|
||||
$t = get_markup_template('admin/plugins.tpl');
|
||||
|
@ -2116,7 +2116,7 @@ function admin_page_themes(App $a)
|
|||
'$reload' => t('Reload active themes'),
|
||||
'$baseurl' => System::baseUrl(true),
|
||||
'$function' => 'themes',
|
||||
'$plugins' => $plugins,
|
||||
'$addons' => $addons,
|
||||
'$pcount' => count($themes),
|
||||
'$noplugshint' => t('No themes found on the system. They should be placed in %1$s', '<code>/view/themes</code>'),
|
||||
'$experimental' => t('[Experimental]'),
|
||||
|
|
|
@ -26,12 +26,12 @@ function friendica_init(App $a) {
|
|||
$admin = false;
|
||||
}
|
||||
|
||||
$visible_plugins = [];
|
||||
if (is_array($a->plugins) && count($a->plugins)) {
|
||||
$visible_addons = [];
|
||||
if (is_array($a->addons) && count($a->addons)) {
|
||||
$r = q("SELECT * FROM `addon` WHERE `hidden` = 0");
|
||||
if (DBM::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
$visible_plugins[] = $rr['name'];
|
||||
$visible_addons[] = $rr['name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ function friendica_init(App $a) {
|
|||
$data = [
|
||||
'version' => FRIENDICA_VERSION,
|
||||
'url' => System::baseUrl(),
|
||||
'plugins' => $visible_plugins,
|
||||
'addons' => $visible_addons,
|
||||
'locked_features' => $locked_features,
|
||||
'register_policy' => $register_policy[$a->config['register_policy']],
|
||||
'admin' => $admin,
|
||||
|
@ -84,19 +84,19 @@ function friendica_content(App $a) {
|
|||
$o .= t('Suggestions, praise, donations, etc. - please email "Info" at Friendica - dot com');
|
||||
$o .= '</p>' . PHP_EOL;
|
||||
|
||||
$visible_plugins = [];
|
||||
if (is_array($a->plugins) && count($a->plugins)) {
|
||||
$visible_addons = [];
|
||||
if (is_array($a->addons) && count($a->addons)) {
|
||||
$r = q("SELECT * FROM `addon` WHERE `hidden` = 0");
|
||||
if (DBM::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
$visible_plugins[] = $rr['name'];
|
||||
$visible_addons[] = $rr['name'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($visible_plugins)) {
|
||||
$o .= '<p>' . t('Installed plugins/addons/apps:') . '</p>' . PHP_EOL;
|
||||
$sorted = $visible_plugins;
|
||||
if (count($visible_addons)) {
|
||||
$o .= '<p>' . t('Installed addons/addons/apps:') . '</p>' . PHP_EOL;
|
||||
$sorted = $visible_addons;
|
||||
$s = '';
|
||||
sort($sorted);
|
||||
foreach ($sorted as $p) {
|
||||
|
@ -109,7 +109,7 @@ function friendica_content(App $a) {
|
|||
}
|
||||
$o .= '<div style="margin-left: 25px; margin-right: 25px;">' . $s . '</div>' . PHP_EOL;
|
||||
} else {
|
||||
$o .= '<p>' . t('No installed plugins/addons/apps') . '</p>' . PHP_EOL;
|
||||
$o .= '<p>' . t('No installed addons/addons/apps') . '</p>' . PHP_EOL;
|
||||
}
|
||||
|
||||
$blocklist = Config::get('system', 'blocklist');
|
||||
|
|
|
@ -731,7 +731,7 @@ function item_post(App $a) {
|
|||
$datarray['object'] = $object;
|
||||
|
||||
/*
|
||||
* These fields are for the convenience of plugins...
|
||||
* These fields are for the convenience of addons...
|
||||
* 'self' if true indicates the owner is posting on their own wall
|
||||
* If parent is 0 it is a top-level post.
|
||||
*/
|
||||
|
@ -776,7 +776,7 @@ function item_post(App $a) {
|
|||
Addon::callHooks('post_local',$datarray);
|
||||
|
||||
if (x($datarray, 'cancel')) {
|
||||
logger('mod_item: post cancelled by plugin.');
|
||||
logger('mod_item: post cancelled by addon.');
|
||||
if ($return_path) {
|
||||
goaway($return_path);
|
||||
}
|
||||
|
|
|
@ -152,22 +152,22 @@ function nodeinfo_cron() {
|
|||
|
||||
$a = get_app();
|
||||
|
||||
// If the plugin 'statistics_json' is enabled then disable it and actrivate nodeinfo.
|
||||
// If the addon 'statistics_json' is enabled then disable it and actrivate nodeinfo.
|
||||
if (Addon::isEnabled('statistics_json')) {
|
||||
Config::set('system', 'nodeinfo', true);
|
||||
|
||||
$plugin = 'statistics_json';
|
||||
$plugins = Config::get('system', 'addon');
|
||||
$plugins_arr = [];
|
||||
$addon = 'statistics_json';
|
||||
$addons = Config::get('system', 'addon');
|
||||
$addons_arr = [];
|
||||
|
||||
if ($plugins) {
|
||||
$plugins_arr = explode(',',str_replace(' ', '',$plugins));
|
||||
if ($addons) {
|
||||
$addons_arr = explode(',',str_replace(' ', '',$addons));
|
||||
|
||||
$idx = array_search($plugin, $plugins_arr);
|
||||
$idx = array_search($addon, $addons_arr);
|
||||
if ($idx !== false) {
|
||||
unset($plugins_arr[$idx]);
|
||||
Addon::uninstall($plugin);
|
||||
Config::set('system', 'addon', implode(', ',$plugins_arr));
|
||||
unset($addons_arr[$idx]);
|
||||
Addon::uninstall($addon);
|
||||
Config::set('system', 'addon', implode(', ',$addons_arr));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb.
|
||||
* parent is a special argument which let's you attach this activity as a comment to an existing conversation, which
|
||||
* may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the more pokes
|
||||
* plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.
|
||||
* addon version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.
|
||||
*
|
||||
* private creates a private conversation with the recipient. Otherwise your profile's default post privacy is used.
|
||||
*
|
||||
|
|
|
@ -77,7 +77,7 @@ function settings_init(App $a)
|
|||
];
|
||||
|
||||
$tabs[] = [
|
||||
'label' => t('Plugins'),
|
||||
'label' => t('Addons'),
|
||||
'url' => 'settings/addon',
|
||||
'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
|
||||
'accesskey' => 'l',
|
||||
|
@ -751,7 +751,7 @@ function settings_content(App $a)
|
|||
|
||||
$r = q("SELECT * FROM `hook` WHERE `hook` = 'plugin_settings' ");
|
||||
if (!DBM::is_result($r)) {
|
||||
$settings_addons = t('No Plugin settings configured');
|
||||
$settings_addons = t('No Addon settings configured');
|
||||
}
|
||||
|
||||
Addon::callHooks('plugin_settings', $settings_addons);
|
||||
|
@ -760,7 +760,7 @@ function settings_content(App $a)
|
|||
$tpl = get_markup_template('settings/addons.tpl');
|
||||
$o .= replace_macros($tpl, [
|
||||
'$form_security_token' => get_form_security_token("settings_addon"),
|
||||
'$title' => t('Plugin Settings'),
|
||||
'$title' => t('Addon Settings'),
|
||||
'$settings_addons' => $settings_addons
|
||||
]);
|
||||
return $o;
|
||||
|
|
|
@ -56,8 +56,8 @@ class App
|
|||
public $hooks;
|
||||
public $timezone;
|
||||
public $interactive = true;
|
||||
public $plugins;
|
||||
public $plugins_admin = [];
|
||||
public $addons;
|
||||
public $addons_admin = [];
|
||||
public $apps = [];
|
||||
public $identities;
|
||||
public $is_mobile = false;
|
||||
|
|
|
@ -969,7 +969,7 @@ class GContact
|
|||
/**
|
||||
* @brief Fetches users of given GNU Social server
|
||||
*
|
||||
* If the "Statistics" plugin is enabled (See http://gstools.org/ for details) we query user data with this.
|
||||
* If the "Statistics" addon is enabled (See http://gstools.org/ for details) we query user data with this.
|
||||
*
|
||||
* @param string $server Server address
|
||||
* @return void
|
||||
|
|
|
@ -390,7 +390,7 @@ class User
|
|||
$photo = avatar_img($email);
|
||||
}
|
||||
|
||||
// unless there is no avatar-plugin loaded
|
||||
// unless there is no avatar-addon loaded
|
||||
if (strlen($photo)) {
|
||||
$photo_failure = false;
|
||||
|
||||
|
|
|
@ -89,9 +89,9 @@ class Login extends BaseModule
|
|||
];
|
||||
|
||||
/*
|
||||
* A plugin indicates successful login by setting 'authenticated' to non-zero value and returning a user record
|
||||
* Plugins should never set 'authenticated' except to indicate success - as hooks may be chained
|
||||
* and later plugins should not interfere with an earlier one that succeeded.
|
||||
* An addon indicates successful login by setting 'authenticated' to non-zero value and returning a user record
|
||||
* Addons should never set 'authenticated' except to indicate success - as hooks may be chained
|
||||
* and later addons should not interfere with an earlier one that succeeded.
|
||||
*/
|
||||
Addon::callHooks('authenticate', $addon_auth);
|
||||
|
||||
|
|
|
@ -759,10 +759,10 @@ class Post extends BaseObject
|
|||
$qc = $qcomment = null;
|
||||
|
||||
/*
|
||||
* Hmmm, code depending on the presence of a particular plugin?
|
||||
* Hmmm, code depending on the presence of a particular addon?
|
||||
* This should be better if done by a hook
|
||||
*/
|
||||
if (in_array('qcomment', $a->plugins)) {
|
||||
if (in_array('qcomment', $a->addons)) {
|
||||
$qc = ((local_user()) ? PConfig::get(local_user(), 'qcomment', 'words') : null);
|
||||
$qcomment = (($qc) ? explode("\n", $qc) : null);
|
||||
}
|
||||
|
|
16
update.php
16
update.php
|
@ -85,21 +85,21 @@ function update_1191() {
|
|||
Config::set('system', 'maintenance', 1);
|
||||
|
||||
if (Addon::isEnabled('forumlist')) {
|
||||
$plugin = 'forumlist';
|
||||
$plugins = Config::get('system','addon');
|
||||
$plugins_arr = [];
|
||||
$addon = 'forumlist';
|
||||
$addons = Config::get('system', 'addon');
|
||||
$addons_arr = [];
|
||||
|
||||
if ($plugins) {
|
||||
$plugins_arr = explode(",",str_replace(" ", "",$plugins));
|
||||
if ($addons) {
|
||||
$addons_arr = explode(",",str_replace(" ", "", $addons));
|
||||
|
||||
$idx = array_search($plugin, $plugins_arr);
|
||||
$idx = array_search($addon, $addons_arr);
|
||||
if ($idx !== false){
|
||||
unset($plugins_arr[$idx]);
|
||||
unset($addons_arr[$idx]);
|
||||
//delete forumlist manually from addon and hook table
|
||||
// since Addon::uninstall() don't work here
|
||||
q("DELETE FROM `addon` WHERE `name` = 'forumlist' ");
|
||||
q("DELETE FROM `hook` WHERE `file` = 'addon/forumlist/forumlist.php' ");
|
||||
Config::set('system','addon', implode(", ",$plugins_arr));
|
||||
Config::set('system','addon', implode(", ", $addons_arr));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -386,12 +386,12 @@ $a->strings["Contacts who are not members of a group"] = "";
|
|||
$a->strings["Theme settings updated."] = "";
|
||||
$a->strings["Site"] = "";
|
||||
$a->strings["Users"] = "";
|
||||
$a->strings["Plugins"] = "";
|
||||
$a->strings["Addons"] = "";
|
||||
$a->strings["Themes"] = "";
|
||||
$a->strings["DB updates"] = "";
|
||||
$a->strings["Logs"] = "";
|
||||
$a->strings["Admin"] = "";
|
||||
$a->strings["Plugin Features"] = "";
|
||||
$a->strings["Addon Features"] = "";
|
||||
$a->strings["User registrations waiting for confirmation"] = "";
|
||||
$a->strings["Normal Account"] = "";
|
||||
$a->strings["Soapbox Account"] = "";
|
||||
|
@ -405,7 +405,7 @@ $a->strings["Summary"] = "";
|
|||
$a->strings["Registered users"] = "";
|
||||
$a->strings["Pending registrations"] = "";
|
||||
$a->strings["Version"] = "";
|
||||
$a->strings["Active plugins"] = "";
|
||||
$a->strings["Active addons"] = "";
|
||||
$a->strings["Can not parse base url. Must have at least <scheme>://<domain>"] = "";
|
||||
$a->strings["Site settings updated."] = "";
|
||||
$a->strings["No special theme for mobile devices"] = "";
|
||||
|
@ -579,8 +579,8 @@ $a->strings["Name of the new user."] = "";
|
|||
$a->strings["Nickname"] = "";
|
||||
$a->strings["Nickname of the new user."] = "";
|
||||
$a->strings["Email address of the new user."] = "";
|
||||
$a->strings["Plugin %s disabled."] = "";
|
||||
$a->strings["Plugin %s enabled."] = "";
|
||||
$a->strings["Addon %s disabled."] = "";
|
||||
$a->strings["Addon %s enabled."] = "";
|
||||
$a->strings["Disable"] = "";
|
||||
$a->strings["Enable"] = "";
|
||||
$a->strings["Toggle"] = "";
|
||||
|
@ -812,8 +812,8 @@ $a->strings["Connected Apps"] = "";
|
|||
$a->strings["Client key starts with"] = "";
|
||||
$a->strings["No name"] = "";
|
||||
$a->strings["Remove authorization"] = "";
|
||||
$a->strings["No Plugin settings configured"] = "";
|
||||
$a->strings["Plugin Settings"] = "";
|
||||
$a->strings["No Addon settings configured"] = "";
|
||||
$a->strings["Addon Settings"] = "";
|
||||
$a->strings["Off"] = "";
|
||||
$a->strings["On"] = "";
|
||||
$a->strings["Additional Features"] = "";
|
||||
|
@ -1128,8 +1128,8 @@ $a->strings["running at web location"] = "";
|
|||
$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = "";
|
||||
$a->strings["Bug reports and issues: please visit"] = "";
|
||||
$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = "";
|
||||
$a->strings["Installed plugins/addons/apps:"] = "";
|
||||
$a->strings["No installed plugins/addons/apps"] = "";
|
||||
$a->strings["Installed addons/addons/apps:"] = "";
|
||||
$a->strings["No installed addons/addons/apps"] = "";
|
||||
$a->strings["Authorize application connection"] = "";
|
||||
$a->strings["Return to your app and insert this Securty Code:"] = "";
|
||||
$a->strings["Please login to continue."] = "";
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
{{/if}}
|
||||
|
||||
|
||||
{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
{{if $admin.addons_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
<ul class='admin linklist'>
|
||||
{{foreach $admin.plugins_admin as $l}}
|
||||
{{foreach $admin.addons_admin as $l}}
|
||||
<li class='admin link button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
{{else}}
|
||||
<a class="btn" href="{{$baseurl}}/admin/{{$function}}?a=r&t={{$form_security_token}}">{{$reload}}</a>
|
||||
<ul id='pluginslist'>
|
||||
{{foreach $plugins as $p}}
|
||||
{{foreach $addons as $p}}
|
||||
<li class='plugin {{$p.1}}'>
|
||||
<a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><span class='icon {{$p.1}}'></span></a>
|
||||
<a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div id='adminpage'>
|
||||
<h1>{{$title}} - {{$page}}</h1>
|
||||
|
||||
<p><span class='toggleplugin icon {{$status}}'></span> {{$info.name}} - {{$info.version}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&t={{$form_security_token}}">{{$action}}</a></p>
|
||||
<p><span class='toggleplugin icon {{$status}}'></span> {{$info.name}} - {{$info.version}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$addon}}/?a=t&t={{$form_security_token}}">{{$action}}</a></p>
|
||||
<p>{{$info.description}}</p>
|
||||
|
||||
<p class="author">{{$str_author}}
|
||||
|
@ -23,7 +23,7 @@
|
|||
|
||||
{{if $admin_form}}
|
||||
<h3>{{$settings}}</h3>
|
||||
<form method="post" action="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/">
|
||||
<form method="post" action="{{$baseurl}}/admin/{{$function}}/{{$addon}}/">
|
||||
{{$admin_form}}
|
||||
</form>
|
||||
{{/if}}
|
||||
|
|
|
@ -31,10 +31,10 @@
|
|||
|
||||
|
||||
<dl>
|
||||
<dt>{{$plugins.0}}</dt>
|
||||
<dt>{{$addons.0}}</dt>
|
||||
|
||||
{{foreach $plugins.1 as $p}}
|
||||
<dd><a href="/admin/plugins/{{$p}}/">{{$p}}</a></dd>
|
||||
{{foreach $addons.1 as $p}}
|
||||
<dd><a href="/admin/addons/{{$p}}/">{{$p}}</a></dd>
|
||||
{{/foreach}}
|
||||
|
||||
</dl>
|
||||
|
|
|
@ -37,11 +37,11 @@
|
|||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{if $admin.plugins_admin}}
|
||||
{{if $admin.addons_admin}}
|
||||
<div class="widget">
|
||||
<h3>{{$plugadmtxt}}</h3>
|
||||
<ul role="menu">
|
||||
{{foreach $admin.plugins_admin as $name => $item}}
|
||||
{{foreach $admin.addons_admin as $name => $item}}
|
||||
<li role="menuitem" class="{{$item.2}}">
|
||||
<a href="{{$item.0}}" {{if $item.accesskey}}accesskey="{{$item.accesskey}}"{{/if}}>
|
||||
{{$item.1}}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<ul class='admin linklist'>
|
||||
<li class='admin button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li>
|
||||
<li class='admin button {{$admin.users.2}}'><a href='{{$admin.users.0}}'>{{$admin.users.1}}</a><span id='pending-update' title='{{$h_pending}}'></span></li>
|
||||
<li class='admin button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
|
||||
<li class='admin button {{$admin.addons.2}}'><a href='{{$admin.addons.0}}'>{{$admin.addons.1}}</a></li>
|
||||
<li class='admin button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
|
||||
<li class='admin button {{$admin.dbsync.2}}'><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
|
||||
</ul>
|
||||
|
@ -17,9 +17,9 @@
|
|||
{{/if}}
|
||||
|
||||
|
||||
{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
{{if $admin.addons_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
<ul class='admin linklist'>
|
||||
{{foreach $admin.plugins_admin as $l}}
|
||||
{{foreach $admin.addons_admin as $l}}
|
||||
<li class='admin button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<ul class='admin linklist'>
|
||||
<li class='admin button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li>
|
||||
<li class='admin button {{$admin.users.2}}'><a href='{{$admin.users.0}}'>{{$admin.users.1}}</a><span id='pending-update' title='{{$h_pending}}'></span></li>
|
||||
<li class='admin button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
|
||||
<li class='admin button {{$admin.addons.2}}'><a href='{{$admin.addons.0}}'>{{$admin.addons.1}}</a></li>
|
||||
<li class='admin button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
|
||||
<li class='admin button {{$admin.dbsync.2}}'><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
|
||||
</ul>
|
||||
|
@ -17,9 +17,9 @@
|
|||
{{/if}}
|
||||
|
||||
|
||||
{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
{{if $admin.addons_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}}
|
||||
<ul class='admin linklist'>
|
||||
{{foreach $admin.plugins_admin as $l}}
|
||||
{{foreach $admin.addons_admin as $l}}
|
||||
<li class='admin button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
|
|
Loading…
Reference in a new issue