if (PA::$network_info->type == PRIVATE_NETWORK_TYPE) { return 'skip'; } $obj->mode = PRI; break; } } $page = new PageRenderer("setup_module", PAGE_LOGIN, "Login page", "container_three_column.php", "header.php", PUB, HOMEPAGE, PA::$network_info); // added by Zoran Hron: JQuery validation & AJAX file upload -- $page->add_header_html(js_includes('jquery.validate.js')); $page->add_header_html(js_includes('jquery.metadata.js')); $page->add_header_html(js_includes('ajaxfileupload.js')); $page->add_header_html(js_includes('user_registration.js')); // ------------------------------------------------------------ $page->add_header_html(js_includes('common.js')); $page->add_header_html(js_includes('login.js')); if (isset($_GET['msg_id'])) { $msg = MessagesHandler::get_message($_GET['msg_id']); } if (isset($msg)) { $msg_tpl = new Template(CURRENT_THEME_FSPATH . "/display_message.php"); $msg_tpl->set('message', $msg); $page->add_module("middle", "top", $msg_tpl->fetch()); } if (isset($page_settings['body_attributes'])) { $page->html_body_attributes = $page_settings['body_attributes']; } else { $page->html_body_attributes .= 'class="hold-transition skin-blue sidebar-collapse sidebar-mini"'; } $page->header->set('render_text_array', $render_text_array); uihelper_get_network_style();
if (!$error) { ModuleData::update($data, $id); // call the ModuleData to update the data } } //render the page $page = new PageRenderer("setup_module", PAGE_MANAGE_EMBLEM, "Manage Emblem", 'container_two_column.tpl', 'header.tpl', PRI, HOMEPAGE, PA::$network_info); if (!empty($msg)) { $msg_tpl = new Template(CURRENT_THEME_FSPATH . "/display_message.tpl"); $msg_tpl->set('message', $msg); $m = $msg_tpl->fetch(); $page->add_module("middle", "top", $m); } $page->html_body_attributes = 'class="no_second_tier network_config"'; $page->add_header_html(js_includes('edit_profile.js')); $page->add_header_html(js_includes('manage_data.js')); $css_array = get_network_css(); if (is_array($css_array)) { foreach ($css_array as $key => $value) { $page->add_header_css($value); } } $css_data = inline_css_style(); if (!empty($css_data['newcss']['value'])) { $css_data = '<style type="text/css">' . $css_data['newcss']['value'] . '</style>'; $page->add_header_html($css_data); } //..end render the page /* ---------- FUNCTION DEFINITION ------------------*/ //call back function function setup_module($column, $module, $obj)
} catch (PAException $e) { $msg = "{$e->message}"; $search_error = TRUE; } if ($error == TRUE || $search_error == TRUE) { $msg = 'Sorry: you are unable to search the member.<br> Reason: ' . $msg; } } else { // all users for face wall page // TO DO:: add paging $users = User::allUsers_with_paging(); } if ($error == TRUE) { print $msg; } $parameter = js_includes("base"); html_header("users", $parameter); ?> <?php $content =& new Template(CURRENT_THEME_FSPATH . "/facewall.tpl"); if ($error == TRUE) { $content->set('msg', $msg); } $content->set('user_picture', $user_picture); $content->set('base_url', $base_url); $content->set('users', $users); $header =& new Template(CURRENT_THEME_FSPATH . "/header.tpl"); //$header->set('user_name', $first_name." ".$last_name); $header->set('user_name', $_SESSION['user']['first_name'] . ' ' . $_SESSION['user']['last_name']); $content->set('header', $header);
<?php $login_required = FALSE; $use_theme = 'Beta'; include "includes/page.php"; global $number_user; require_once "{$path_prefix}/api/User/User.php"; require_once "{$path_prefix}/api/Relation/Relation.php"; require_once "{$path_prefix}/web/user_page_functions.php"; // for query count global $query_count_on_page; $query_count_on_page = 0; require dirname(__FILE__) . '/peoples_helper.php'; /*including Js files */ $parameter = js_includes('peoplepage.js'); if (CURRENT_NETWORK_URL_PREFIX != 'www' && CURRENT_NETWORK_URL_PREFIX != '') { $params = array('page' => 1, 'show' => 5); $users = Network::get_network_members($network_info->network_id, $params); $network_id = $network_info->network_id; } else { $users = User::allUsers(10, 'latest', 5); } // counting no of relation of each users for ($i = 0; $i < count($users['users_data']); $i++) { $count_relations = Relation::get_relations($users['users_data'][$i]['user_id']); $users['users_data'][$i]['no_of_relations'] = count($count_relations); } function setup_module($column, $module, $obj) { global $users, $search_data_array, $paging, $network_id, $viewer_uid, $rows, $show_advance_search_options; switch ($column) {
public function showDialog($msg = null, $type = 'error', $redirect_url = null, $redirect_delay = 0) { global $app; require_once PA::$blockmodule_path . "/ShowMessageModule/ShowMessageModule.php"; $obj = new ShowMessageModule(); $obj->renderer =& $this; $this->add_header_html(js_includes('message_dialogs.js')); $use_theme = $this->setting_data['page_theme']; // temporary hack if ($use_theme == 'Beta') { $use_theme == 'Default'; } $this->add_header_css("/Themes/{$use_theme}/message_dialogs.css"); if ($msg) { $obj->error_msg = $msg; } if ($type) { $obj->type = $type; } if ($redirect_url) { $obj->redirect_url = $redirect_url; } if ($redirect_delay) { $obj->redirect_delay = $redirect_delay; } $obj->initializeModule($app->request_method, $app->getRequestData()); $html = $obj->render(); $this->module_arrays['middle'] = null; $this->module_arrays['left'] = null; $this->module_arrays['right'] = null; $this->page_template = 'container_one_column_full_width.tpl'; $this->page = new Template(CURRENT_THEME_FSPATH . "/" . $this->page_template); $this->page->set('current_theme_path', PA::$theme_url); $this->page->set('current_theme_rel_path', PA::$theme_rel); $this->add_module("middle", "top", $html); }
$login_required = TRUE; $use_theme = 'Beta'; //TODO : Remove this when new UI is completely implemented. include "includes/page.php"; global $path_prefix; require_once $path_prefix . '/api/Category/Category.php'; require_once $path_prefix . '/ext/Image/Image.php'; require_once $path_prefix . '/ext/Audio/Audio.php'; require_once $path_prefix . '/ext/Video/Video.php'; require_once $path_prefix . '/ext/Album/Album.php'; // for query count global $query_count_on_page; $query_count_on_page = 0; global $current_theme_path; $parameter = js_includes("all"); html_header("Media Gallery - {$network_info->name}", $parameter); if (!$_GET['uid']) { $uid = $_SESSION['user']['id']; } else { $uid = $_GET['uid']; } /* Check for the content author id */ if (!empty($_REQUEST["cid"])) { $cid = $_REQUEST["cid"]; $params = array('action' => 'edit_content', 'uid' => $login_uid, 'cid' => $cid); if (!user_can($params)) { header("Location: {$base_url}/homepage.php?&msg=" . urlencode('Error: You are not authorized to access this page.')); exit; } // It will give the content type whether its an SB Content or a Blogpost
/* To avoding javascript select value function alert */ if(!isset($_GET['msg_rep'])) { if (!empty($msg) || !empty($_GET['msg_id'])) { $msg_obj = new MessagesHandler(); $msg_id = ($_GET['msg_id']) ? $_GET['msg_id']: $msg; $dynamic_msg = ($msg_id == 2007)?substr ($type,0,5):NULL; $msg = $msg_obj->get_message($msg_id,$dynamic_msg); if ($msg) { $msg_tpl = & new Template(CURRENT_THEME_FSPATH."/display_message.tpl"); $msg_tpl->set('message', $msg); $page->add_module("middle", "top", $msg_tpl->fetch()); } } } // Jtip is shown when user watching the image media if ($type == 'Images') { $parameter = js_includes('jtip.js'); $page->add_header_html($parameter); $css = $current_theme_path.'/jtip.css'; $page->add_header_css($css); } // if user is not log in as well as not viewing any user page if (!empty($uid)) { uihelper_set_user_heading($page,$do_theme=TRUE, $uid); } else { uihelper_get_network_style(); } echo $page->render(); ?>
if ($login_required) { exit; } } $use_theme = $page_settings['page_theme']; $page = new PageRenderer('setup_module', $page_settings['page_id'], sprintf(__('%s - %s'), __($page_settings['page_name']), PA::$network_info->name), $page_settings['page_template'], $page_settings['header_template'], $page_settings['page_mode'], $page_settings['block_type'], PA::$network_info, NULL, NULL); if (isset($page_settings['body_attributes'])) { $page->html_body_attributes = $page_settings['body_attributes']; } if (isset($page_settings['javascripts'])) { if (is_array($page_settings['javascripts'])) { foreach ($page_settings['javascripts'] as $js_file) { $page->add_header_html(js_includes($js_file)); } } else { $page->add_header_html(js_includes($page_settings['javascripts'])); } } if (isset($page_settings['page_css'])) { if (is_array($page_settings['page_css'])) { foreach ($page_settings['page_css'] as $css_file) { $page->add_header_css("/Themes/{$use_theme}/css/{$css_file}"); } } else { $page->add_header_css("/Themes/{$use_theme}/css/" . $page_settings['page_css']); } } uihelper_error_msg($error_msg); echo $page->render(); } catch (Exception $e) { throw $e;
if ($moduleName == 'EditProfileModule') { $obj->array_of_errors = $array_of_errors; $obj->login_name = $login_name; $obj->first_name = $first_name; $obj->last_name = $last_name; $obj->email = $email; $obj->user_picture = $user_picture; $obj->user_data = $user_data_general; $obj->user_personal_data = $user_personal_data; $obj->user_professional_data = $user_professional_data; } break; } } $page = new PageRenderer("setup_module", PAGE_EDIT_PROFILE, sprintf(__("%s - Edit your profile - %s"), $login_user->get_name(), $network_info->name), "container_one_column.tpl", "header_user.tpl", NULL, PRI, $network_info); $page->add_header_html(js_includes('edit_profile.js')); $theme_details = get_user_theme($login_uid); if (is_array($theme_details['css_files'])) { foreach ($theme_details['css_files'] as $key => $value) { $page->add_header_css($value); } } $css_path = $current_theme_path . '/modal.css'; $page->add_header_css($css_path); if (@$_GET['updated'] == 1) { $uploaded_msg = " Profile updated successfully"; $msg_tpl =& new Template(CURRENT_THEME_FSPATH . "/display_message.tpl"); $msg_tpl->set('message', $uploaded_msg); $m = $msg_tpl->fetch(); $page->add_module("middle", "top", $m); }
break; } } $page = new PageRenderer("setup_module", PAGE_NETWORK_MANAGE_USERS, "Manage Registered User", 'container_two_column.tpl', 'header.php', PUB, HOMEPAGE, PA::$network_info); if (@$_GET['msg']) { require_once 'web/languages/english/MessagesHandler.php'; $msg_obj = new MessagesHandler(); $message = $msg_obj->get_message($_GET['msg']); } if (@$message) { $msg_tpl = new Template(CURRENT_THEME_FSPATH . "/display_message.tpl"); $msg_tpl->set('message', $message); $m = $msg_tpl->fetch(); $page->add_module("middle", "top", $m); } $page->html_body_attributes = 'class="hold-transition skin-blue sidebar-collapse sidebar-mini"'; $css_array = get_network_css(); if (is_array($css_array)) { foreach ($css_array as $key => $value) { $page->add_header_css($value); } } $page->add_header_html(js_includes('roles.js')); $page->add_header_html(js_includes('ModalWindow.js')); $page->add_header_css(PA::$theme_rel . '/invite_modal.css'); $css_data = inline_css_style(); if (!empty($css_data['newcss']['value'])) { $css_data = '<style type="text/css">' . $css_data['newcss']['value'] . '</style>'; $page->add_header_html($css_data); } echo $page->render();
if (!empty($user)) { $obj->page_user = $user->get_name(); } break; case 'right': $obj->mode = PRI; if ($moduleName != 'AdsByGoogleModule') { $obj->block_type = HOMEPAGE; } if (!empty($_GET['gid'])) { if ($moduleName == 'RecentPostModule') { $obj->type = 'group'; $obj->gid = $_GET['gid']; } } break; } } $page = new PageRenderer("setup_module", PAGE_VIEW_ALL_MEMBERS, $page_name, "container_three_column.php", $header_tpl, PUB, HOMEPAGE, PA::$network_info); $page->add_header_html(js_includes('common.js')); if ($_GET['gid']) { uihelper_get_group_style($_GET['gid']); } else { if (!empty($_GET['uid'])) { //applying the user theme uihelper_set_user_heading($page); } else { uihelper_get_network_style(); } } echo $page->render();
$back_to_page = $base_url . '/homepage.php'; header("Location: {$base_url}/generic_error.php?msg={$redirect_msg}&back_to_page={$back_to_page}"); exit; } //..eof Takes care of url manipulation try { $content = Content::load_content((int) $cid, (int) $_SESSION['user']['id']); } catch (PAException $e) { if ($e->code == CONTENT_NOT_FOUND) { $redirect_msg = "Content you are looking for does not exist."; $back_to_page = $base_url . '/homepage.php'; header("Location: {$base_url}/generic_error.php?msg={$redirect_msg}&back_to_page={$back_to_page}"); exit; } } $parameter = js_includes("generic"); html_header('', $parameter); if ($_SESSION['user']['id']) { $admin = new User(); $admin->load($_SESSION['user']['id']); } if ($_SESSION['user']['id'] == $content->author_id || $admin->role == 2) { $editable = TRUE; } //tpl for whole page $page_content =& new Template(CURRENT_THEME_FSPATH . "/view_comments.tpl"); //tpl for header $header =& new Template(CURRENT_THEME_FSPATH . "/header.tpl"); $header->set('user_name', $first_name . " " . $last_name); if ($network_info) { $header->set_object('network_info', $network_info);
public function add_header_js($file, $optimize = true) { js_includes($file, $optimize); }
$obj->super_user_and_mothership = $super_user_and_mothership; break; } } $page = new PageRenderer("setup_module", PAGE_NETWORK_MANAGE_USERS, "Manage Registered User", 'container_two_column.tpl', 'header.tpl', PUB, HOMEPAGE, $network_info); if (@$_GET['msg']) { require_once $path_prefix . '/web/languages/english/MessagesHandler.php'; $msg_obj = new MessagesHandler(); $message = $msg_obj->get_message($_GET['msg']); } if (@$message) { $msg_tpl =& new Template(CURRENT_THEME_FSPATH . "/display_message.tpl"); $msg_tpl->set('message', $message); $m = $msg_tpl->fetch(); $page->add_module("middle", "top", $m); } $page->html_body_attributes = 'class="no_second_tier network_config"'; $css_array = get_network_css(); if (is_array($css_array)) { foreach ($css_array as $key => $value) { $page->add_header_css($value); } } $parameter = js_includes('roles.js'); $page->add_header_html($parameter); $css_data = inline_css_style(); if (!empty($css_data['newcss']['value'])) { $css_data = '<style type="text/css">' . $css_data['newcss']['value'] . '</style>'; $page->add_header_html($css_data); } echo $page->render();
// for query count global $query_count_on_page; $query_count_on_page = 0; $user = get_login_user(); function setup_module($column, $module, $obj) { global $user; switch ($module) { case 'EventCalendarModule': $obj->title = __('Personal Events'); $obj->assoc_type = 'user'; $obj->assoc_id = (int) $_SESSION['user']['id']; $obj->may_edit = true; // user may edit own events, right? ;) $obj->assoc_title = $user->login_name; break; } $obj->mode = PUB; } global $msg; $page = new PageRenderer("setup_module", PAGE_USER_CALENDAR, __("My Events"), "container_one_column.php", "header_user.php", PRI, NULL, PA::$network_info); $css_path = PA::$theme_url . '/css/calendar.css'; $page->add_header_css($css_path); $page->add_header_html(js_includes('calendar.js')); $page->add_header_html(js_includes('date.js')); $page->add_header_html(js_includes('jquery.dimensions.min.js')); $page->add_header_html(js_includes('jquery.datePicker.js')); $page->add_header_html($parameter); uihelper_error_msg($msg); uihelper_set_user_heading($page); echo $page->render();
} if (isset($rp->reg_user)) { $obj->array_of_errors = @$rp->reg_user->array_of_errors; } } break; case 'right': $obj->mode = PRI; if ($moduleName != 'AdsByGoogleModule') { $obj->block_type = HOMEPAGE; } break; } } $rp = new RegistrationPage(); try { $rp->main(); $msg = !empty($rp->reg_user->msg) ? nl2br($rp->reg_user->msg) : @$rp->inv_error; } catch (PAException $e) { $msg = $e->getMessage(); } $page = new PageRenderer("setup_module", PAGE_REGISTER, "Registration Page", "container_three_column.tpl", "header.tpl", PUB, HOMEPAGE, PA::$network_info); // added by Zoran Hron: JQuery validation & AJAX file upload -- $page->add_header_html(js_includes('jquery.validate.js')); $page->add_header_html(js_includes('jquery.metadata.js')); $page->add_header_html(js_includes('ajaxfileupload.js')); $page->add_header_html(js_includes('user_registration.js')); uihelper_error_msg($msg); uihelper_get_network_style(); $page->html_body_attributes = ' id="registration_page"'; echo $page->render();
* @version 0.0.0-1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @author Cyberspace Networks <*****@*****.**> * @license GNU General Public License * @copyright Copyright (c) 2000-2015 Cyberspace-Networks * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * The lastest version of Cyberspace Networks CoreSystem can be obtained from: * https://github.com/Cyberspace-Networks/CoreSystem * For questions, help, comments, discussion, etc. please visit * http://www.cyberspace-networks.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ $login_required = FALSE; include_once "web/includes/cnpage.php"; /* including Js files */ $parameter = js_includes('common.js'); function setup_module($column, $module, $obj) { global $login_uid, $paging, $page_uid, $page_user, $total_groups; switch ($module) { case 'SearchByTag': $obj->Paging["page"] = $paging["page"]; $obj->Paging["show"] = $paging["show"]; if (@$_GET['keyword']) { $obj->name_string = $_GET['name_string']; $obj->keyword = $_GET['keyword']; $obj->sort_by = @$_GET['sort_by']; } else { $obj->sort_by = @$_GET['sort_by']; } if (@$_GET['uid']) {
case 'middle': $obj->get_user_albums(); $obj->author_id = $_SESSION['user']['id']; $content_type = 'BlogPost'; require_once "web/includes/blocks/createcontent.php"; if (!empty($cid)) { $obj->set_id($cid); } if (strlen($error) > 0) { $obj->set_error_msg($error, $data_array); } $obj->display = 'blog'; $obj->targets = $targets; $obj->show_external_blogs = $show_external_blogs; $obj->is_edit = $is_edit; $obj->permission_to_post = $permission_to_post; $obj->parent_collection_id = @$obj_content_type->parent_collection_id; $obj->ccid = $obj->parent_collection_id ? $obj->parent_collection_id : $ccid; break; } } $page = new PageRenderer("setup_module", PAGE_POSTCONTENT, "Create content", "container_one_column_postcontent.tpl", "header.tpl", PRI, HOMEPAGE, PA::$network_info); // load JQuery forms Plugin $page->add_header_html(js_includes('forms.js')); // and the modal overlay functions $page->add_header_html(js_includes('attach_media_modal.js')); $css_path = PA::$theme_url . '/modal.css'; $page->add_header_css($css_path); uihelper_error_msg($post_err); uihelper_get_network_style(); echo $page->render();
$access_type = ' Moderated'; } $obj->group_details['access_type'] = $access_type; $obj->group_details['author_id'] = $group_data->author_id; $user = new User(); $user->load((int) $group_data->author_id); $obj->group_details['author_picture'] = $user->picture; $obj->group_details['author_name'] = $user->login_name; break; case 'GroupsCategoryModule': $obj->total_groups = $total_groups; break; } } $page = new PageRenderer("setup_module", PAGE_GROUP_THEME, "Group Themes", 'container_three_column.tpl', 'header_group.tpl', PRI, HOMEPAGE, $network_info, '', $setting_data); $page->add_header_html($parameter); if ($type == 'style') { // adding some New Css files require for this page only $css_path = $current_theme_path . '/configurator.css'; $page->add_header_css($css_path); $css_path = $current_theme_path . '/farbtastic.css'; $page->add_header_css($css_path); } if ($type == 'module') { $parameter .= js_includes('messages.js'); //added for checking and unchecking all the checkboxes for modules. $page->add_header_html($parameter); } uihelper_error_msg($msg_id); uihelper_get_group_style($gid); echo $page->render();
$obj->email = $email; $obj->user_picture = $user_picture; $obj->user_data = $user_data_general; $obj->user_personal_data = $user_personal_data; $obj->user_professional_data = $user_professional_data; $obj->user_social_data = $user_social_data; $obj->blogsetting_status = empty($data_profile) ? NULL : $data_profile[0]->field_value; } break; } } $page = new PageRenderer("setup_module", PAGE_EDIT_PROFILE, sprintf(__("%s - Edit your profile - %s"), $login_user->get_name(), PA::$network_info->name), "container_one_column.php", "header_user.php", NULL, PRI, PA::$network_info); $page->add_header_html(js_includes('edit_profile.js')); // ------- added by Zoran Hron: JQuery validation ------------- $page->add_header_html(js_includes('jquery.validate.min.js')); $page->add_header_html(js_includes('jquery.metadata.js')); // ------------------------------------------------------------ $theme_details = get_user_theme($login_uid); if (is_array($theme_details['css_files'])) { foreach ($theme_details['css_files'] as $key => $value) { $page->add_header_css($value); } } $css_path = PA::$theme_url . '/modal.css'; $page->add_header_css($css_path); if (@$_GET['updated'] == 1) { $uploaded_msg = " Profile updated successfully"; $msg_tpl = new Template(CURRENT_THEME_FSPATH . "/display_message.php"); $msg_tpl->set('message', $uploaded_msg); $m = $msg_tpl->fetch(); $page->add_module("middle", "top", $m);
{ $user = get_login_user(); switch ($module) { case 'EventCalendarModule': $obj->assoc_type = 'user'; $obj->assoc_id = (int) $_SESSION['user']['id']; $obj->may_edit = true; // user may edit own events, right? ;) $obj->assoc_title = $user->login_name; break; } $obj->mode = PUB; } $page = new PageRenderer("setup_module", PAGE_CALENDAR, "Calendar - PeopleAggregator", "container_one_column.tpl", "header_user.tpl", NULL, PRI, $network_info); $theme_details = get_user_theme($login_uid); if (is_array($theme_details['css_files'])) { foreach ($theme_details['css_files'] as $key => $value) { $page->add_header_css($value); } } $css_path = $current_theme_path . '/calendar.css'; $page->add_header_css($css_path); $page->add_header_html(js_includes('calendar.js')); if (!empty($msg)) { $msg_tpl =& new Template(CURRENT_THEME_FSPATH . "/display_message.tpl"); $msg_tpl->set('message', $msg); $page->add_module("middle", "top", $msg_tpl->fetch()); } $page->add_header_html($parameter); // uihelper_get_group_style($gid); echo $page->render();
check_session(0); global $current_theme_path; require_once "BlockModules/LinkModule/LinkModule.php"; require_once "BlockModules/ContentModule/ContentModule.php"; require_once "BlockModules/ShowContentModule/ShowContentModule.php"; require_once "BlockModules/GroupModule/GroupModule.php"; require_once "{$path_prefix}/ext/Group/Group.php"; require_once "BlockModules/ImagesModule/ImagesModule.php"; require_once "BlockModules/FacewallModule/FacewallModule.php"; require_once "BlockModules/RecentPostModule/RecentPostModule.php"; require_once "BlockModules/PopularTagsModule/PopularTagsModule.php"; include_once "../api/Theme/Template.php"; require_once '../api/Content/Content.php'; require_once '../api/Comment/Comment.php'; require_once './includes/functions/html_generate.php'; $parameter = js_includes("proto"); html_header("PA-block_test", $parameter); print '<body>'; default_exception(); $contents = Content::load_content_id_array(); for ($i = 0; $i < count($contents); $i++) { $contents[$i]['comments'] = Comment::get_comment_for_content($contents[$i]['content_id']); $contents[$i]['trackback'] = Content::get_trackbacks_for_content($contents[$i]['content_id']); $user1 = new User(); // *** FIXME: it looks like user::load used to take a second param // *** that determined whether it would load deleted users or not. // *** this disappeared a long time ago, though, and in the meantime // *** a new second param has appeared, that indicates the type of // *** the first param. so if anyone wants to put this back, feel // *** free... until then, the following code may not work as // *** expected: