Jump to content

Spacious ACP/Widgets

Recommended Posts

All tho I'm getting an error here. It happens when I have the "Forum Statistics" up.

The URL of page the error occurred on was domain/admin/?adsess=1b597ef3cc3da760ef4b0e8a2224b1e6&app=core&module=overview&controller=dashboard

UnderflowException:  (0)
#0 domain/applications/spaciouswidgets/extensions/core/Dashboard/forumStats.php(68): IPS\Db\_Select->first()
#1 domain/applications/core/modules/admin/overview/dashboard.php(58): IPS\spaciouswidgets\extensions\core\Dashboard\_forumStats->getBlock()
#2 domainfurry-muscle.org/system/Dispatcher/Controller.php(96): IPS\core\modules\admin\overview\_dashboard->manage()
#3 domain/furry-muscle.org/system/Dispatcher/Dispatcher.php(129): IPS\Dispatcher\_Controller->execute()
#4 domain/furry-muscle.org/admin/index.php(13): IPS\_Dispatcher->run()
#5 {main}



#0 domain/furry-muscle.org/init.php(505): IPS\_Log::log('UnderflowExcept...', 'uncaught_except...')
#1 [internal function]: IPS\IPS::exceptionHandler(Object(UnderflowException))
#2 {main}

Edited by ZakRhyno
Link to comment


Spacious ACP 5:
- Fixes Online Admins widget avatar display

Spacious Widgets 2:
- Fixes stupid bug on my part that broke widgets on PHP7 installations
- Better detection of disk space remaining
- General code improvements

@CodingJungle did me a solid and worked through some of my stupidity. The lesson being an unremarkable code error might *not* throw a whoops error while developing on PHP5 (and possibly PHP7 too...) and in fact the thing developed might work just fine. Until you put it on something running PHP7... 

Database widget is the next new thing and I'll probably get around to looking at responsive CSS for the widgets one of these days.

Link to comment

System Overview grabs the size of your installed IPS directory. That's everything that is in there. To do that I have to crawl every file under your root IPS directory. All of them. There can be a ton of files there and that crawl might time out if your PHP script run time limit is on the low side. 

This is why I have this particular part of the widget on a 24 hour timer as it is a pretty hard routine. I can imagine on larger boards that have been in existence for years with all files stored locallly there could easily be 50,000 or more files to traverse. So, not out of the realm of possibility the next time you/someone else hits the dashboard more than 24 hours from now the same thing will happen. It seems the routine finishes behind the scenes so when you refresh the page after the page times out you are getting the IPS directory size already calculated and saved in settings.

I'll give this a think and see if I can either do it another way or perhaps farm this method out to the IPS tasks system (which is probably what I will do...)

Also, just a reminder to all. You have to allow access to /proc in your open_basedir settings if you are using open_basedir for security reasons. You also need to allow the disk_free_space (and diskfreespace) functions in PHP (not have them disabled).

I can only get what you allow me to get...

Edited by Flitterkill
Link to comment
  • 2 months later...

There is a problem for System Overwiew widget:

RuntimeException: SplFileInfo::getSize(): stat failed for /home/www/symlink.html (0)
#0 /home/www/applications/spaciouswidgets/extensions/core/Dashboard/systemOverview.php(70): SplFileInfo->getSize()
#1 /home/www/applications/core/modules/admin/overview/dashboard.php(60): IPS\spaciouswidgets\extensions\core\Dashboard\_systemOverview->getBlock()
#2 /home/www/system/Dispatcher/Controller.php(96): IPS\core\modules\admin\overview\_dashboard->manage()
#3 /home/www/system/Dispatcher/Dispatcher.php(129): IPS\Dispatcher\_Controller->execute()
#4 /home/www/admin/index.php(13): IPS\_Dispatcher->run()
#5 {main}

The reason is that symlink.html is a Symlink, i think your getSize method must ignore symlinks / hardlinks to work correctly.

Also, some results must be rounded (example for Server Load : 4.3333333333333%)

Thank you for your work !

Edited by JiigSaaw
Link to comment
  • 3 weeks later...

No reason for it not to. 

@JiigSaaw I'll take another pass at the symlink stuff - I thought I ignored them but apparently not? The dev build I currently have is in an in-between state with a half finished db module and moving all my "can I make a rough task system with just the settings" thing over to the task system formally.

That, and paid work... and the next thing in the Kitchen Sink series...

Link to comment
  • 4 weeks later...

Seen a few purchases of these come through lately so figure I should give everyone a heads up.

