It seems that you have one or more 3rd party plugins installed that add some functionality to blogs (icon upload) and files (zip file upload). I guess that at least one of these plugin(s) is not working without issues and causing the problems.
I also noticed an error in the browser console telling that loading of an external script has failed (https://apis.google.com/js/plusone.js) that might also be related to the problem, e.g. the plugin that tries to load this script fails to do so resulting in the submitting of the blog / file upload to fail.
The loading oft the script might fail for you in Bangladesh if the request gets blocked for whatever reason. Or it might be a browser issue (as I suspect in my case it's rather a addblock/script-block addon in Firefox).
I would suggest that you disable the 3rd party plugin (or plugins) that add this additional functionality to blogs and files and try again. If you have all 3rd party plugins disabled at least for testing and it works, you know at least that one of the 3rd party plugins is causing the problem. Then you can enable them again one at a time to figure out which one is responsible. If you know which plugin is behaving faulty, you can ask the developer of this plugin for help.
Thank you for your great help. I disable all plugin and activated one by one and get 2-3 plugin causes for this plugin. I want 2 more help from you.
1.I want user only allowed to add profile completeness and blog widget in user's profile page.\
I can do profile completeness by profile manager plugin but how can do user can't create blog post ? Any plugin for it?
2. I want to remove Terms, Privacy page from login page which come from "Site Pages Extended" Url: http://project4.construct.my.id
So waiting for your help.
Thanks
1. I'm not sure if you ask only about the widgets only profile pages or if you also don't want users to be able to create their own blog postings.
Anyway, with the Widget Manager plugin you can manage which widgets the users should be allowed to add on their profile pages. Best would be to download the latest release from https://github.com/ColdTrick/widget_manager/releases if you are using Elgg 2.3 as it's not available here on the community site. Maybe you also want to try out the Widget Pack plugin (https://github.com/ColdTrick/widget_pack/releases) because the Widget Manager plugin itself does no longer include the widgets for other plugins. In general you might want to check the github repositories of the plugins developed by Coldtrick that you use on your site for the most recent versions because they no longer seemed to get released here on the site or at least not regularly (for example the Profile Manager plugin also has newer releases at https://github.com/ColdTrick/profile_manager/releases).
If you don't want users to be able to make blog postings there might not be much sense in adding the blog widget to profile pages because the widget would only list their own blog postings (which would be none then for every users).
Restricting posting blogs to admins only is not so simple if you also want to avoid normal users getting shown pages that makes no sense if they can't post blogs on their own (e.g. "Mine" blogs is useless then). You could try out my News plugin (https://elgg.org/plugins/1640707) instead. It's a clone of the blog plugin that only allows admins to make news postings. News and blogs are basically the same. But with the separation it's clear that news only come from admins and normal users could still post blogs. If you don't want blogs but only news (by admins) you could disable the blog plugin then and only use the News plugin. The term "news" is used throughout instead of "blog". For the text displayed on the pages the language file of the News plugin could get modified for using another term instead of "news". But changing the "news" term completely (also in urls) would be more complicated.
2. You would have to create a little plugin that alters the behaviour of the external_pages plugin. Such a plugin could also contain any other customizations that you want to make for your site either now or later. So it's a good idea to have one such "customizations" plugin instead of altering the code of Elgg core or other plugins directly.
For now you would only need a manifest.xml and start.php file in your plugin. Manifest.xml could contain for example
<?xml version="1.0" encoding="UTF-8"?>
<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
<name>My Site customizations</name>
<id>my_customizations</id>
<author>iionly</author>
<version>1.0</version>
<category>enhancement</category>
<description>Customizations collection for my site.</description>
<copyright>(c) iionly 2018</copyright>
<license>GNU Public License version 2</license>
<requires>
<type>elgg_release</type>
<version>2.3.0</version>
</requires>
</plugin_manifest>
In start.php you only need the following code
<?php
elgg_register_event_handler('init', 'system', 'my_customizations');
function my_customizations() {
elgg_register_plugin_hook_handler('register', 'menu:expages', 'unregister_expages_menu_items');
}
function unregister_expages_menu_items($hook, $type, $items, $params {
foreach ($items as $key => $item) {
// Remove the 'terms' and 'privacy' menu entries
// Only 'about' menu entry remains
switch ($item->getName()) {
case 'terms':
case 'privacy':
unset($items[$key]);
break;
}
}
return $items;
}
The plugin folder name would be "my_customizations". Just place it in your mod folder, keep the plugin at least below the external_pages plugin in the plugin list (or any other plugin you want to modify in the future) and it should unregister the menu items of the external_pages plugin (pages itself would still be accessible if someone enters the corresponding url in the browser directly).
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.