$GLOBALS['homepageOrdercustomhtml'],
"homepageOrdernotice" => $GLOBALS['homepageOrdernotice'],
"homepageOrderplexsearch" => $GLOBALS['homepageOrderplexsearch'],
"homepageOrderspeedtest" => $GLOBALS['homepageOrderspeedtest'],
"homepageOrdernzbget" => $GLOBALS['homepageOrdernzbget'],
"homepageOrdersabnzbd" => $GLOBALS['homepageOrdersabnzbd'],
"homepageOrderplexnowplaying" => $GLOBALS['homepageOrderplexnowplaying'],
"homepageOrderplexrecent" => $GLOBALS['homepageOrderplexrecent'],
"homepageOrderplexplaylist" => $GLOBALS['homepageOrderplexplaylist'],
"homepageOrderembynowplaying" => $GLOBALS['homepageOrderembynowplaying'],
"homepageOrderembyrecent" => $GLOBALS['homepageOrderembyrecent'],
"homepageOrderombi" => $GLOBALS['homepageOrderombi'],
"homepageOrdercalendar" => $GLOBALS['homepageOrdercalendar'],
"homepageOrdernoticeguest" => $GLOBALS['homepageOrdernoticeguest'],
"homepageOrdertransmission" => $GLOBALS['homepageOrdertransmission'],
"homepageOrderqBittorrent" => $GLOBALS['homepageOrderqBittorrent'],
"homepageOrderdeluge" => $GLOBALS['homepageOrderdeluge'],
);
asort($homepageOrder);
return $homepageOrder;
}
function buildHomepage(){
$homepageOrder = homepageOrder();
$homepageBuilt = '';
foreach ($homepageOrder as $key => $value) {
$homepageBuilt .= buildHomepageItem($key);
}
return $homepageBuilt;
}
function buildHomepageItem($homepageItem){
$item = '
';
switch ($homepageItem) {
case 'homepageOrderplexsearch':
break;
case 'homepageOrdercustomhtml':
break;
case 'homepageOrdernotice':
break;
case 'homepageOrdernoticeguest':
break;
case 'homepageOrderspeedtest':
break;
case 'homepageOrderqBittorrent':
if($GLOBALS['homepageqBittorrentEnabled']){
$item .= '
';
}
break;
case 'homepageOrderdeluge':
if($GLOBALS['homepageDelugeEnabled']){
$item .= '
';
}
break;
case 'homepageOrdertransmission':
if($GLOBALS['homepageTransmissionEnabled']){
$item .= '
';
}
break;
case 'homepageOrdernzbget':
if($GLOBALS['homepageNzbgetEnabled']){
$item .= '
';
}
break;
case 'homepageOrdersabnzbd':
if($GLOBALS['homepageSabnzbdEnabled']){
$item .= '
';
}
break;
case 'homepageOrderplexnowplaying':
if($GLOBALS['homepagePlexStreams']){
$item .= '
';
}
break;
case 'homepageOrderplexrecent':
if($GLOBALS['homepagePlexRecent']){
$item .= '
';
}
break;
case 'homepageOrderplexplaylist':
break;
case 'homepageOrderembynowplaying':
if($GLOBALS['homepageEmbyStreams']){
$item .= '
';
}
break;
case 'homepageOrderembyrecent':
if($GLOBALS['homepageEmbyRecent']){
$item .= '
';
}
break;
case 'homepageOrderombi':
break;
case 'homepageOrdercalendar':
$item .= '
';
break;
default:
# code...
break;
}
return $item.'
';
}
function getHomepageList(){
$groups = groupSelect();
$time = array(
array(
'name' => '5',
'value' => '5000'
),
array(
'name' => '10',
'value' => '10000'
),
array(
'name' => '15',
'value' => '15000'
),
array(
'name' => '30',
'value' => '30000'
),
array(
'name' => '60 [1 Minute]',
'value' => '60000'
),
array(
'name' => '300 [5 Minutes]',
'value' => '300000'
),
array(
'name' => '900 [15 Minutes]',
'value' => '900000'
),
array(
'name' => '1800 [30 Minutes]',
'value' => '1800000'
),
array(
'name' => '3600 [1 Hour]',
'value' => '3600000'
),
);
$limit = array(
array(
'name' => '1 Item',
'value' => '1'
),
array(
'name' => '2 Items',
'value' => '2'
),
array(
'name' => '3 Items',
'value' => '3'
),
array(
'name' => '4 Items',
'value' => '4'
),
array(
'name' => '5 Items',
'value' => '5'
),
array(
'name' => '6 Items',
'value' => '6'
),
array(
'name' => '7 Items',
'value' => '7'
),
array(
'name' => '8 Items',
'value' => '8'
),
array(
'name' => 'Unlimited',
'value' => '1000'
),
);
$day = array(
array(
'name' => 'Sunday',
'value' => '0'
),
array(
'name' => 'Monday',
'value' => '1'
),
array(
'name' => 'Tueday',
'value' => '2'
),
array(
'name' => 'Wednesday',
'value' => '3'
),
array(
'name' => 'Thursday',
'value' => '4'
),
array(
'name' => 'Friday',
'value' => '5'
),
array(
'name' => 'Saturday',
'value' => '6'
)
);
$calendarDefault = array(
array(
'name' => 'Month',
'value' => 'month'
),
array(
'name' => 'Day',
'value' => 'basicDay'
),
array(
'name' => 'Week',
'value' => 'basicWeek'
)
);
$timeFormat = array(
array(
'name' => '6p',
'value' => 'h(:mm)t'
),
array(
'name' => '6:00p',
'value' => 'h:mmt'
),
array(
'name' => '6:00',
'value' => 'h:mm'
),
array(
'name' => '18',
'value' => 'H(:mm)'
),
array(
'name' => '18:00',
'value' => 'H:mm'
)
);
$qBittorrentSortOptions = array(
array(
'name' => 'Hash',
'value' => 'hash'
),
array(
'name' => 'Name',
'value' => 'name'
),
array(
'name' => 'Size',
'value' => 'size'
),
array(
'name' => 'Progress',
'value' => 'progress'
),
array(
'name' => 'Download Speed',
'value' => 'dlspeed'
),
array(
'name' => 'Upload Speed',
'value' => 'upspeed'
),
array(
'name' => 'Priority',
'value' => 'priority'
),
array(
'name' => 'Number of Seeds',
'value' => 'num_seeds'
),
array(
'name' => 'Number of Seeds in Swarm',
'value' => 'num_complete'
),
array(
'name' => 'Number of Leechers',
'value' => 'num_leechs'
),
array(
'name' => 'Number of Leechers in Swarm',
'value' => 'num_incomplete'
),
array(
'name' => 'Ratio',
'value' => 'ratio'
),
array(
'name' => 'ETA',
'value' => 'eta'
),
array(
'name' => 'State',
'value' => 'state'
),
array(
'name' => 'Category',
'value' => 'category'
)
);
return array(
array(
'name' => 'Plex',
'enabled' => true,
'image' => 'plugins/images/tabs/plex.png',
'category' => 'Media Server',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepagePlexEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepagePlexEnabled']
),
array(
'type' => 'select',
'name' => 'homepagePlexAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepagePlexAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'plexURL',
'label' => 'URL',
'value' => $GLOBALS['plexURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'plexToken',
'label' => 'Token',
'value' => $GLOBALS['plexToken']
),
array(
'type' => 'input',
'name' => 'plexID',
'label' => 'Plex Machine',
'value' => $GLOBALS['plexID']
)
),
'Active Streams' => array(
array(
'type' => 'switch',
'name' => 'homepagePlexStreams',
'label' => 'Enable',
'value' => $GLOBALS['homepagePlexStreams']
),
array(
'type' => 'select',
'name' => 'homepagePlexStreamsAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepagePlexStreamsAuth'],
'options' => $groups
),
array(
'type' => 'switch',
'name' => 'homepageShowStreamNames',
'label' => 'User Information',
'value' => $GLOBALS['homepageShowStreamNames']
),
array(
'type' => 'select',
'name' => 'homepageShowStreamNamesAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepageShowStreamNamesAuth'],
'options' => $groups
),
array(
'type' => 'select',
'name' => 'homepageStreamRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageStreamRefresh'],
'options' => $time
),
),
'Recent Items' => array(
array(
'type' => 'switch',
'name' => 'homepagePlexRecent',
'label' => 'Enable',
'value' => $GLOBALS['homepagePlexRecent']
),
array(
'type' => 'select',
'name' => 'homepagePlexRecentAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepagePlexRecentAuth'],
'options' => $groups
),
array(
'type' => 'select',
'name' => 'homepageRecentRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageRecentRefresh'],
'options' => $time
),
),
'Misc Options' => array(
array(
'type' => 'input',
'name' => 'plexTabName',
'label' => 'Plex Tab Name',
'value' => $GLOBALS['plexTabName'],
'placeholder' => 'Only use if you have Plex in a reverse proxy'
),
array(
'type' => 'input',
'name' => 'plexTabURL',
'label' => 'Plex Tab WAN URL',
'value' => $GLOBALS['plexTabURL'],
'placeholder' => 'http(s)://hostname:port'
)
)
)
),
array(
'name' => 'Emby',
'enabled' => true,
'image' => 'plugins/images/tabs/emby.png',
'category' => 'Media Server',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepageEmbyEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepageEmbyEnabled']
),
array(
'type' => 'select',
'name' => 'homepageEmbyAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepageEmbyAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'embyURL',
'label' => 'URL',
'value' => $GLOBALS['embyURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'embyToken',
'label' => 'Token',
'value' => $GLOBALS['embyToken']
)
),
'Active Streams' => array(
array(
'type' => 'switch',
'name' => 'homepageEmbyStreams',
'label' => 'Enable',
'value' => $GLOBALS['homepageEmbyStreams']
),
array(
'type' => 'select',
'name' => 'homepageEmbyStreamsAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepageEmbyStreamsAuth'],
'options' => $groups
),
array(
'type' => 'switch',
'name' => 'homepageShowStreamNames',
'label' => 'User Information',
'value' => $GLOBALS['homepageShowStreamNames']
),
array(
'type' => 'select',
'name' => 'homepageShowStreamNamesAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepageShowStreamNamesAuth'],
'options' => $groups
),
array(
'type' => 'select',
'name' => 'homepageStreamRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageStreamRefresh'],
'options' => $time
),
),
'Recent Items' => array(
array(
'type' => 'switch',
'name' => 'homepageEmbyRecent',
'label' => 'Enable',
'value' => $GLOBALS['homepageEmbyRecent']
),
array(
'type' => 'select',
'name' => 'homepageEmbyRecentAuth',
'label' => 'Minimum Authorization',
'value' => $GLOBALS['homepageEmbyRecentAuth'],
'options' => $groups
),
array(
'type' => 'select',
'name' => 'homepageRecentRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageRecentRefresh'],
'options' => $time
),
),
'Misc Options' => array(
array(
'type' => 'input',
'name' => 'embyTabName',
'label' => 'Emby Tab Name',
'value' => $GLOBALS['embyTabName'],
'placeholder' => 'Only use if you have Plex in a reverse proxy'
),
array(
'type' => 'input',
'name' => 'embyTabURL',
'label' => 'Emby Tab WAN URL',
'value' => $GLOBALS['embyTabURL'],
'placeholder' => 'http(s)://hostname:port'
)
)
)
),
array(
'name' => 'SabNZBD',
'enabled' => false,
'image' => 'plugins/images/tabs/sabnzbd.png',
'category' => 'Downloader',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepageSabnzbdEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepageSabnzbdEnabled']
),
array(
'type' => 'select',
'name' => 'homepageSabnzbdAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepageSabnzbdAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'sabnzbdURL',
'label' => 'URL',
'value' => $GLOBALS['sabnzbdURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'sabnzbdToken',
'label' => 'Token',
'value' => $GLOBALS['sabnzbdToken']
)
),
'Misc Options' => array(
array(
'type' => 'select',
'name' => 'homepageDownloadRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageDownloadRefresh'],
'options' => $time
)
)
)
),
array(
'name' => 'NZBGet',
'enabled' => false,
'image' => 'plugins/images/tabs/nzbget.png',
'category' => 'Downloader',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepageNzbgetEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepageNzbgetEnabled']
),
array(
'type' => 'select',
'name' => 'homepageNzbgetAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepageNzbgetAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'nzbgetURL',
'label' => 'URL',
'value' => $GLOBALS['nzbgetURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'nzbgetUsername',
'label' => 'Username',
'value' => $GLOBALS['nzbgetUsername']
),
array(
'type' => 'password',
'name' => 'nzbgetPassword',
'label' => 'Password',
'value' => $GLOBALS['nzbgetPassword']
)
),
'Misc Options' => array(
array(
'type' => 'select',
'name' => 'homepageDownloadRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageDownloadRefresh'],
'options' => $time
)
)
)
),
array(
'name' => 'Transmission',
'enabled' => false,
'image' => 'plugins/images/tabs/transmission.png',
'category' => 'Downloader',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepageTransmissionEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepageTransmissionEnabled']
),
array(
'type' => 'select',
'name' => 'homepageTransmissionAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepageTransmissionAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'transmissionURL',
'label' => 'URL',
'value' => $GLOBALS['transmissionURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'transmissionUsername',
'label' => 'Username',
'value' => $GLOBALS['transmissionUsername']
),
array(
'type' => 'password',
'name' => 'transmissionPassword',
'label' => 'Password',
'value' => $GLOBALS['transmissionPassword']
)
),
'Misc Options' => array(
array(
'type' => 'switch',
'name' => 'transmissionHideSeeding',
'label' => 'Hide Seeding',
'value' => $GLOBALS['transmissionHideSeeding']
),array(
'type' => 'switch',
'name' => 'transmissionHideCompleted',
'label' => 'Hide Completed',
'value' => $GLOBALS['transmissionHideCompleted']
),
array(
'type' => 'select',
'name' => 'homepageDownloadRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageDownloadRefresh'],
'options' => $time
)
)
)
),
array(
'name' => 'qBittorrent',
'enabled' => false,
'image' => 'plugins/images/tabs/qBittorrent.png',
'category' => 'Downloader',
'settings' => array(
'Enable' => array(
array(
'type' => 'switch',
'name' => 'homepageqBittorrentEnabled',
'label' => 'Enable',
'value' => $GLOBALS['homepageqBittorrentEnabled']
),
array(
'type' => 'select',
'name' => 'homepageqBittorrentAuth',
'label' => 'Minimum Authentication',
'value' => $GLOBALS['homepageqBittorrentAuth'],
'options' => $groups
)
),
'Connection' => array(
array(
'type' => 'input',
'name' => 'qBittorrentURL',
'label' => 'URL',
'value' => $GLOBALS['qBittorrentURL'],
'placeholder' => 'http(s)://hostname:port'
),
array(
'type' => 'input',
'name' => 'qBittorrentUsername',
'label' => 'Username',
'value' => $GLOBALS['qBittorrentUsername']
),
array(
'type' => 'password',
'name' => 'qBittorrentPassword',
'label' => 'Password',
'value' => $GLOBALS['qBittorrentPassword']
)
),
'Misc Options' => array(
array(
'type' => 'switch',
'name' => 'qBittorrentHideSeeding',
'label' => 'Hide Seeding',
'value' => $GLOBALS['qBittorrentHideSeeding']
),array(
'type' => 'switch',
'name' => 'qBittorrentnHideCompleted',
'label' => 'Hide Completed',
'value' => $GLOBALS['qBittorrentHideCompleted']
),
array(
'type' => 'select',
'name' => 'qBittorrentSortOrder',
'label' => 'Order',
'value' => $GLOBALS['qBittorrentSortOrder'],
'options' => $qBittorrentSortOptions
),array(
'type' => 'switch',
'name' => 'qBittorrentReverseSorting',
'label' => 'Reverse Sorting',
'value' => $GLOBALS['qBittorrentReverseSorting']
),
array(
'type' => 'select',
'name' => 'homepageDownloadRefresh',
'label' => 'Refresh Seconds',
'value' => $GLOBALS['homepageDownloadRefresh'],
'options' => $time
)
)
)
),
array(
'name' => 'Deluge',
'enabled' => false,
'image' => 'plugins/images/tabs/deluge.png',
'category' => 'Downloader',
'settings' => array(
'custom' => '