UnderDog
mod
@camo you need to figure out some stuff by yourself too man, Aolee did plenty by showing us guides and making plugins. Try something, if fails, try again, if then fails, you can say your tried (code) and tried (code) and then ask for some help.How to change the bubble css too?
Answers
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·not sure if you're up to it as well, but as for me i dont want modify the plugin by doing another round of sql call just to fetch the last comment. so might as well fetch it along during the select to conserve server resource.
check how it looks like here => www.pinoyau.info (scroll down to the non-announcement portion)
if you want i can create a guide how i did it.
- Spam
- Abuse
0 · Insightful Awesome LOL ·Thank you for offering to make a guide (we need to improve guides, tutorials etc anyway). Now I think we have to do something back for you, but I'm trying to figure out what's best.
What to do if I get a Bonk Error?
Vanilla Wiki : Join and help edit our Wiki! | View all Vanilla issues on GitHub | Report a new Vanilla issue on GitHub
Deploying a new Forum and adding a Theme | Give thanks to the Vanilla Developers!
- Spam
- Abuse
0 · Insightful Awesome LOL ·Whatever you just explained went way over my head though. Nice job!
- Spam
- Abuse
0 · Insightful Awesome LOL ·@camo bubble effect is a css trick, ill create a guide tom for my version of the last user comment.
- Spam
- Abuse
0 · Insightful Awesome LOL ·http://www.goodoldmemories.com/2011/10/last-comment-in-discussionexcerpt2/
i need to upload the my modified version of discussion excerpt so i thought of creating it in my blog site.
ill soon add it here as well so it will be easily searchable by others.
- Spam
- Abuse
0 · Insightful Awesome LOL ·Fatal Error in Gdn_Database.Query();
Unknown column 'lc.Body' in 'field list'
select d.Type as `Type`, d.InsertUserID as `FirstUserID`, lc.Body as `LastUserComment`, d.DateInserted as `FirstDate`, d.CountBookmarks as `CountBookmarks`, d.Body as `Body`, d.Format as `Format`, d.DateLastComment as `LastDate`, d.LastCommentUserID as `LastUserID`, d.*, w.UserID as `WatchUserID`, w.DateLastViewed as `DateLastViewed`, w.Dismissed as `Dismissed`, w.Bookmarked as `Bookmarked`, w.CountComments as `CountCommentWatch`
from GDN_Discussion d
left join GDN_UserDiscussion w on d.DiscussionID = w.DiscussionID and w.UserID = 13
where d.DiscussionID in ('3', '8')
and coalesce(w.Dismissed, '0') = :coalescewDismissed0
order by d.DateLastComment desc
limit 15
276:
277: if (!is_object($PDOStatement)) {
278: trigger_error(ErrorMessage('PDO Statement failed to prepare', $this->ClassName, 'Query', $this->GetPDOErrorMessage($this->Connection()->errorInfo())), E_USER_ERROR);
279: } else if ($PDOStatement->execute($InputParameters) === FALSE) {
280: trigger_error(ErrorMessage($this->GetPDOErrorMessage($PDOStatement->errorInfo()), $this->ClassName, 'Query', $Sql), E_USER_ERROR);
281: }
282: } else {
283: $PDOStatement = $this->Connection()->query($Sql);
284: }
[Sql] 'select d.Type as `Type`, d.InsertUserID as `FirstUserID`, lc.Body as `LastUserComment`, d.DateInserted as `FirstDate`, d.CountBookmarks as `CountBookmarks`, d.Body as `Body`, d.Format as `Format`, d.DateLastComment as `LastDate`, d.LastCommentUserID as `LastUserID`, d.*, w.UserID as `WatchUserID`, w.DateLastViewed as `DateLastViewed`, w.Dismissed as `Dismissed`, w.Bookmarked as `Bookmarked`, w.CountComments as `CountCommentWatch`
from GDN_Discussion d
left join GDN_UserDiscussion w on d.DiscussionID = w.DiscussionID and w.UserID = 13
where d.DiscussionID in (\'3\', \'8\')
and coalesce(w.Dismissed, \'0\') = :coalescewDismissed0
order by d.DateLastComment desc
limit 15'
[InputParameters] array (
':coalescewDismissed0' => '0',
)
[Options] array (
'ReturnType' => 'DataSet',
)
[ReturnType] 'DataSet'
[PDOStatement] array (
'queryString' => 'select d.Type as `Type`, d.InsertUserID as `FirstUserID`, lc.Body as `LastUserComment`, d.DateInserted as `FirstDate`, d.CountBookmarks as `CountBookmarks`, d.Body as `Body`, d.Format as `Format`, d.DateLastComment as `LastDate`, d.LastCommentUserID as `LastUserID`, d.*, w.UserID as `WatchUserID`, w.DateLastViewed as `DateLastViewed`, w.Dismissed as `Dismissed`, w.Bookmarked as `Bookmarked`, w.CountComments as `CountCommentWatch`
from GDN_Discussion d
left join GDN_UserDiscussion w on d.DiscussionID = w.DiscussionID and w.UserID = 13
where d.DiscussionID in (\'3\', \'8\')
and coalesce(w.Dismissed, \'0\') = :coalescewDismissed0
order by d.DateLastComment desc
limit 15',
)
???? :(
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·add this code
->Join('Comment lc', 'd.LastCommentID = lc.CommentID', 'left') // Last comment
after the line
->Join('User lcu', 'd.LastCommentUserID = lcu.UserID', 'left') // Last comment user
that's why it's complaining for the field => lc.Body
- Spam
- Abuse
0 · Insightful Awesome LOL ·public function DiscussionSummaryQuery($AdditionalFields = array(), $Join = TRUE) {
// Verify permissions (restricting by category if necessary)
if ($this->Watching)
$Perms = CategoryModel::CategoryWatch();
else
$Perms = self::CategoryPermissions();
if($Perms !== TRUE) {
$this->SQL->WhereIn('d.CategoryID', $Perms);
}
// Buid main query
$this->SQL
->Select('d.Type')
->Select('d.InsertUserID', '', 'FirstUserID')
->Select('lc.Body','','LastUserComment')
->Select('d.DateInserted', '', 'FirstDate')
->Select('d.CountBookmarks')
->Select('d.Body') // <-- Need these for rss!
->Select('d.Format') // <-- Need these for rss!
->Select('d.DateLastComment', '', 'LastDate')
->Select('d.LastCommentUserID', '', 'LastUserID')
->From('Discussion d');
if ($Join) {
$this->SQL
->Select('iu.Name', '', 'FirstName') // <-- Need these for rss!
->Select('iu.Photo', '', 'FirstPhoto')
->Select('iu.Email', '', 'FirstEmail')
->Join('User iu', 'd.InsertUserID = iu.UserID', 'left') // First comment author is also the discussion insertuserid
->Select('lcu.Name', '', 'LastName')
->Select('lcu.Photo', '', 'LastPhoto')
->Select('lcu.Email', '', 'LastEmail')
->Join('User lcu', 'd.LastCommentUserID = lcu.UserID', 'left') // Last comment user
->Join('Comment lc', 'd.LastCommentID = lc.CommentID', 'left') // Last comment
->Select('ca.Name', '', 'Category')
->Select('ca.UrlCode', '', 'CategoryUrlCode')
->Select('ca.PermissionCategoryID')
->Join('Category ca', 'd.CategoryID = ca.CategoryID', 'left'); // Category
}
- Spam
- Abuse
0 · Insightful Awesome LOL ·First time I uploaded your version, speech bubble showed, with background white. I added the buuble css to themes/mytheme/design/css but couldnt make it change???
- Spam
- Abuse
0 · Insightful Awesome LOL ·mine is 2.0.17.8
try moving the
->Select('lc.Body','','LastUserComment')
below
->Select('lcu.Photo', '', 'LastPhoto')
->Select('lc.Body','','LastUserComment')
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·Ok: This shows excerpt but not last comment or photo still, but atleast no fatal error.
??? Cant change bubble css either
- Spam
- Abuse
0 · Insightful Awesome LOL ·http://nicolasgallagher.com/pure-css-speech-bubbles/demo/
and if you want to copy my css code its in
http://www.pinoyau.info/applications/dashboard/design/style.css
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·/forum/plugins/Minify/min/?b=forum&token=10fcb15fd759198c57c9c9682b5ee396.css
???? what the?
- Spam
- Abuse
0 · Insightful Awesome LOL ·btw, did you download my version of the discussionexcerpt plugin?
- Spam
- Abuse
0 · Insightful Awesome LOL ·Have yours saved with changes you suggested here
http://vanillaforums.org/discussion/comment/145161#Comment_145161
Now have reverted to original plugin, but want to get the speech bubble happening.
In the plugin default.php < div class=bubble speech etc) is already in place, so if i insert the css in the right place, I should get the bubble yes?
here is link (original plugin current)
http://www.camosreptiles.com.au/forum/
If you want me reinstall your version, I can, Ill just upload my ready altered
class.discussionmodel.php and away we go
- Spam
- Abuse
0 · Insightful Awesome LOL ·@Aolee ok now your version in place but not working
- Spam
- Abuse
0 · Insightful Awesome LOL ·If you want me to just leave this be, just say so and I will revert to the original plugin.
Everything in place, here is classdiscussionmodel.php
still dosent work
http://www.camosreptiles.com.au/forum/index.php?p=/
public function DiscussionSummaryQuery($AdditionalFields = array(), $Join = TRUE) {
// Verify permissions (restricting by category if necessary)
if ($this->Watching)
$Perms = CategoryModel::CategoryWatch();
else
$Perms = self::CategoryPermissions();
if($Perms !== TRUE) {
$this->SQL->WhereIn('d.CategoryID', $Perms);
}
// Buid main query
$this->SQL
->Select('d.Type')
->Select('d.InsertUserID', '', 'FirstUserID')
->Select('d.DateInserted', '', 'FirstDate')
->Select('d.CountBookmarks')
->Select('d.Body') // <-- Need these for rss!
->Select('d.Format') // <-- Need these for rss!
->Select('d.DateLastComment', '', 'LastDate')
->Select('d.LastCommentUserID', '', 'LastUserID')
->From('Discussion d');
if ($Join) {
$this->SQL
->Select('iu.Name', '', 'FirstName') // <-- Need these for rss!
->Select('iu.Photo', '', 'FirstPhoto')
->Select('iu.Email', '', 'FirstEmail')
->Join('User iu', 'd.InsertUserID = iu.UserID', 'left') // First comment author is also the discussion insertuserid
->Select('lcu.Name', '', 'LastName')
->Select('lcu.Photo', '', 'LastPhoto')
>Select('lc.Body','','LastUserComment')
->Select('lcu.Email', '', 'LastEmail')
->Join('User lcu', 'd.LastCommentUserID = lcu.UserID', 'left') // Last comment user
->Join('Comment lc', 'd.LastCommentID = lc.CommentID', 'left') // Last comment
->Select('ca.Name', '', 'Category')
->Select('ca.UrlCode', '', 'CategoryUrlCode')
->Select('ca.PermissionCategoryID')
->Join('Category ca', 'd.CategoryID = ca.CategoryID', 'left'); // Category
}
- Spam
- Abuse
0 · Insightful Awesome LOL ·@Aolee, thanks for your time.
- Spam
- Abuse
0 · Insightful Awesome LOL ·public function DiscussionSummaryQuery($AdditionalFields = array(), $Join = TRUE) {
// Verify permissions (restricting by category if necessary)
if ($this->Watching)
$Perms = CategoryModel::CategoryWatch();
else
$Perms = self::CategoryPermissions();
if($Perms !== TRUE) {
$this->SQL->WhereIn('d.CategoryID', $Perms);
}
// Buid main query
$this->SQL
->Select('d.Type')
->Select('d.InsertUserID', '', 'FirstUserID')
->Select('d.DateInserted', '', 'FirstDate')
->Select('d.CountBookmarks')
->Select('d.Body') // <-- Need these for rss!
->Select('d.Format') // <-- Need these for rss!
->Select('d.Format') // <-- Need these for rss!
->Select('lc.Body','','LastUserComment')
->Select('d.DateLastComment', '', 'LastDate')
->Select('d.LastCommentUserID', '', 'LastUserID')
->From('Discussion d')
->Join('Comment lc', 'd.LastCommentID = lc.CommentID', 'left');
if ($Join) {
$this->SQL
->Select('iu.Name', '', 'FirstName') // <-- Need these for rss!
->Select('iu.Photo', '', 'FirstPhoto')
->Select('iu.Email', '', 'FirstEmail')
->Join('User iu', 'd.InsertUserID = iu.UserID', 'left') // First comment author is also the discussion insertuserid
->Select('lcu.Name', '', 'LastName')
->Select('lcu.Photo', '', 'LastPhoto')
->Select('lcu.Email', '', 'LastEmail')
->Join('User lcu', 'd.LastCommentUserID = lcu.UserID', 'left') // Last comment user
->Select('ca.Name', '', 'Category')
->Select('ca.UrlCode', '', 'CategoryUrlCode')
->Select('ca.PermissionCategoryID')
->Join('Category ca', 'd.CategoryID = ca.CategoryID', 'left'); // Category
}
// Add any additional fields that were requested
if(is_array($AdditionalFields)) {
foreach($AdditionalFields as $Alias => $Field) {
// See if a new table needs to be joined to the query.
$TableAlias = explode('.', $Field);
$TableAlias = $TableAlias[0];
if(array_key_exists($TableAlias, $Tables)) {
$Join = $Tables[$TableAlias];
$this->SQL->Join($Join[0], $Join[1]);
unset($Tables[$TableAlias]);
}
// Select the field.
$this->SQL->Select($Field, '', is_numeric($Alias) ? '' : $Alias);
}
}
$this->FireEvent('AfterDiscussionSummaryQuery');
}
Actually UnderDog just want you to play more with vanilla code so you will be more familiar with it :) cheers!
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·http://www.camosreptiles.com.au/forum/
- Spam
- Abuse
0 · Insightful Awesome LOL ·- Spam
- Abuse
0 · Insightful Awesome LOL ·Thankyou Thankyou Aolee!
Edit: I got that one tweaked, very easy! Woohoo! :)
- Spam
- Abuse
0 · Insightful Awesome LOL ·was just testing possible conflicts between this plugin (your core hack)
http://vanillaforums.org/discussion/comment/145182#Comment_145182
and feed discussions, where p[ost in feeddiscussions were being truncated.
I removed this file amnd uploaded the original from RC2 and did utility update and it still works! E.G still shows last comment in the excerpt. Strange no? :)
- Spam
- Abuse
0 · Insightful Awesome LOL ·