wtravel wrote:
Can you check which queries the MySQL debug window comes up with and post it to me when you click on the 'b' letter (list)?
I'm uploading it to my localhost site, as I can't do it on a "Live" site....
Probably a bit later ...
wtravel wrote:
Can you check which queries the MySQL debug window comes up with and post it to me when you click on the 'b' letter (list)?
wtravel wrote:
tzvook,
It should be possible to get all first letters of data in a column from the query results, but that would still require the query to get all results.
What I would do is create an extra column with the first letter of the category or title or whatever column you would like to use to filter on alphabet. Update the column with the first letters of the already existing data, and adjust the insert and update queries to fill this column based on the data entry.
Then you can adjust the query to only select records that match the letter in the "alphabetical" parameter in your url. This will not only speed up queries, it will also save calculation time.
Martijn
abbey wrote:
Guys am a new user of XOOPS and I am really thrilled working with it on my site ...http://www.ghanamusic.com/html [not fully operational yet].
I have 3 major concerns here.
1. how do I put a caption under the images that I upload with the image manager? Especially images that accompany the articles under the news section.
2. It it possible to have some padding around the image so that the text of the article is not too close to it?
3. Is it possible to specify a border around the image so that it stands out?
Thanks
Mr_RealSurf wrote:
some of the modules I most want to add to my XOOPS site are ports of pre-existing applications. To be specific, I currently use the following on my non-xoops site:
*phpAdsNew
-Don
<?php
/************************************************************************/
/* PHP-NUKE: Web Portal System */
/* =========================== */
/* */
/* Copyright (c) 2002 by Francisco Burzi */
/* http://phpnuke.org */
/* */
/* ========================= */
/* Based on MyPHPortal Modified MembersList */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License. */
/* Modified by chatserv of http://www.nukeresources.com to work under */
/* CNB Your Account */
/************************************************************************/
/* Some code taken from MemberList coded by Paul Joseph Thompson */
/* of www.slug.okstate.edu */
/* In memoriam of Members List War ;) */
if (!eregi("modules.php", $PHP_SELF)) {
die ("You can't access this file directly...");
}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);
function alpha() {
/* Creates the list of letters and makes them a link. */
global $sortby, $module_name;
$alphabet = array ("All", "A","B","C","D","E","F","G","H","I","J","K","L","M",
"N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Other");
$num = count($alphabet) - 1;
echo "<center>[ ";
/* start of HTML */
$counter = 0;
while (list(, $ltr) = each($alphabet)) {
echo "<A HREF="modules.php?name=$module_name&letter=$ltr&sortby=$sortby">$ltr</a>";
if ( $counter == round($num/2) ) {
echo " ]n<br>n[ ";
} elseif ( $counter != $num ) {
echo " | n";
}
$counter ;
}
echo " ]n</center>n<br>n"; // end of HTML
}
function SortLinks($letter) { // Makes order by links..
global $sortby, $module_name;
if ($letter == "front") {
$letter = "All";
}
echo "n<center>n"; // Start of HTML
echo ""._SORTBY." <b>[</b> ";
if ($sortby == "username" OR !$sortby) {
echo ""._MNICKNAME." | ";
} else {
echo "<A HREF="modules.php?name=$module_name&letter=$letter&sortby=username">"._MNICKNAME."</a> | ";
}
if ($sortby == "name") {
echo ""._MREALNAME." | ";
} else {
echo "<A HREF="modules.php?name=$module_name&letter=$letter&sortby=name">"._MREALNAME."</a> | ";
}
if ($sortby == "femail") {
echo ""._MEMAIL." | ";
} else {
echo "<A HREF="modules.php?name=$module_name&letter=$letter&sortby=femail">"._MEMAIL."</a> | ";
}
if ($sortby == "user_website") {
echo ""._MURL." | ";
} else {
echo "<A HREF="modules.php?name=$module_name&letter=$letter&sortby=user_website">"._MURL."</a>";
}
echo " <b>]</b>n</center>n"; // end of HTML
}
include("header.php");
$pagesize = 20;
if (!isset($letter)) { $letter = "A"; }
if (!isset($sortby)) { $sortby = "username"; }
if (!isset($page)) { $page = 1; }
/* All of the code from here to around line 125 will be optimized a little later */
/* This is the header section that displays the last registered and who's logged in and whatnot */
$result = sql_query("select username from ".$user_prefix."_users order by user_id DESC limit 0,1", $dbi);
list($lastuser) = sql_fetch_row($result, $dbi);
echo "nn<!-- MEMBERS LIST -->nn";
OpenTable();
echo "<center><b>"._WELCOMETO." $sitename "._MEMBERSLIST."</b><br><br>n";
echo ""._GREETINGS." <A HREF="modules.php?name=Your_Account&op=userinfo&username=$lastuser">$lastuser</a>n</center>n<br>n";
$numrows = sql_num_rows(sql_query("select user_id from ".$user_prefix."_users", $dbi), $dbi);
if (is_user($user)) {
$result2 = sql_query("SELECT uname,guest FROM ".$prefix."_session where guest=0", $dbi);
$member_online_num = sql_num_rows($result2, $dbi);
$who_online = "<b>"._ONLINEREG." </b><br><br>";
$i = 1;
while ($session = sql_fetch_array($result2, $dbi)) {
if (isset($session["guest"]) and $session["guest"] == 0) {
$who_online .= "<A HREF="modules.php?name=Your_Account&op=userinfo&username=$session[uname]">$session[uname]</a>n";
$who_online .= ($i != $member_online_num ? " - " : "");
$i ;
}
}
echo "<center>"._WEHAVE." <b>$numrows</b> "._MREGISTERED." <b>$member_online_num</b>n";
echo " "._MREGONLINE."</center><br><br>";
OpenTable2();
echo "<CENTER>$who_online</CENTER>n";
CloseTable2();
echo "<br><br>";
} else {
echo "<center>"._WEHAVE." <b>$numrows</b> "._REGSOFAR."</center>n<br>n<br>n";
}
alpha();
SortLinks($letter);
/* end of top memberlist section thingie */
/* This starts the beef...*/
$min = $pagesize * ($page - 1); // This is where we start our record set from
$max = $pagesize; // This is how many rows to select
/* All my SQL stuff. DO NOT ALTER ANYTHING UNLESS YOU KNOW WHAT YOU ARE DOING */
/* This is a totaly crap code, any help to re-code this functions will be very appreciated */
/* Need to be database independent */
$count = "SELECT COUNT(user_id) AS total FROM ".$user_prefix."_users "; // Count all the users in the db..
$select = "select user_id, name, username, femail, user_website from ".$user_prefix."_users "; //select our data
$where = "where username != 'Anonymous' ";
if ( ( $letter != "Other" ) AND ( $letter != "All" ) ) { // are we listing all or "other" ?
$where .= "AND username like '".$letter."%' "; // I guess we are not..
} else if ( ( $letter == "Other" ) AND ( $letter != "All" ) ) { // But other is numbers ?
$where .= "AND username REGEXP "^[1-9]" "; // REGEX :D, although i think its MySQL only
// Will have to change this later.
// if you know a better way to match only the first char
// to be a number in uname, please change it and email
// myphportal-developers@lists.sourceforge.net the correction
// or goto http://sourceforge.net/projects/myphportal and post
// your correction there. Thanks, Bjorn.
} else { // or we are unknown or all..
$where .= ""; // this is to get rid of anoying "undefinied variable" message
}
$sort = "order by $sortby"; //sorty by .....
$limit = " ASC LIMIT ".$min.", ".$max; // we only want rows $min to $max
/* due to how this works, i need the total number of users per
letter group, then we can hack of the ones we want to view */
$count_result = sql_query($count.$where, $dbi);
$num_rows_per_order = mysql_result($count_result,0,0);
/* This is where we get our limit'd result set. */
$result = sql_query($select.$where.$sort.$limit, $dbi) or die(); // Now lets do it !!
/* Crap code ends here */
echo "<br>";
if ( $letter != "front" ) {
echo "<table width="1" border="0" cellspacing="1"><tr>n";
echo "<td BGCOLOR="$bgcolor4" align="center"><font color="$textcolor2"><b>"._NICKNAME."</b></font></td>n";
echo "<td BGCOLOR="$bgcolor4" align="center"><font color="$textcolor2"><b>"._REALNAME."</b></font></td>n";
echo "<td BGCOLOR="$bgcolor4" align="center"><font color="$textcolor2"><b>"._EMAIL."</b></font></td>n";
echo "<td BGCOLOR="$bgcolor4" align="center"><font color="$textcolor2"><b>"._URL."</b></font></td>n";
$cols = 4;
if(is_admin($admin)) {
$cols = 5;
echo "<td BGCOLOR="$bgcolor4" align="center"><font color="$textcolor2"><b>"._FUNCTIONS."</b></font></td>n";
}
echo "</tr>";
$a = 0;
$dcolor_A = "$bgcolor2";
$dcolor_B = "$bgcolor1";
$num_users = sql_num_rows($result, $dbi); //number of users per sorted and limit query
if ( $num_rows_per_order > 0 ) {
while($user = sql_fetch_array($result, $dbi)) {
$dcolor = ($a == 0 ? $dcolor_A : $dcolor_B);
echo "<tr><td bgcolor="$dcolor"><A HREF="modules.php?name=Your_Account&op=userinfo&username=$user[username]"><font color="$textcolor1">$user[username]</font></a> </td>n";
echo "<td bgcolor="$dcolor"><font color="$textcolor1">$user[name]</font> </td>n";
echo "<td bgcolor="$dcolor"><font color="$textcolor1">$user[femail]</font> </td>n";
if ($user[user_website] == "") {
$url2 = " ";
} else {
$urlno = eregi_replace("http://","",$user[user_website]);
$url2 = "<a href="http://$urlno" target="new">"._HOMEPAGE."</a>";
}
echo "<td bgcolor="$dcolor" align="center">$url2</td>n";
if(is_admin($admin)) {
echo "<td bgcolor=$dcolor align=center><font class="content" color="$textcolor1">[ <A HREF="modules.php?name=Your_Account&file=admin&op=modifyUser&chng_uid=$user[user_id]">"._EDIT."</a> | n";
echo "<A HREF="modules.php?name=Your_Account&file=admin&op=deleteUser&chng_uid=$user[user_id]">"._DELETE."</a> ]</font></td>n";
}
echo "</tr>";
$a = ($dcolor == $dcolor_A ? 1 : 0);
}
// start of next/prev/row links.
echo "n<tr><td colspan='$cols' align='right'>n";
echo "<br><br>";
OpenTable();
echo "t<table width='1' cellspacing='0' cellpadding='0' border=0><tr>";
if ( $num_rows_per_order > $pagesize ) {
$total_pages = ceil($num_rows_per_order / $pagesize); // How many pages are we dealing with here ??
$prev_page = $page - 1;
if ( $prev_page > 0 ) {
echo "<td align='left' width='Q'><a href='modules.php?name=$module_name&letter=$letter&sortby=$sortby&page=$prev_page'>";
echo "<img src="images/left.gif" border="0" alt=""._PREVIOUS." ($prev_page)" title=""._PREVIOUS." ($prev_page)"></a></td>";
} else {
echo "<td width='Q'> </td>n";
}
echo "<td align='center' width=''>";
echo "<font class=tiny>$num_rows_per_order "._USERSFOUND." <b>$letter</b> ($total_pages "._PAGES.", $num_users "._USERSSHOWN.")</font>";
echo "</td>";
$next_page = $page 1;
if ( $next_page <= $total_pages ) {
echo "<td align='right' width='Q'><a href='modules.php?name=$module_name&letter=$letter&sortby=$sortby&page=$next_page'>";
echo "<img src="images/right.gif" border="0" alt="Next Page ($next_page)" title="Next Page ($next_page)"></a></td>";
} else {
echo "<td width='Q'> </td></tr>n";
}
/* Added a numbered page list, only shows up to 50 pages. */
echo "<tr><td colspan="3" align="center">";
echo " <font class=tiny>[ </font>";
for($n=1; $n < $total_pages; $n ) {
if ($n == $page) {
echo "<font class=tiny><b>$n</b></font></a>";
} else {
echo "<a href='modules.php?name=$module_name&letter=$letter&sortby=$sortby&page=$n'>";
echo "<font class=tiny>$n</font></a>";
}
if($n >= 50) { // if more than 50 pages are required, break it at 50.
$break = true;
break;
} else { // guess not.
echo "<font class=tiny> | </font>";
}
}
if(!isset($break)) { // are we sopposed to break ?
if ($n == $page) {
echo "<font class=tiny><b>$n</b></font></a>";
} else {
echo "<a href='modules.php?name=$module_name&letter=$letter&sortby=$sortby&page=$total_pages'>";
echo "<font class=tiny>$n</font></a>";
}
}
echo " <font class=tiny>]</font> ";
echo "</td></tr>";
/* This is where it ends */
}else{ // or we dont have any users..
echo "<td align='center'>";
echo "<font class=tiny>$num_rows_per_order "._USERSFOUND." $letter</font>";
echo "</td></tr>";
}
echo "</table>n";
CloseTable();
echo "</td></tr>n";
// end of next/prev/row links
} else { // you have no members on this letter, hahaha
echo "<tr><td bgcolor="$dcolor_A" colspan="$cols" align="center"><br>n";
echo "<b><font color="$textcolor1">"._NOMEMBERS." $letter</font></b>n";
echo "<br></td></tr>n";
}
echo "n</table><br>n";
}
CloseTable();
include("footer.php");
?>
$permittedtypes=array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png' ,'application/x-zip-compressed', 'application/pdf', 'application/x-gtar', 'application/x-tar');
$permittedtypes=array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png' ,'application/x-zip-compressed', 'application/pdf', 'application/x-gtar', 'application/msexcel', 'application/msword', 'application/x-tar');
solo71 wrote:
Test time now !
Wheeler wrote:
tzvook,
from recent threads, I am aware you have a hacked version of xdir. I also thought I read somewhere your alpha links hack came from WF-Downloads. Sorry, I guess I can not help you. This is beyond the focus of the work which I'm currently conducting.