New version in a day or two (that's developer time so adjust accordingly...). Updates across the board.

Also, the update may coincide with this mod (and others) moving over to my new account that is dedicated exclusively to IPS work (and not tied down on a gaming forum account circa 2004). When this happens formal support will move over to the new website and these marketplace topics will just be for general q/a going forward.

@superj707 What version are you using? The latest? That is tied up with an IPS versioning change they made months ago - either the plugin you are using predates that or I haven't updated the Marketplace download to account for it (and no one has bothered to say anything...)

EDIT: Hang a bit. The xml = THEME, the tar = APP. There is no plugin.

Edited by Flitterkill
Link to comment
3 minutes ago, Flitterkill said:

Install the xml file as a theme, and the tar file as an application. 

Derp, I should have known that.

So it installed as a theme. How do I change the ACP to use it?

scratch that, I figure it out. I use the pencil and select default theme for ACP

But how do I get the cool ACP widgets as advertised?

Link to comment
  • 2 weeks later...

Might as well give everyone a heads up on the future of this thing.

Spacious 6 is inbound shortly. New widgets, better look, bug fix or two, etc...

The thing is, IPS just leaked what the new AdminCP is going to be in 4.2. Basically, many of the things I addressed (more compact view, tighter tabs, etc...) with the Spacious ACP *Theme* are now taken care of by them. There may be (probably) will be room for the usual color change options, things like that... but otherwise Spacious ACP (the theme) looks to be near the end of its usefulness as a full on theme.

As long as they haven't blown up the widget stuff those will still be good to go so this will ultimately just become Spacious Widgets by itself with a splash of ACP color change options... probably.

4.2 ACP:


Note how much smaller the icons are on the side? Also the space above the tabs is reduced to the Spacious ACP size now as well.

So it goes...

Link to comment


Spacious 6 Change Log

Spacious ACP Theme:

CHANGE! The modern widget look has been improved.
FIX: Login page login box positioning.
CHANGE! Pagetitle size dropped just a touch.
Miscellaneous tweaks.

Spacious Widgets:

CHANGE! Tamped down use of bold fonts for a quieter look.
CHANGE! CSS spun out into widget-specific files (cleaner implementation due to how IPS loads in Dashboard CSS).
NEW! Option for flat, modern-styled dialog popup headers. Font and background colors configurable. Configurable in Spacious Widget settings.
NEW! Optional buttons on Dashboard including Tasks, Administrators and Moderators Logs, and Clear Caches/Data Store. Configurable in Spacious Widget settings.

FIX: Better handling of pulling/parsing your site name.
CHANGE! Data pull from Alexa is now an IPS task. Runs once a day.

FIX: Better handling of pulling/parsing your site name.

Forum Statistics:
NEW! Sparkline-like trend lines (Google Charts)
CHANGE! User avatars in place of names for a cleaner look.
NEW! Many statistics now have their own dialog popup with large graphs and more details.
Miscellaneous tweaks.

Member Statistics:
NEW! Google donut chart to graph out your membership.
NEW! New members over time now expanded - over more time plus Sparkline-like trend lines.
NEW! Average member age. Configurable. This will never be truly accurate but at least you have something...
CHANGE! User avatars in place of names for a cleaner look.
NEW! Many statistics now have their own dialog popup with large graphs and more details.
Miscellaneous tweaks.
ENHANCEMENT! The built-in IPS "Most Members Online" statistic only updates if you have the widget active on your IPS site somewhere. I added a task to ensure this is always updated whether you have that widget active or not.
ATTN: The full member dialog popup has a larger donut chart but does not display the percentages for each slice unless you click/hover on a slice. This is due to how Google Charts instances elements that are hidden on DOM creation. Simply put, the controller has difficulty reading in div heights/widths leaving some notational elements rendering outside their containers. I'll need to tackle this later but for now just live with it :)

Recent System Errors:
CHANGE! Now displays only the last 7 days of errors. This widget now cleans out much faster when you are running with no errors.

System Overview:
FIX! Server load now decimalized to one place instead of a bajillion places.
NEW! Server up-time display.
NEW! Server idle percentage display.
NEW! Server IP address added to the More Details dialog popup.

NEW Database Overview Widget!

NEW Most Active Topics Last 3 Days Widget!

Link to comment

1) If you haven't used the Alexa widget before you will need to run the new task manually to kick start it *OR* just wait 24 hours for the task to get around to running.

2) Widgets that have a Google Chart "Sparkline" will render a little goofy sometimes when you initially drag them onto the dashboard. Just refresh the page.

3) Make sure you check out the Spacious Widgets settings page - in the ACP it's under Customization - Spacious Widgets - Settings. For the theme settings, as usual, that's under Customization - Themes. Choose Spacious ACP 6 and then click the pencil icon to bring up the theme settings. All the Spacious options are under, you guessed it, the Spacious tab.

4) The Member Statistics widget has a detailed dialog popup with a Goggle Chart donut chart of your entire registered member horde. I'm not rendering it as a called method but including it in the widget as a hidden DOM element and then popping it up when you click the info circle bits. Some Google Charts get weirded out when they are rendered between hidden/displayed state. In this case the donut chart percentages when displayed on the donut break way outside the boundaries. So I turned them off for now. Just hover over the donut to get the details on a slice. I'll get around to making this better later.

5) Most (all?) of the sparklines you see are showing you 8 weeks worth of data and then the attached three numbers displayed are the last three weeks.

6) The lowercase 'i's you see are links to the popup dialogs. 

Hit me up with any bugs or problems. There are bound to be some. Database widget is a first pass. Thinking about what to include without it becoming a major thing.

Edited by Flitterkill
Link to comment

@Flitterkill, I see only two identical .xml files when I go to "Download" the entire thing at:

Am I missing something or doing something wrong? I click "Download" and see two .xml files. No .tar. I have the previous version (which shows up in my "Applications" list as 2.0.0 installed February 10) installed currently.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...