create miniApp to convert existing settings files to the static App class

This commit is contained in:
redmatrix 2016-03-31 20:15:47 -07:00
parent bbfe4de310
commit 0cda431456
7 changed files with 52 additions and 52 deletions

View file

@ -639,6 +639,29 @@ class ZotlabsAutoloader {
}
/**
* class miniApp
*
* this is a transient structure which is needed to convert the $a->config settings
* from older (existing) htconfig files which used a global App ($a) into the updated App structure
* which is now static (although currently constructed at startup). We are only converting
* 'system' config settings.
*/
class miniApp {
public $config = array('system' => array());
public function convert() {
if($this->config['system']) {
foreach($this->config['system'] as $k => $v)
App::$config['system'][$k] = $v;
}
}
}
/**
* class: App
*

View file

@ -9,12 +9,19 @@ function cli_startup() {
global $a, $db, $default_timezone;
if(is_null($a)) {
$a = new App;
$a = new miniApp;
}
if(is_null($app)) {
$app = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
$a->convert();
if(! defined('UNO'))
define('UNO', 0);

View file

@ -174,7 +174,6 @@ function channel_total() {
*/
function create_identity($arr) {
$a = get_app();
$ret = array('success' => false);
if(! $arr['account_id']) {
@ -914,7 +913,6 @@ function profile_load(&$a, $nickname, $profile = '') {
function profile_edit_menu($uid) {
$a = get_app();
$ret = array();
$is_owner = (($uid == local_channel()) ? true : false);
@ -976,8 +974,6 @@ function profile_edit_menu($uid) {
*/
function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = false) {
$a = get_app();
$observer = App::get_observer();
$o = '';
@ -1112,7 +1108,6 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
*/
function get_birthdays() {
$a = get_app();
$o = '';
if(! local_channel())
@ -1191,8 +1186,6 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
require_once('include/bbcode.php');
$a = get_app();
if(! local_channel())
return $o;

View file

@ -4294,7 +4294,6 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
}
function fix_private_photos($s, $uid, $item = null, $cid = 0) {
$a = get_app();
logger('fix_private_photos', LOGGER_DEBUG);
$site = substr(z_root(),strpos(z_root(),'://'));
@ -4577,8 +4576,6 @@ function drop_items($items) {
function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = false) {
$a = get_app();
// locate item to be deleted
$r = q("SELECT * FROM item WHERE id = %d LIMIT 1",
@ -5077,8 +5074,6 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$result = array('success' => false);
$a = get_app();
$sql_extra = '';
$sql_nets = '';
$sql_options = '';

View file

@ -14,8 +14,6 @@
*/
function authenticate_success($user_record, $login_initial = false, $interactive = false, $return = false, $update_lastlog = false) {
$a = get_app();
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
$lastlog_updated = false;
@ -360,10 +358,9 @@ function public_permissions_sql($observer_hash) {
* so this mechanism brings in some damage control (the attacker would be able to forge a request to a form of this type, but not to forms of other types).
*/
function get_form_security_token($typename = '') {
$a = get_app();
$timestamp = time();
$sec_hash = hash('whirlpool', App::$user['guid'] . App::$user['prvkey'] . session_id() . $timestamp . $typename);
$sec_hash = hash('whirlpool', App::$observer['xchan_guid'] . ((local_channel()) ? App::$channel['channel_prvkey'] : '') . session_id() . $timestamp . $typename);
return $timestamp . '.' . $sec_hash;
}
@ -374,12 +371,10 @@ function check_form_security_token($typename = '', $formname = 'form_security_to
$max_livetime = 10800; // 3 hours
$a = get_app();
$x = explode('.', $hash);
if (time() > (IntVal($x[0]) + $max_livetime)) return false;
$sec_hash = hash('whirlpool', App::$user['guid'] . App::$user['prvkey'] . session_id() . $x[0] . $typename);
$sec_hash = hash('whirlpool', App::$observer['xchan_guid'] . ((local_channel()) ? App::$channel['channel_prvkey'] : '') . session_id() . $x[0] . $typename);
return ($sec_hash == $x[1]);
}
@ -389,8 +384,7 @@ function check_form_security_std_err_msg() {
}
function check_form_security_token_redirectOnErr($err_redirect, $typename = '', $formname = 'form_security_token') {
if (!check_form_security_token($typename, $formname)) {
$a = get_app();
logger('check_form_security_token failed: user ' . App::$user['guid'] . ' - form element ' . $typename);
logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename);
logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
notice( check_form_security_std_err_msg() );
goaway(z_root() . $err_redirect );
@ -398,8 +392,7 @@ function check_form_security_token_redirectOnErr($err_redirect, $typename = '',
}
function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'form_security_token') {
if (!check_form_security_token($typename, $formname)) {
$a = get_app();
logger('check_form_security_token failed: user ' . App::$user['guid'] . ' - form element ' . $typename);
logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename);
logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
header('HTTP/1.1 403 Forbidden');
killme();

View file

@ -11,13 +11,13 @@ require_once('include/attach.php');
require_once('include/Contact.php');
function widget_profile($args) {
$a = get_app();
$block = (((get_config('system', 'block_public')) && (! local_channel()) && (! remote_channel())) ? true : false);
return profile_sidebar(App::$profile, $block, true);
}
function widget_zcard($args) {
$a = get_app();
$block = (((get_config('system', 'block_public')) && (! local_channel()) && (! remote_channel())) ? true : false);
$channel = channelx_by_n(App::$profile_uid);
return get_zcard($channel,get_observer_hash(),array('width' => 875));
@ -33,7 +33,7 @@ function widget_tagcloud($args) {
$o = '';
//$tab = 0;
$a = get_app();
$uid = App::$profile_uid;
$count = ((x($args,'count')) ? intval($args['count']) : 24);
$flags = 0;
@ -164,8 +164,7 @@ function widget_follow($args) {
if(! local_channel())
return '';
$a = get_app();
$uid =App::$channel['channel_id'];
$uid = App::$channel['channel_id'];
$r = q("select count(*) as total from abook where abook_channel = %d and abook_self = 0 ",
intval($uid)
);
@ -210,8 +209,6 @@ function widget_savedsearch($arr) {
if((! local_channel()) || (! feature_enabled(local_channel(),'savedsearch')))
return '';
$a = get_app();
$search = ((x($_GET,'search')) ? $_GET['search'] : '');
if(x($_GET,'searchsave') && $search) {
@ -295,7 +292,6 @@ function widget_filer($arr) {
if(! local_channel())
return '';
$a = get_app();
$selected = ((x($_REQUEST,'file')) ? $_REQUEST['file'] : '');
@ -323,7 +319,6 @@ function widget_filer($arr) {
function widget_archive($arr) {
$o = '';
$a = get_app();
if(! App::$profile_uid) {
return '';
@ -370,7 +365,7 @@ function widget_archive($arr) {
function widget_fullprofile($arr) {
$a = get_app();
if(! App::$profile['profile_uid'])
return;
@ -380,7 +375,7 @@ function widget_fullprofile($arr) {
}
function widget_shortprofile($arr) {
$a = get_app();
if(! App::$profile['profile_uid'])
return;
@ -391,7 +386,7 @@ function widget_shortprofile($arr) {
function widget_categories($arr) {
$a = get_app();
if(App::$profile['profile_uid'] && (! perm_is_allowed(App::$profile['profile_uid'],get_observer_hash(),'view_stream')))
return '';
@ -406,7 +401,7 @@ function widget_categories($arr) {
}
function widget_tagcloud_wall($arr) {
$a = get_app();
if((! App::$profile['profile_uid']) || (! App::$profile['channel_hash']))
return '';
@ -421,7 +416,7 @@ function widget_tagcloud_wall($arr) {
}
function widget_catcloud_wall($arr) {
$a = get_app();
if((! App::$profile['profile_uid']) || (! App::$profile['channel_hash']))
return '';
@ -486,7 +481,7 @@ function widget_settings_menu($arr) {
if(! local_channel())
return;
$a = get_app();
$channel = App::get_channel();
$abook_self_id = 0;
@ -602,7 +597,6 @@ function widget_mailmenu($arr) {
if (! local_channel())
return;
$a = get_app();
return replace_macros(get_markup_template('message_side.tpl'), array(
'$title' => t('Private Mail Menu'),
@ -634,8 +628,6 @@ function widget_conversations($arr) {
if (! local_channel())
return;
$a = get_app();
if(argc() > 1) {
switch(argv(1)) {
@ -752,7 +744,6 @@ function widget_findpeople($arr) {
function widget_photo_albums($arr) {
$a = get_app();
if(! App::$profile['profile_uid'])
return '';
@ -793,7 +784,6 @@ function widget_menu_preview($arr) {
}
function widget_chatroom_list($arr) {
$a = get_app();
require_once("include/chat.php");
$r = chatroom_list(App::$profile['profile_uid']);
@ -1007,8 +997,6 @@ function widget_cover_photo($arr) {
require_once('include/identity.php');
$o = '';
$a = get_app();
if(App::$module == 'channel' && $_REQUEST['mid'])
return '';
@ -1159,7 +1147,7 @@ function widget_random_block($arr) {
function widget_rating($arr) {
$a = get_app();
$poco_rating = get_config('system','poco_rating_enable');
if((! $poco_rating) && ($poco_rating !== false)) {
@ -1229,8 +1217,6 @@ function widget_pubsites($arr) {
function widget_forums($arr) {
$a = get_app();
if(! local_channel())
return '';
@ -1332,8 +1318,6 @@ function widget_admin($arr) {
return login(false);
}
$a = get_app();
$o = '';
// array( url, name, extra css classes )

View file

@ -16,7 +16,10 @@ if(file_exists('.htsite.php'))
include('.htsite.php');
// our global App object
$a = new App;
$a = new miniApp;
$app = new App;
/*
* Load the configuration file which contains our DB credentials.
@ -31,6 +34,8 @@ App::$install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? f
if(! defined('UNO'))
define('UNO', 0);
$a->convert();
App::$timezone = ((x($default_timezone)) ? $default_timezone : 'UTC');
date_default_timezone_set(App::$timezone);