diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-06-09 16:52:00 -0700 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-06-09 16:52:00 -0700 |
commit | 03357481f73d506ae36be9858dc757842408c6a9 (patch) | |
tree | a69772d6caf71f4986a26eb80d00ac4e8750b995 /mod/home.php | |
parent | ec1dcb8f2eccfd1a0dfc9c7eccea788a4b385e41 (diff) | |
parent | 805e2a28ee81febee2742587a1640b5fae1387a2 (diff) | |
download | volse-hubzilla-03357481f73d506ae36be9858dc757842408c6a9.tar.gz volse-hubzilla-03357481f73d506ae36be9858dc757842408c6a9.tar.bz2 volse-hubzilla-03357481f73d506ae36be9858dc757842408c6a9.zip |
Merge branch 'master' of https://github.com/redmatrix/redmatrix
Conflicts:
install/schema_mysql.sql
mod/home.php
mod/page.php
view/nl/messages.po
view/nl/strings.php
Diffstat (limited to 'mod/home.php')
-rw-r--r-- | mod/home.php | 254 |
1 files changed, 26 insertions, 228 deletions
diff --git a/mod/home.php b/mod/home.php index 202a4d2d7..b2779051d 100644 --- a/mod/home.php +++ b/mod/home.php @@ -20,7 +20,7 @@ function home_init(&$a) { if(! $dest) $dest = get_config('system','startpage'); if(! $dest) - $dest = z_root() . '/apps'; + $dest = z_root() . '/network'; goaway($dest); } @@ -37,9 +37,6 @@ function home_content(&$a, $update = 0, $load = false) { $o = ''; - if($load) - $_SESSION['loadtime'] = datetime_convert(); - if(x($_SESSION,'theme')) unset($_SESSION['theme']); if(x($_SESSION,'mobile_theme')) @@ -47,238 +44,39 @@ function home_content(&$a, $update = 0, $load = false) { $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false); - if(get_config('system','projecthome')) { - $o .= file_get_contents('assets/home.html'); - $a->page['template'] = 'full'; - $a->page['title'] = t('$Projectname'); + call_hooks('home_content',$o); + if($o) return $o; - } - - - // Deprecated - $channel_address = get_config("system", "site_channel" ); - - // See if the sys channel set a homepage - if (! $channel_address) { - require_once('include/identity.php'); - $u = get_sys_channel(); - if ($u) { - $u = array($u); - // change to channel_id when below deprecated and skip the $u=... - $channel_address = $u[0]['channel_address']; - } - } - - if($channel_address) { - - $page_id = 'home'; - $randpage_id = 'home-%'; - $u = q("select channel_id from channel where channel_address = '%s' limit 1", - dbesc($channel_address) - ); - - $randfunc = db_getfunc('RAND'); - - $r = q("select item.* from item left join item_id on item.id = item_id.iid - where item.uid = %d and ( sid = '%s' or sid like '%s' ) and service = 'WEBPAGE' and - item_type = %d ORDER BY $randfunc limit 1", - intval($u[0]['channel_id']), - dbesc($page_id), - dbesc($randpage_id), - intval(ITEM_WEBPAGE) - ); - - if($r) { - xchan_query($r); - $r = fetch_post_tags($r,true); - - if($r[0]['layout_mid']) { - $l = q("select body from item where mid = '%s' and uid = %d limit 1", - dbesc($r[0]['layout_mid']), - intval($u[0]['channel_id']) - ); - - if($l) { - require_once('include/comanche.php'); - comanche_parser($a,$l[0]['body']); - $a->pdl = $l[0]['body']; - } + $frontpage = get_config('system','frontpage'); + if($frontpage) { + if(strpos($frontpage,'include:') !== false) { + $file = trim(str_replace('include:' , '', $frontpage)); + if(file_exists($file)) { + $a->page['template'] = 'full'; + $a->page['title'] = t('$Projectname'); + $o .= file_get_contents($file); + return $o; } - - $a->profile = array('profile_uid' => $u[0]['channel_id']); - $a->profile_uid = $u[0]['channel_id']; - $o .= prepare_page($r[0]); - return $o; } - } - - // Nope, we didn't find an item. Let's see if there's any html - - if(file_exists('home.html')) { - $o .= file_get_contents('home.html'); - } - else { - $sitename = get_config('system','sitename'); - if($sitename) - $o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>'; - - if(intval(get_config('system','block_public')) && (! local_channel()) && (! remote_channel())) { - // If there's nothing special happening, just spit out a login box - - if (! $a->config['system']['no_login_on_homepage']) - $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1); - return $o; + if(intval(get_config('system','mirror_frontpage'))) { + $o = '<html><head><title>' . t('$Projectname') . '</title></head><body style="margin: 0; padding: 0; border: none;" ><iframe src="' . z_root() . '/' . $frontpage . '" width="100%" height="100%" style="margin: 0; padding: 0; border: none;" ></iframe></body></html>'; + echo $o; + killme(); } - else { - - if(get_config('system','disable_discover_tab')) { - call_hooks('home_content',$o); - return $o; - } - - if(! $update) { - - $maxheight = get_config('system','home_divmore_height'); - if(! $maxheight) - $maxheight = 75; - - $o .= '<div id="live-home"></div>' . "\r\n"; - $o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1)) - . "; var profile_page = " . $a->pager['page'] - . "; divmore_height = " . intval($maxheight) . "; </script>\r\n"; - - $a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( - '$baseurl' => z_root(), - '$pgtype' => 'home', - '$uid' => ((local_channel()) ? local_channel() : '0'), - '$gid' => '0', - '$cid' => '0', - '$cmin' => '0', - '$cmax' => '99', - '$star' => '0', - '$liked' => '0', - '$conv' => '0', - '$spam' => '0', - '$fh' => '1', - '$nouveau' => '0', - '$wall' => '0', - '$list' => '0', - '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1), - '$search' => '', - '$order' => 'comment', - '$file' => '', - '$cats' => '', - '$tags' => '', - '$dend' => '', - '$mid' => '', - '$verb' => '', - '$dbegin' => '' - )); - } - - if($update && ! $load) { - // only setup pagination on initial page view - $pager_sql = ''; - } - else { - $a->set_pager_itemspage(20); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start'])); - } - - require_once('include/identity.php'); - - if(get_config('system','site_firehose')) { - require_once('include/security.php'); - $uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and item_wall = 1 "; - } - else { - $sys = get_sys_channel(); - $uids = " and item.uid = " . intval($sys['channel_id']) . " "; - $a->data['firehose'] = intval($sys['channel_id']); - } - - $page_mode = 'list'; - - $simple_update = (($update) ? " and item.item_unseen = 1 " : ''); - - if($update && $_SESSION['loadtime']) - $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) "; - if($load) - $simple_update = ''; - - //logger('update: ' . $update . ' load: ' . $load); - - if($update) { - - $ordering = "commented"; - - if($load) { - - // Fetch a page full of parent items for this page - - $r = q("SELECT distinct item.id AS item_id, $ordering FROM item - left join abook on item.author_xchan = abook.abook_xchan - WHERE true $uids AND item.item_restrict = 0 - AND item.parent = item.id - and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null) - $sql_extra3 $sql_extra $sql_nets - ORDER BY $ordering DESC $pager_sql ", - intval(ABOOK_FLAG_BLOCKED) - ); - - - } - elseif($update) { - - $r = q("SELECT distinct item.id AS item_id, $ordering FROM item - left join abook on item.author_xchan = abook.abook_xchan - WHERE true $uids AND item.item_restrict = 0 - AND item.parent = item.id $simple_update - and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null) - $sql_extra3 $sql_extra $sql_nets", - intval(ABOOK_FLAG_BLOCKED) - ); - $_SESSION['loadtime'] = datetime_convert(); - } - // Then fetch all the children of the parents that are on this page - $parents_str = ''; - $update_unseen = ''; - - if($r) { - - $parents_str = ids_to_querystr($r,'item_id'); - - $items = q("SELECT item.*, item.id AS item_id FROM item - WHERE true $uids AND item.item_restrict = 0 - AND item.parent IN ( %s ) - $sql_extra ", - dbesc($parents_str) - ); - - xchan_query($items,true,(-1)); - $items = fetch_post_tags($items,true); - $items = conv_sort($items,$ordering); - } - else { - $items = array(); - } - - } - - // fake it - $mode = ('network'); - - $o .= conversation($a,$items,$mode,$update,$page_mode); + goaway(z_root() . '/' . $frontpage); + } - if(($items) && (! $update)) - $o .= alt_pager($a,count($items)); - return $o; + $sitename = get_config('system','sitename'); + if($sitename) + $o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>'; - } - call_hooks('home_content',$o); - return $o; + if(intval(get_config('system','block_public')) && (! local_channel()) && (! remote_channel())) { + // If there's nothing special happening, just spit out a login box + $loginbox = get_config('system','login_on_homepage'); + if(intval($loginbox) || $loginbox === false) + $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1); } return $o; |