Jump to content

iAwards


Recommended Posts

On 11/17/2016 at 1:40 PM, iacas said:

But the problem really seems to exist only with iAwards. I didn't apply every update, so maybe some update from 1.0.6.3 to 1.0.6.4 put my databases or something in a state you're not anticipating, by failing to update a table or something somewhere.

When I recount, 100% of the time, some piece of iAwards is triggered, and "SELECT COUNT(*) FROM `awards_awarded` WHERE awarded_=261" fails because there's no such table or column called "awarded_".

I have an action that recounts a member's posts any time one of their items is deleted, and of course the logs are full of failures because of iAwards for this.

@-RAW-, if I dump my tables (please let me know what you'd need) with the data in them, or more admin control on my forum, could you sort this out?

The bug is still fairly clearly with iAwards, and I'd obviously prefer to not have to disable it every time I want to re-count someone's content.

I scanned through the /Applications/awards file and I don't know enough about IPS to know where iAwards is being asked for information so that this query could fail. Everywhere I looked (maybe I missed something), "awarded_" did not have a variable or a blank name after it.

Except a few places. The first is line 49 of /hooks/awardsGet.php:

foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_pane_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

A similar instance occurs on line 101:

foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_posts_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

and 158:

foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_hover_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

Line 35 of /hooks/awardsSettingsForm.php:

foreach ( \IPS\awards\Awarded::getItemsWithPermission( array( 'awarded_member = ?', $member->member_id ), "awarded_{$member->award_sort} {$member->award_order}", null, 'view', NULL, 0, $member, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE, FALSE ) as $awarded )

Line 58 of /modules/admin/awards/manage.php defines the langPrefix:

$table->langPrefix    = 'awarded_';

That's about it. So, it would seem that one of those first four instances is perhaps getting null for the {$this->award_sort} or {$member_award_sort} or something, resulting in the text "awarded_" with no suffix being run through a query when content is recounted.

Edited by iacas
Link to comment
2 hours ago, The Dark Wizard said:

@-RAW-

We still can't exclude badges. Does a fix for that exist in this thread?

 

Yes, the latest version drop me a PM.

22 minutes ago, iacas said:

@-RAW-, if I dump my tables (please let me know what you'd need) with the data in them, or more admin control on my forum, could you sort this out?

The bug is still fairly clearly with iAwards, and I'd obviously prefer to not have to disable it every time I want to re-count someone's content.

I scanned through the /Applications/awards file and I don't know enough about IPS to know where iAwards is being asked for information so that this query could fail. Everywhere I looked (maybe I missed something), "awarded_" did not have a variable or a blank name after it.

Except a few places. The first is line 49 of /hooks/awardsGet.php:


foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_pane_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

A similar instance occurs on line 101:


foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_posts_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

and 158:


foreach (\IPS\awards\Awarded::getItemsWithPermission($where, "awarded_{$this->award_sort} {$this->award_order}", \IPS\Settings::i()->award_settings_hover_total, 'view', NULL, 0, $this, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE) as $awarded) {

Line 35 of /hooks/awardsSettingsForm.php:


foreach ( \IPS\awards\Awarded::getItemsWithPermission( array( 'awarded_member = ?', $member->member_id ), "awarded_{$member->award_sort} {$member->award_order}", null, 'view', NULL, 0, $member, TRUE, FALSE, FALSE, FALSE, NULL, FALSE, TRUE, TRUE, TRUE, FALSE ) as $awarded )

Line 58 of /modules/admin/awards/manage.php defines the langPrefix:


$table->langPrefix    = 'awarded_';

That's about it. So, it would seem that one of those first four instances is perhaps getting null for the {$this->award_sort} or {$member_award_sort} or something, resulting in the text "awarded_" with no suffix being run through a query when content is recounted.

 

Will look now.

Link to comment
2 minutes ago, Chris59 said:

Okey Friends :) I did a guide how to use this app and how to add category and awards and how all works . will include it in all my award packages as well but I wanted you guys to have it and I hope it will help some who is new to this application. so feel free to download it and @-RAW- have review it and approve it .....

Mega-Flat-Icons_18.png Happy Awards Mates  line_one_gold_01.png

Award-Guide-v1.0.pdf

 

 

Added to the description, Thanks, Chris!

Link to comment

Another bug, or possibly one related to the one I'm still experiencing with recounting content, @-RAW-:

When I visit someone's "content" page (like this: https://thesandtrap.com/profile/39821-al vorster/content/), I see this at the bottom left:

Screen%20Shot%202016-11-26%20at%2010.36.

If I click the "Members_pl" I get directed to "https://thesandtrap.com/profile/39821-al vorster/?do=content&type=awards_awarded&change_section=1" which is the IPS error page, with this text displayed:

SELECT perm_type_id FROM `core_permission_index` WHERE core_permission_index.app='awards' AND core_permission_index.perm_type='awards' AND (( FIND_IN_SET(4,perm_) ) OR perm_='*' )
IPS\Db\Exception: Unknown column 'perm_' in 'where clause' (1054)
#0 /var/www/html/system/Db/Select.php(346): IPS\_Db->preparedQuery('SELECT perm_typ...', Array)
#1 /var/www/html/system/Db/Select.php(408): IPS\Db\_Select->runQuery()
#2 /var/www/html/system/Content/Item.php(2264): IPS\Db\_Select->rewind()
#3 /var/www/html/system/Helpers/Table/Content.php(267): IPS\Content\_Item::getItemsWithPermission(Array, 'awarded_date de...', NULL, 'read', NULL, 0, NULL, false, false, false, true, Array, false, true, true, true, false)
#4 /var/www/html/system/Helpers/Table/Table.php(448): IPS\Helpers\Table\_Content->getRows(Array)
#5 /var/www/html/applications/core/modules/front/members/profile.php(502): IPS\Helpers\Table\_Table->__toString()
#6 [internal function]: IPS\core\modules\front\members\_profile->content()
#7 /var/www/html/system/Dispatcher/Controller.php(85): call_user_func(Array)
#8 /var/www/html/applications/core/modules/front/members/profile.php(64): IPS\Dispatcher\_Controller->execute()
#9 /var/www/html/system/Dispatcher/Dispatcher.php(129): IPS\core\modules\front\members\_profile->execute()
#10 /var/www/html/index.php(13): IPS\_Dispatcher->run()
#11 {main}

It seems kinda similar to the recounting error in that the column name is being cut off: "awarded_" and "perm_".

That user has no awards, but the same error comes up when I click a user with awards, too. Like this guy: https://thesandtrap.com/profile/17088-cipher/content/ .

Edited by iacas
Link to comment

@-RAW- I don't have the folder ContentRouter but I am getting this error when trying to click on View Available Awards

SELECT count(*) FROM `ipbawards_awards` AS `awards_awards` WHERE award_cat_id = IS NULL
IPS\Db\Exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IS NULL' at line 1 (1064)
#0 /home/polcom/public_html/board/upload/system/Db/Select.php(346): IPS\_Db->preparedQuery('SELECT count(*)...', Array)
#1 /home/polcom/public_html/board/upload/system/Db/Select.php(408): IPS\Db\_Select->runQuery()
#2 /home/polcom/public_html/board/upload/system/Db/Select.php(329): IPS\Db\_Select->rewind()
#3 /home/polcom/public_html/board/upload/system/Helpers/Table/Db.php(284): IPS\Db\_Select->first()
#4 /home/polcom/public_html/board/upload/system/Helpers/Table/Table.php(448): IPS\Helpers\Table\_Db->getRows(Array)
#5 /home/polcom/public_html/board/upload/applications/awards/modules/front/awards/awards.php(75): IPS\Helpers\Table\_Table->__toString()
#6 /home/polcom/public_html/board/upload/system/Dispatcher/Controller.php(96): IPS\awards\modules\front\awards\_awards->manage()
#7 /home/polcom/public_html/board/upload/applications/awards/modules/front/awards/awards.php(25): IPS\Dispatcher\_Controller->execute()
#8 /home/polcom/public_html/board/upload/system/Dispatcher/Dispatcher.php(129): IPS\awards\modules\front\awards\_awards->execute()
#9 /home/polcom/public_html/board/upload/index.php(13): IPS\_Dispatcher->run()
#10 {main}

 

Link to comment
On 11/26/2016 at 6:12 PM, Police Community said:

@-RAW- I don't have the folder ContentRouter but I am getting this error when trying to click on View Available Awards

I don't have the ContentRouter folder either.

I have 1.0.8.3 installed, or whatever version it was that you sent me as it's still not been uploaded here.

@Police Community's errors are similar but still different than mine. Is it possible that a number of us having upgraded at different times and possibly skipping versions, have gotten our databases to "unusual" states?

As I've mentioned a few times, I'm happy to export the relevant databases so that you can compare them to see what might be up.

------------------------------------------------------------------------

I'm also tempted, as you cannot seem to fix this bug, to remove iAwards and then reinstall it. If you can tell me what databases I can export so that I can re-import them later on (so I don't have to redo the hundreds of awards I've given out), I'd be willing to give that a shot. Obviously there are the six "awards_*" tables, but where else is iAwards data stored?

  • There are various "award_*" settings in "core_sys_conf_settings"
  • 32 "award_*" rows or so in "core_permission_index"
  • one entry in "core_admin_permission_rows" includes a few "awards" elements.

What else?

In other words, @-RAW-, if I want to remove and re-install iAwards 1.0.8.3 from scratch, but then want to re-import some old data so I don't have to manually re-do all of the awards, are there any other bits of data in the database that I'm missing?

Edited by iacas
Link to comment

Update: @-RAW-: I do have a "ContentRouter" directory in /applications/awards/extensions/core/.

And… deleting that seems to have fixed BOTH of my problems. My problems were (lately):

  • The "content items" bit generating an error. I changed the language strings and that fixed the display, but deleting ContentRouter removed the listing so I can't click it anymore, which is fine.
  • The error on recounting content items for any member. It now works.
Edited by iacas
Link to comment

Hi,

I would like to have my awards in my category sorted the way i want, right now the last award is always at the bottom of the list. Drag and drop the order of the awards in the ACP do nothing.

Edit: Well i just noticed sometime the award is added to the bottom and sometime to the top... 

Edited by ePiom
Link to comment
9 hours ago, Police Community said:

@-RAW- We still have this problem and don't have thus ContentRouter folder anywhere. I have searched through all directories and it does not exist. 

Can you provide me with a response please to fix this issue?

Thanks

 

Email me so I can give you the latest version.

9 hours ago, ePiom said:

Hi,

I would like to have my awards in my category sorted the way i want, right now the last award is always at the bottom of the list. Drag and drop the order of the awards in the ACP do nothing.

Edit: Well i just noticed sometime the award is added to the bottom and sometime to the top... 

 

Does this happen on all categories?

Link to comment

To correct my last post, it's not always top or bottom, 2 new awards was added and they were 3rd in the list

After some testing...

I created a new category and all new added awards are at the top each time. Well after a little drag to reorder, i added a new award and he was not at the top this time but second on the list.

Look like if i drag an award i mess everything...

Drag and drop categories are working great but it doesn't work with the awards no matter the categories they are in.

 

Edited by ePiom
Link to comment
6 minutes ago, ePiom said:

To correct my last post, it's not always top or bottom, 2 new awards was added and they were 3rd in the list

After some testing...

I created a new category and all new added awards are at the top each time. Well after a little drag to reorder, i added a new award and he was not at the top this time but second on the list.

Look like if i drag an award i mess everything...

Drag and drop categories are working great but it doesn't work with the awards no matter the categories they are in.

 

 

Thanks for reporting I suspect what it is, will have a fix soon and will post here so you can email me & send you the new update.

Link to comment

Started to get some really crazy errors after the latest update. Happens when I try to awards a badge via create menu or via the manage awards section...

 

Exception: You can't award others. (0)
#0 /home/theskypa/public_html/system/Dispatcher/Controller.php(96): IPS\awards\modules\front\awards\_ajaxcreate->manage()
#1 /home/theskypa/public_html/applications/awards/modules/front/awards/ajaxcreate.php(22): IPS\Dispatcher\_Controller->execute()
#2 /home/theskypa/public_html/system/Dispatcher/Dispatcher.php(129): IPS\awards\modules\front\awards\_ajaxcreate->execute()
#3 /home/theskypa/public_html/index.php(13): IPS\_Dispatcher->run()
#4 {main}

Link to comment

I get this

Exception: You can't award others. (0)
#0 [internal function]: IPS\awards\modules\admin\awards\_manage->addAward()
#1 /***********.com/public/system/Dispatcher/Controller.php(85): call_user_func(Array)
#2 /***********.com/public/system/Node/Controller.php(63): IPS\Dispatcher\_Controller->execute()
#3 /***********.com/public/applications/awards/modules/admin/awards/manage.php(36): IPS\Node\_Controller->execute()
#4 /***********.com/public/system/Dispatcher/Dispatcher.php(129): IPS\awards\modules\admin\awards\_manage->execute()
#5 /***********.com/public/admin/index.php(13): IPS\_Dispatcher->run()
#6 {main}

Edited by AndyF
Path information removed
Link to comment
  • Recently Browsing   0 members

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