PDA

View Full Version : How To Make This Align In Columns


DieselMinded
07-18-2009, 11:27 PM
This is what i have now:
http://www.dieselbookmarks.com/bombers/show.png

With This:
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_socialgroup.php');
require_once(DIR . '/includes/functions_grouplist.php');

// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$c = 0;
$settings = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "grouplist_settings");
$categories = fetch_categories($settings);
$newestgroup = fetch_newest_group();
foreach ($categories AS $categoryid => $categoryname)
{
$group = $db->query_first("
SELECT * FROM " . TABLE_PREFIX . "grouplist
WHERE categoryid = $categoryid
");
$groupids = unserialize($group['exclude']);
$groupids = ($groupids ? implode(",", $groupids) : $groupids);
$socialgroups = fetch_groups($groupids, $categoryid, $group['order'], $group['sort'], $group['limit']);
if ($group['order'] == 'name')
{
$order = 'Alphabetical Order';
}
elseif ($group['order'] == 'members')
{
$order = 'Popularity';
}
elseif ($group['order'] == 'discussions')
{
$order = 'Discussions';
}
$c++;
$class = ($c % 2 == 0 ? 'alt2' : 'alt1');
eval('$categorybits .= "<tr>\n<td class=\"$class\"> <span class=\"smallfont\">' . ($group['limit'] ? '(Top $group[limit] by $order)' : '') . '</span><div style=\"margin-left: 0.5%\">";');
foreach ($socialgroups AS $groupid => $groupname)
{
$groupinfo = fetch_socialgroupinfo($groupid);
if ($groupinfo['lastpost'] > $vbulletin->userinfo['lastvisit'] OR $groupinfo['lastpost'] > $vbulletin->userinfo['lastactivity'])
{
$icon = "images/statusicon/subforum_new.gif";
}
else
{
$icon = "images/statusicon/subforum_old.gif";
}
eval('$groupbits = "' . fetch_template('grouplist_groupbits') . '";');
eval('$categorybits .= "$groupbits";');
}
$lastpost = fetch_last_post($categoryid);
eval('$categorybits .= "</div></td>\n\n</tr>";');
}
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('$fhgrouplist = "' . fetch_template('grouplist') . '";');

I want it to align in 3 columns

DieselMinded
07-28-2009, 04:05 AM
anyone?

DieselMinded
08-16-2009, 11:32 PM
Last try

DieselMinded
11-20-2009, 03:24 AM
Ok For real last try

kh99
11-20-2009, 01:48 PM
You could try:

.
.
$class = ($c % 2 == 0 ? 'alt2' : 'alt1');
eval('$categorybits .= "<tr>\n<td class=\"$class\" width="33%"> <span class=\"smallfont\">' . ($group['limit'] ? '(Top $group[limit] by $order)' : '') . '</span><div style=\"margin-left: 0.5%\">";');
.
.



(adding the part in red) but I'm not sure. Also, it looks like the code is set up to allow a variable number of columns, and this of course assumes 3. (It would be easy enough to use the number of categories and put in code to calulate the percentage for equal width columns, but at least see if it works at all first).

DieselMinded
11-21-2009, 09:43 AM
thanks for the try but when i put that in there it messes it all up moved the boxes header below the list and removed border and back ground from the list any more ideas? I need 7 or 8 collums

kh99
11-21-2009, 11:01 AM
I guess I misunderstood. I probably should have asked, which part is it exactly that you want to align in columns?

DieselMinded
11-21-2009, 06:02 PM
the group names

Lynne
11-21-2009, 06:05 PM
Have you tried putting them in div tags with a set width instead of in span tags?

DieselMinded
11-21-2009, 06:11 PM
How would that be done?

Lynne
11-21-2009, 06:14 PM
Um.... something like <div style="width:100px" class="smallfont"> instead of the <span class="smallfont"> part. (I'm not sure, but it sounds like it would work - you may need to tweek the css a little bit - add padding or margins and overflow).

DieselMinded
11-22-2009, 10:20 AM
https://vborg.vbsupport.ru/external/2009/11/11.gif

kh99
11-22-2009, 01:01 PM
the group names
Yeah, sorry - for some reason I was looking at the bottom of your image, and I thought you meant you wanted 3 equal columns.

I think to try Lynne's suggestion you need to edit the grouplist_groupbits template.

If that doesn't work you could put them in a table. It probably should be done via changes to the templates as well as the code, but you could try this:

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/functions_socialgroup.php');
require_once(DIR . '/includes/functions_grouplist.php');

// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$c = 0;
$settings = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "grouplist_settings");
$categories = fetch_categories($settings);
$newestgroup = fetch_newest_group();
foreach ($categories AS $categoryid => $categoryname)
{
$group = $db->query_first("
SELECT * FROM " . TABLE_PREFIX . "grouplist
WHERE categoryid = $categoryid
");
$groupids = unserialize($group['exclude']);
$groupids = ($groupids ? implode(",", $groupids) : $groupids);
$socialgroups = fetch_groups($groupids, $categoryid, $group['order'], $group['sort'], $group['limit']);
if ($group['order'] == 'name')
{
$order = 'Alphabetical Order';
}
elseif ($group['order'] == 'members')
{
$order = 'Popularity';
}
elseif ($group['order'] == 'discussions')
{
$order = 'Discussions';
}
$c++;
$class = ($c % 2 == 0 ? 'alt2' : 'alt1');
eval('$categorybits .= "<tr>\n<td class=\"$class\"> <span class=\"smallfont\">' . ($group['limit'] ? '(Top $group[limit] by $order)' : '') . '</span><div style=\"margin-left: 0.5%\">";');
$categorybits .= "<table>";
$grcol = 0;
foreach ($socialgroups AS $groupid => $groupname)
{
if ($grcol == 0)
{
$categorybits .= "<tr>";
}
$groupinfo = fetch_socialgroupinfo($groupid);
if ($groupinfo['lastpost'] > $vbulletin->userinfo['lastvisit'] OR $groupinfo['lastpost'] > $vbulletin->userinfo['lastactivity'])
{
$icon = "images/statusicon/subforum_new.gif";
}
else
{
$icon = "images/statusicon/subforum_old.gif";
}
eval('$groupbits = "' . fetch_template('grouplist_groupbits') . '";');
$categorybits .= '<td width="33%">' . $groupbits . '</td>';
if (++$grcol >= 3)
{
$categorybits .= "</tr>";
$grcol = 0;
}
}
if ($grcol != 0)
{
while ($grcol < 3)
{
$categorybits .= '<td width="33%">&nbsp;</td>';
++$grcol;
}
$categorybits .= "</tr>";
}
$categorybits .= "</table>";
$lastpost = fetch_last_post($categoryid);
eval('$categorybits .= "</div></td>\n\n</tr>";');
}
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('$fhgrouplist = "' . fetch_template('grouplist') . '";');


I haven't tried that code at all, so it's kind of a stab in the dark...

DieselMinded
11-29-2009, 12:30 AM
i put your code in and the box didnt show at all

kh99
11-29-2009, 12:51 AM
OK, it looks like there was a problem with single vs. double quotes. I edited the code above, try it again if you're still interested.

DieselMinded
11-29-2009, 01:03 AM
nope it even takes off the users who have visited today as well

kh99
11-29-2009, 01:25 AM
OK, sorry, I guess I can't debug it "blind".

Maybe someone else can help...

DieselMinded
11-29-2009, 01:31 AM
thanks for you help , looks like im just going to have to like it for now

DieselMinded
01-14-2010, 06:45 PM
can someone move this to paid please