some preliminary structural work for app organisation

This commit is contained in:
redmatrix 2016-05-03 18:41:16 -07:00
parent dccdeedb75
commit 3df0bb5522
6 changed files with 37 additions and 7 deletions

View File

@ -49,7 +49,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '1.4.4' );
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1167 );
define ( 'DB_UPDATE_VERSION', 1168 );
/**

View File

@ -25,8 +25,8 @@ We need much more than this, but here are areas where developers can help. Pleas
[li](less advanced) create a way to preview Comanche results on a preview page while editing on another page[/li]
[li]External post connectors - create standard interface[/li]
[li]External post connectors, add popular services[/li]
[li](in progress Habeas Codice) service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
[li](in progress Habeas Codice) service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
[li]service classes - provide a pluggable subscription payment gateway for premium accounts[/li]
[li]service classes - account overview page showing resources consumed by channel. With special consideration this page can also be accessed at a meta level by the site admin to drill down on problematic accounts/channels.[/li]
[li]implement CalDAV/CardDAV sync[/li]
[li]Uploads - integrate #^[url=https://github.com/blueimp/jQuery-File-Upload]https://github.com/blueimp/jQuery-File-Upload[/url][/li]
[li]API extensions, for Twitter API - search, friending, threading. For Red API, lots of stuff[/li]
@ -36,7 +36,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Customisable App collection pages[/li]
[li]replace the tinymce visual editor and/or make the visual editor pluggable and responsive to different output formats. We probably want library/bbedit for bbcode. This needs a fair bit of work to catch up with our "enhanced bbcode", but start with images, links, bold and highlight and work from there.[/li]
[li]Create mobile clients for the top platforms - which involves extending the API so that we can do stuff far beyond the current crop of Twitter/Statusnet clients. Ditto for mobile themes. We can probably use something like the Friendica Android app as a base to start from.[/li]
[li](in progress Habeas Codice) Implement owned and exchangeable "things".[/li]
[li]Implement owned and exchangeable "things".[/li]
[li]Family Account creation - using service classes (an account holder can create a certain number of sub-accounts which are all tied to their subscription - if the subscription lapses they all go away).[/li]

View File

@ -316,8 +316,13 @@ function app_installed($uid,$app) {
}
function app_list($uid) {
$r = q("select * from app where app_channel = %d order by app_name asc",
function app_list($uid, $deleted = false) {
if($deleted)
$sql_extra = " and app_deleted = 1 ";
else
$sql_extra = " and app_deleted = 0 ";
$r = q("select * from app where app_channel = %d $sql_extra order by app_name asc",
intval($uid)
);
if($r) {

View File

@ -123,6 +123,8 @@ CREATE TABLE IF NOT EXISTS `app` (
`app_price` char(255) NOT NULL DEFAULT '',
`app_page` char(255) NOT NULL DEFAULT '',
`app_requires` char(255) NOT NULL DEFAULT '',
`app_deleted` int(11) NOT NULL DEFAULT '0',
`app_system` int(11) NOT NULL DEFAULT '0',
`app_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`app_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
@ -134,6 +136,8 @@ CREATE TABLE IF NOT EXISTS `app` (
KEY `app_channel` (`app_channel`),
KEY `app_price` (`app_price`),
KEY `app_created` (`app_created`),
KEY `app_deleted` (`app_deleted`),
KEY `app_system` (`app_system`),
KEY `app_edited` (`app_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

View File

@ -120,6 +120,8 @@ CREATE TABLE "app" (
"app_price" text NOT NULL DEFAULT '',
"app_page" text NOT NULL DEFAULT '',
"app_requires" text NOT NULL DEFAULT '',
"app_deleted" smallint NOT NULL DEFAULT '0',
"app_system" smallint NOT NULL DEFAULT '0',
"app_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"app_edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ("id")
@ -133,6 +135,8 @@ create index "app_channel" on app ("app_channel");
create index "app_price" on app ("app_price");
create index "app_created" on app ("app_created");
create index "app_edited" on app ("app_edited");
create index "app_deleted" on app ("app_deleted");
create index "app_system" on app ("app_system");
CREATE TABLE "attach" (
"id" serial NOT NULL,
"aid" bigint NOT NULL DEFAULT '0',

View File

@ -1,6 +1,6 @@
<?php
define( 'UPDATE_VERSION' , 1167 );
define( 'UPDATE_VERSION' , 1168 );
/**
*
@ -2079,4 +2079,21 @@ function update_r1166() {
return UPDATE_FAILED;
}
function update_r1167() {
$r1 = q("alter table app add app_deleted int not null default '0' ");
$r2 = q("alter table app add app_system int not null default '0' ");
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r3 = q("create index \"app_deleted_idx\" on app (\"app_deleted\") ");
$r4 = q("create index \"app_system_idx\" on app (\"app_system\") ");
}
else {
$r3 = q("alter table app add index ( app_deleted ) ");
$r4 = q("alter table app add index ( app_system ) ");
}
if($r1 && $r2 && $r3 && $r4)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}