mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-16 14:00:56 +08:00
invite system add pager
This commit is contained in:
@@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
|
||||||
use Illuminate\Support\Facades\Schema;
|
|
||||||
|
|
||||||
return new class extends Migration
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Run the migrations.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function up()
|
|
||||||
{
|
|
||||||
$sql = "update attendance,attendance_logs set attendance.total_days = attendance.total_days + (select count(*) from attendance_logs where uid = attendance.uid and is_retroactive = 1)";
|
|
||||||
\Illuminate\Support\Facades\DB::update($sql);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reverse the migrations.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function down()
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -6,9 +6,20 @@ loggedinorreturn();
|
|||||||
parked();
|
parked();
|
||||||
$id = intval($_GET["id"] ?? 0);
|
$id = intval($_GET["id"] ?? 0);
|
||||||
$type = unesc($_GET["type"] ?? '');
|
$type = unesc($_GET["type"] ?? '');
|
||||||
|
$menuSelected = $_REQUEST['menu'] ?? 'invitee';
|
||||||
|
|
||||||
registration_check('invitesystem',true,false);
|
registration_check('invitesystem',true,false);
|
||||||
|
|
||||||
|
function inviteMenu ($selected = "invitee") {
|
||||||
|
global $lang_invite, $id, $CURUSER;
|
||||||
|
begin_main_frame();
|
||||||
|
print ("<div id=\"invitenav\" style='position: relative'><ul id=\"invitemenu\" class=\"menu\">");
|
||||||
|
print ("<li" . ($selected == "invitee" ? " class=selected" : "") . "><a href=\"?id=".$id."&menu=invitee\">".$lang_invite['text_invite_status']."</a></li>");
|
||||||
|
print ("<li" . ($selected == "sent" ? " class=selected" : "") . "><a href=\"?id=".$id."&menu=sent\">".$lang_invite['text_sent_invites_status']."</a></li>");
|
||||||
|
print ("</ul><form style='position: absolute;top:0;right:0' method=post action=invite.php?id=".htmlspecialchars($id)."&type=new><input type=submit ".($CURUSER['invites'] <= 0 ? "disabled " : "")." value='".$lang_invite['sumbit_invite_someone']."'></form></div>");
|
||||||
|
end_main_frame();
|
||||||
|
}
|
||||||
|
|
||||||
if (($CURUSER['id'] != $id && get_user_class() < $viewinvite_class) || !is_valid_id($id))
|
if (($CURUSER['id'] != $id && get_user_class() < $viewinvite_class) || !is_valid_id($id))
|
||||||
stderr($lang_invite['std_sorry'],$lang_invite['std_permission_denied']);
|
stderr($lang_invite['std_sorry'],$lang_invite['std_permission_denied']);
|
||||||
if (get_user_class() < $sendinvite_class)
|
if (get_user_class() < $sendinvite_class)
|
||||||
@@ -16,7 +27,7 @@ stderr($lang_invite['std_sorry'],$lang_invite['std_only'].get_user_class_name($s
|
|||||||
$res = sql_query("SELECT username FROM users WHERE id = ".mysql_real_escape_string($id)) or sqlerr();
|
$res = sql_query("SELECT username FROM users WHERE id = ".mysql_real_escape_string($id)) or sqlerr();
|
||||||
$user = mysql_fetch_assoc($res);
|
$user = mysql_fetch_assoc($res);
|
||||||
stdhead($lang_invite['head_invites']);
|
stdhead($lang_invite['head_invites']);
|
||||||
print("<table width=700 class=main border=0 cellspacing=0 cellpadding=0><tr><td class=embedded>");
|
print("<table width=100% class=main border=0 cellspacing=0 cellpadding=0><tr><td class=embedded>");
|
||||||
|
|
||||||
print("<h1 align=center><a href=\"invite.php?id=".$id."\">".$user['username'].$lang_invite['text_invite_system']."</a></h1>");
|
print("<h1 align=center><a href=\"invite.php?id=".$id."\">".$user['username'].$lang_invite['text_invite_system']."</a></h1>");
|
||||||
$sent = htmlspecialchars($_GET['sent'] ?? '');
|
$sent = htmlspecialchars($_GET['sent'] ?? '');
|
||||||
@@ -46,117 +57,118 @@ if ($type == 'new'){
|
|||||||
$invitation_body = $lang_invite['text_invitation_body'].$CURUSER['username'];
|
$invitation_body = $lang_invite['text_invitation_body'].$CURUSER['username'];
|
||||||
//$invitation_body_insite = str_replace("<br />","\n",$invitation_body);
|
//$invitation_body_insite = str_replace("<br />","\n",$invitation_body);
|
||||||
print("<form method=post action=takeinvite.php?id=".htmlspecialchars($id).">".
|
print("<form method=post action=takeinvite.php?id=".htmlspecialchars($id).">".
|
||||||
"<table border=1 width=737 cellspacing=0 cellpadding=5>".
|
"<table border=1 width=100% cellspacing=0 cellpadding=5>".
|
||||||
"<tr align=center><td colspan=2><b>".$lang_invite['text_invite_someone']."$SITENAME ({$inv['invites']}".$lang_invite['text_invitation'].$_s.$lang_invite['text_left'] .")</b></td></tr>".
|
"<tr align=center><td colspan=2><b>".$lang_invite['text_invite_someone']."$SITENAME ({$inv['invites']}".$lang_invite['text_invitation'].$_s.$lang_invite['text_left'] .")</b></td></tr>".
|
||||||
"<tr><td class=\"rowhead nowrap\" valign=\"top\" align=\"right\">".$lang_invite['text_email_address']."</td><td align=left><input type=text size=40 name=email><br /><font align=left class=small>".$lang_invite['text_email_address_note']."</font>".($restrictemaildomain == 'yes' ? "<br />".$lang_invite['text_email_restriction_note'].allowedemails() : "")."</td></tr>".
|
"<tr><td class=\"rowhead nowrap\" valign=\"top\" align=\"right\">".$lang_invite['text_email_address']."</td><td align=left><input type=text size=40 name=email><br /><font align=left class=small>".$lang_invite['text_email_address_note']."</font>".($restrictemaildomain == 'yes' ? "<br />".$lang_invite['text_email_restriction_note'].allowedemails() : "")."</td></tr>".
|
||||||
"<tr><td class=\"rowhead nowrap\" valign=\"top\" align=\"right\">".$lang_invite['text_message']."</td><td align=left><textarea name=body rows=8 cols=120>" .$invitation_body.
|
"<tr><td class=\"rowhead nowrap\" valign=\"top\" align=\"right\">".$lang_invite['text_message']."</td><td align=left><textarea name=body rows=10 style='width: 100%'>" .$invitation_body.
|
||||||
"</textarea></td></tr>".
|
"</textarea></td></tr>".
|
||||||
"<tr><td align=center colspan=2><input type=submit value='".$lang_invite['submit_invite']."'></td></tr>".
|
"<tr><td align=center colspan=2><input type=submit value='".$lang_invite['submit_invite']."'></td></tr>".
|
||||||
"</form></table></td></tr></table>");
|
"</form></table></td></tr></table>");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
inviteMenu($menuSelected);
|
||||||
|
if ($menuSelected == 'invitee') {
|
||||||
|
$rel = sql_query("SELECT COUNT(*) FROM users WHERE invited_by = ".mysql_real_escape_string($id)) or sqlerr(__FILE__, __LINE__);
|
||||||
|
$arro = mysql_fetch_row($rel);
|
||||||
|
$number = $arro[0];
|
||||||
|
list($pagertop, $pagerbottom, $limit) = pager(1, $number, "?id=$id&menu=$menuSelected&");
|
||||||
|
|
||||||
$rel = sql_query("SELECT COUNT(*) FROM users WHERE invited_by = ".mysql_real_escape_string($id)) or sqlerr(__FILE__, __LINE__);
|
$ret = sql_query("SELECT id, username, email, uploaded, downloaded, status, warned, enabled, donor, email FROM users WHERE invited_by = ".mysql_real_escape_string($id) . " $limit") or sqlerr();
|
||||||
$arro = mysql_fetch_row($rel);
|
$num = mysql_num_rows($ret);
|
||||||
$number = $arro[0];
|
|
||||||
|
|
||||||
$ret = sql_query("SELECT id, username, email, uploaded, downloaded, status, warned, enabled, donor, email FROM users WHERE invited_by = ".mysql_real_escape_string($id)) or sqlerr();
|
print("<table border=1 width=100% cellspacing=0 cellpadding=5>".
|
||||||
$num = mysql_num_rows($ret);
|
"<form method=post action=takeconfirm.php?id=".htmlspecialchars($id).">");
|
||||||
|
|
||||||
print("<table border=1 width=737 cellspacing=0 cellpadding=5>".
|
if(!$num){
|
||||||
"<h2 align=center>".$lang_invite['text_invite_status']." ($number)</h2><form method=post action=takeconfirm.php?id=".htmlspecialchars($id).">");
|
print("<tr><td colspan=7 align=center>".$lang_invite['text_no_invites']."</tr>");
|
||||||
|
} else {
|
||||||
|
|
||||||
if(!$num){
|
print("<tr><td class=colhead><b>".$lang_invite['text_username']."</b></td><td class=colhead><b>".$lang_invite['text_email']."</b></td><td class=colhead><b>".$lang_invite['text_uploaded']."</b></td><td class=colhead><b>".$lang_invite['text_downloaded']."</b></td><td class=colhead><b>".$lang_invite['text_ratio']."</b></td><td class=colhead><b>".$lang_invite['text_status']."</b></td>");
|
||||||
print("<tr><td colspan=7 align=center>".$lang_invite['text_no_invites']."</tr>");
|
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP)
|
||||||
} else {
|
print("<td class=colhead><b>".$lang_invite['text_confirm']."</b></td>");
|
||||||
|
|
||||||
print("<tr><td class=colhead><b>".$lang_invite['text_username']."</b></td><td class=colhead><b>".$lang_invite['text_email']."</b></td><td class=colhead><b>".$lang_invite['text_uploaded']."</b></td><td class=colhead><b>".$lang_invite['text_downloaded']."</b></td><td class=colhead><b>".$lang_invite['text_ratio']."</b></td><td class=colhead><b>".$lang_invite['text_status']."</b></td>");
|
print("</tr>");
|
||||||
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP)
|
for ($i = 0; $i < $num; ++$i)
|
||||||
print("<td class=colhead><b>".$lang_invite['text_confirm']."</b></td>");
|
{
|
||||||
|
$arr = mysql_fetch_assoc($ret);
|
||||||
|
$user = "<td class=rowfollow>" . get_username($arr['id']) . "</td>";
|
||||||
|
|
||||||
print("</tr>");
|
if ($arr["downloaded"] > 0) {
|
||||||
for ($i = 0; $i < $num; ++$i)
|
$ratio = number_format($arr["uploaded"] / $arr["downloaded"], 3);
|
||||||
{
|
$ratio = "<font color=" . get_ratio_color($ratio) . ">$ratio</font>";
|
||||||
$arr = mysql_fetch_assoc($ret);
|
} else {
|
||||||
$user = "<td class=rowfollow>" . get_username($arr['id']) . "</td>";
|
if ($arr["uploaded"] > 0) {
|
||||||
|
$ratio = "Inf.";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$ratio = "---";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($arr["status"] == 'confirmed')
|
||||||
|
$status = "<a href=userdetails.php?id={$arr['id']}><font color=#1f7309>".$lang_invite['text_confirmed']."</font></a>";
|
||||||
|
else
|
||||||
|
$status = "<a href=checkuser.php?id={$arr['id']}><font color=#ca0226>".$lang_invite['text_pending']."</font></a>";
|
||||||
|
|
||||||
if ($arr["downloaded"] > 0) {
|
print("<tr class=rowfollow>$user<td>{$arr['email']}</td><td class=rowfollow>" . mksize($arr['uploaded']) . "</td><td class=rowfollow>" . mksize($arr['downloaded']) . "</td><td class=rowfollow>$ratio</td><td class=rowfollow>$status</td>");
|
||||||
$ratio = number_format($arr["uploaded"] / $arr["downloaded"], 3);
|
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP){
|
||||||
$ratio = "<font color=" . get_ratio_color($ratio) . ">$ratio</font>";
|
print("<td>");
|
||||||
} else {
|
if ($arr['status'] == 'pending')
|
||||||
if ($arr["uploaded"] > 0) {
|
print("<input type=\"checkbox\" name=\"conusr[]\" value=\"" . $arr['id'] . "\" />");
|
||||||
$ratio = "Inf.";
|
print("</td>");
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
$ratio = "---";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($arr["status"] == 'confirmed')
|
|
||||||
$status = "<a href=userdetails.php?id={$arr['id']}><font color=#1f7309>".$lang_invite['text_confirmed']."</font></a>";
|
|
||||||
else
|
|
||||||
$status = "<a href=checkuser.php?id={$arr['id']}><font color=#ca0226>".$lang_invite['text_pending']."</font></a>";
|
|
||||||
|
|
||||||
print("<tr class=rowfollow>$user<td>{$arr['email']}</td><td class=rowfollow>" . mksize($arr['uploaded']) . "</td><td class=rowfollow>" . mksize($arr['downloaded']) . "</td><td class=rowfollow>$ratio</td><td class=rowfollow>$status</td>");
|
print("</tr>");
|
||||||
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP){
|
|
||||||
print("<td>");
|
|
||||||
if ($arr['status'] == 'pending')
|
|
||||||
print("<input type=\"checkbox\" name=\"conusr[]\" value=\"" . $arr['id'] . "\" />");
|
|
||||||
print("</td>");
|
|
||||||
}
|
|
||||||
|
|
||||||
print("</tr>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP)
|
|
||||||
{
|
|
||||||
|
|
||||||
$pendingcount = number_format(get_row_count("users", "WHERE status='pending' AND invited_by={$CURUSER['id']}"));
|
|
||||||
if ($pendingcount){
|
|
||||||
print("<input type=hidden name=email value={$arr['email']}>");
|
|
||||||
print("<tr><td colspan=7 align=right><input type=submit style='height: 20px' value=".$lang_invite['submit_confirm_users']."></td></tr>");
|
|
||||||
}
|
|
||||||
print("</form>");
|
|
||||||
print("<tr><td colspan=7 align=center><form method=post action=invite.php?id=".htmlspecialchars($id)."&type=new><input type=submit ".($CURUSER['invites'] <= 0 ? "disabled " : "")." value='".$lang_invite['sumbit_invite_someone']."'></form></td></tr>");
|
|
||||||
}
|
|
||||||
print("</table>");
|
|
||||||
|
|
||||||
$rul = sql_query("SELECT COUNT(*) FROM invites WHERE inviter =".mysql_real_escape_string($id)) or sqlerr();
|
|
||||||
$arre = mysql_fetch_row($rul);
|
|
||||||
$number1 = $arre[0];
|
|
||||||
|
|
||||||
|
|
||||||
$rer = sql_query("SELECT * FROM invites WHERE inviter = ".mysql_real_escape_string($id)) or sqlerr();
|
|
||||||
$num1 = mysql_num_rows($rer);
|
|
||||||
|
|
||||||
|
|
||||||
print("<table border=1 width=737 cellspacing=0 cellpadding=5>".
|
|
||||||
"<h2 align=center>".$lang_invite['text_sent_invites_status']." ($number1)</h2>");
|
|
||||||
|
|
||||||
if(!$num1){
|
|
||||||
print("<tr align=center><td colspan=6>".$lang_invite['text_no_invitation_sent']."</tr>");
|
|
||||||
} else {
|
|
||||||
|
|
||||||
print("<tr><td class=colhead>".$lang_invite['text_email']."</td><td class=colhead>".$lang_invite['text_hash']."</td><td class=colhead>".$lang_invite['text_send_date']."</td><td class='colhead'>".$lang_invite['text_hash_status']."</td><td class='colhead'>".$lang_invite['text_invitee_user']."</td></tr>");
|
|
||||||
for ($i = 0; $i < $num1; ++$i)
|
|
||||||
{
|
|
||||||
$arr1 = mysql_fetch_assoc($rer);
|
|
||||||
$tr = "<tr>";
|
|
||||||
$tr .= "<td class=rowfollow>{$arr1['invitee']}</td>";
|
|
||||||
$tr .= "<td class=rowfollow>{$arr1['hash']}</td>";
|
|
||||||
$tr .= "<td class=rowfollow>{$arr1['time_invited']}</td>";
|
|
||||||
$tr .= "<td class=rowfollow>".\App\Models\Invite::$validInfo[$arr1['valid']]['text']."</td>";
|
|
||||||
if ($arr1['valid'] == \App\Models\Invite::VALID_NO) {
|
|
||||||
$tr .= "<td class=rowfollow><a href=userdetails.php?id={$arr1['invitee_register_uid']}><font color=#1f7309>".$arr1['invitee_register_username']."</font></a></td>";
|
|
||||||
} else {
|
|
||||||
$tr .= "<td class='rowfollow'></td>";
|
|
||||||
}
|
}
|
||||||
$tr .= "</tr>";
|
}
|
||||||
print($tr);
|
|
||||||
}
|
if ($CURUSER['id'] == $id || get_user_class() >= UC_SYSOP)
|
||||||
}
|
{
|
||||||
print("</table>");
|
|
||||||
print("</td></tr></table>");
|
$pendingcount = number_format(get_row_count("users", "WHERE status='pending' AND invited_by={$CURUSER['id']}"));
|
||||||
|
if ($pendingcount){
|
||||||
|
print("<input type=hidden name=email value={$arr['email']}>");
|
||||||
|
print("<tr><td colspan=7 align=right><input type=submit style='height: 20px' value=".$lang_invite['submit_confirm_users']."></td></tr>");
|
||||||
|
}
|
||||||
|
print("</form>");
|
||||||
|
}
|
||||||
|
print("</table>$pagertop");
|
||||||
|
} elseif ($menuSelected == 'sent') {
|
||||||
|
$rul = sql_query("SELECT COUNT(*) FROM invites WHERE inviter =".mysql_real_escape_string($id)) or sqlerr();
|
||||||
|
$arre = mysql_fetch_row($rul);
|
||||||
|
$number1 = $arre[0];
|
||||||
|
|
||||||
|
list($pagertop, $pagerbottom, $limit) = pager(1, $number1, "?id=$id&menu=$menuSelected&");
|
||||||
|
|
||||||
|
$rer = sql_query("SELECT * FROM invites WHERE inviter = ".mysql_real_escape_string($id) . " $limit") or sqlerr();
|
||||||
|
$num1 = mysql_num_rows($rer);
|
||||||
|
|
||||||
|
print("<table border=1 width=100% cellspacing=0 cellpadding=5>");
|
||||||
|
|
||||||
|
if(!$num1){
|
||||||
|
print("<tr align=center><td colspan=6>".$lang_invite['text_no_invitation_sent']."</tr>");
|
||||||
|
} else {
|
||||||
|
|
||||||
|
print("<tr><td class=colhead>".$lang_invite['text_email']."</td><td class=colhead>".$lang_invite['text_hash']."</td><td class=colhead>".$lang_invite['text_send_date']."</td><td class='colhead'>".$lang_invite['text_hash_status']."</td><td class='colhead'>".$lang_invite['text_invitee_user']."</td></tr>");
|
||||||
|
for ($i = 0; $i < $num1; ++$i)
|
||||||
|
{
|
||||||
|
$arr1 = mysql_fetch_assoc($rer);
|
||||||
|
$tr = "<tr>";
|
||||||
|
$tr .= "<td class=rowfollow>{$arr1['invitee']}</td>";
|
||||||
|
$tr .= "<td class=rowfollow>{$arr1['hash']}</td>";
|
||||||
|
$tr .= "<td class=rowfollow>{$arr1['time_invited']}</td>";
|
||||||
|
$tr .= "<td class=rowfollow>".\App\Models\Invite::$validInfo[$arr1['valid']]['text']."</td>";
|
||||||
|
if ($arr1['valid'] == \App\Models\Invite::VALID_NO) {
|
||||||
|
$tr .= "<td class=rowfollow><a href=userdetails.php?id={$arr1['invitee_register_uid']}><font color=#1f7309>".$arr1['invitee_register_username']."</font></a></td>";
|
||||||
|
} else {
|
||||||
|
$tr .= "<td class='rowfollow'></td>";
|
||||||
|
}
|
||||||
|
$tr .= "</tr>";
|
||||||
|
print($tr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print("</table>");
|
||||||
|
print("</td></tr></table>$pagertop");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
stdfoot();
|
stdfoot();
|
||||||
|
|||||||
Reference in New Issue
Block a user