/** * @param App $a * @param object $b */ function dav_event_updated_hook(&$a, &$b) { dav_include_files(); // @TODO Updating the cache instead of completely invalidating and rebuilding it FriendicaVirtualCalSourceBackend::invalidateCache($a->user["uid"], CALDAV_FRIENDICA_CONTACTS); FriendicaVirtualCalSourceBackend::invalidateCache($a->user["uid"], CALDAV_FRIENDICA_MINE); }
/** * @param App $a * @param string $o */ function dav_plugin_admin(&$a, &$o) { dav_include_files(); require_once __DIR__ . "/database-init.inc.php"; $dbstatus = dav_check_tables(); $o = '<input type="hidden" name="form_security_token" value="' . get_form_security_token("dav_admin_save") . '">'; $o .= '<i>' . t("No system-wide settings yet.") . '</i><br><br>'; $o .= '<h3>' . t('Database status') . '</h3>'; switch ($dbstatus) { case 0: $o .= t('Installed'); break; case 1: case 2: $o .= "<strong>" . t('Upgrade needed') . "</strong><br>" . t("Please back up all calendar data (the tables beginning with dav_*) before proceeding. While all calendar events <i>should</i> be converted to the new database structure, it's always safe to have a backup. Below, you can have a look at the database-queries that will be made when pressing the 'update'-button.") . "<br><br><input type='submit' name='upgrade' value='" . t('Upgrade') . "'>"; break; case -1: $o .= t('Not installed') . "<br><br><input type='submit' name='install' value='" . t('Install') . "'>"; break; case -2: default: $o .= t('Unknown') . "<br><br>" . t("Something really went wrong. I cannot recover from this state automatically, sorry. Please go to the database backend, back up the data, and delete all tables beginning with 'dav_' manually. Afterwards, this installation routine should be able to reinitialize the tables automatically."); break; } $o .= "<br><br>"; $o .= "<h3>" . t("Troubleshooting") . "</h3>"; $o .= "<h4>" . t("Manual creation of the database tables:") . "</h4>"; $o .= "<a href='#' onClick='\$(\"#sqlstatements\").show(); return false;'>" . t("Show SQL-statements") . "</a><blockquote style='display: none;' id='sqlstatements'><pre>"; switch ($dbstatus) { case 1: case 2: $tables = dav_get_update_statements($dbstatus); foreach ($tables as $t) { $o .= escape_tags($t . ";\n\n"); } break; default: $tables = dav_get_create_statements(); foreach ($tables as $t) { $o .= escape_tags($t . ";\n\n"); } break; } $o .= "</pre></blockquote>"; }