function Commit($data) { $post = array(); global $REQUESTTYPES; if ($REQUESTTYPES[ $_POST["requestType"] ]) { $error = $REQUESTTYPES[ $_POST["requestType"] ]::ValidateRequest($data,$post); if ($error) return $error; } else { return array("no such request type!"); } $a = array(); $a["requestType"] = $data["requestType"]; if($_REQUEST["prod"]) { $a["itemID"] = (int)$_REQUEST["prod"]; $a["itemType"] = "prod"; } $a["requestDate"] = date("Y-m-d H:i:s"); $a["userID"] = get_login_id(); $a["requestBlob"] = serialize($post); global $reqID; $reqID = SQLLib::InsertRow("modification_requests",$a); return array(); }
function LoadFromDB() { global $POSTS_PER_PAGE; $s = new SQLSelect(); $s->AddTable("bbs_topics"); $s->AddWhere("bbs_topics.id=".$this->id); $this->topic = SQLLib::SelectRow($s->GetQuery()); if(!$this->topic) return false; $s = new SQLSelect(); $s->AddField("count(*) as c"); $s->AddTable("bbs_posts"); $s->AddWhere("bbs_posts.topic=".$this->id); $this->postcount = SQLLib::SelectRow($s->GetQuery())->c; $s = new BM_Query(); $s->AddTable("bbs_posts"); $s->AddField("bbs_posts.id as id"); $s->AddField("bbs_posts.post as post"); $s->AddField("bbs_posts.added as added"); $s->attach(array("bbs_posts"=>"author"),array("users as user"=>"id")); $s->AddWhere("bbs_posts.topic=".$this->id); //$s->SetLimit( $POSTS_PER_PAGE, (int)(($this->page - 1)*$POSTS_PER_PAGE) ); $this->paginator = new PouetPaginator(); $this->paginator->SetData( "topic.php?which=".$this->id, $this->postcount, $POSTS_PER_PAGE, $_GET["page"] ); $this->paginator->SetLimitOnQuery( $s ); $this->posts = $s->perform(); $this->title = _html($this->topic->topic); }
function Commit($post) { $message = trim($post["message"]); $r = SQLLib::SelectRow("SELECT count(0) as c FROM bbs_posts WHERE topic=".$this->topic); $a = array(); $a["userlastpost"] = get_login_id(); $a["lastpost"] = date("Y-m-d H:i:s"); $a["count"] = $r->c; SQLLib::UpdateRow("bbs_topics",$a,"id=".$this->topic); $a = array(); $a["added"] = date("Y-m-d H:i:s"); $a["author"] = get_login_id(); $a["post"] = $message; $a["topic"] = $this->topic; SQLLib::InsertRow("bbs_posts",$a); @unlink("cache/pouetbox_latestbbs.cache"); return array(); }
function Load() { $s = new BM_query("parties"); if ($this->letter=="#") $s->AddWhere(sprintf("name regexp '^[^a-z]'")); else $s->AddWhere(sprintf("name like '%s%%'",$this->letter)); $s->AddOrder("name"); $this->parties = $s->perform(); if ($this->parties) { $ids = array(); foreach($this->parties as $group) $ids[] = $group->id; $idstr = implode(",",$ids); $rows = SQLLib::selectRows(sprintf("SELECT count(*) as c, party, party_year FROM `prods` WHERE party in (%s) GROUP by party, party_year order by party_year",$idstr)); $this->partyyears = array(); foreach($rows as $row) if ($row->party) $this->partyyears[$row->party][$row->party_year] = $row->c; $rows = SQLLib::selectRows(sprintf("SELECT * FROM `partylinks` WHERE party in (%s)",$idstr)); $this->partylinks = array(); foreach($rows as $row) if ($row->party) $this->partylinks[$row->party][$row->year] = $row; } }
function LoadFromDB() { $s = new SQLSelect(); $perPage = get_setting("userlistusers"); $this->page = (int)max( 1, (int)$_GET["page"] ); $s = new BM_Query("users"); $dir = !$_GET["reverse"]; switch($_GET["order"]) { case "nickname": $s->AddOrder("users.nickname ".($dir?"ASC":"DESC")); break; case "age": $s->AddOrder("users.registerDate ".($dir?"ASC":"DESC")); break; case "level": $s->AddOrder("users.level ".($dir?"ASC":"DESC")); break; case "glops": default: $s->AddOrder("users.glops ".($dir?"DESC":"ASC")); break; } $s->AddOrder("users.id ".($dir?"ASC":"DESC")); $s->SetLimit( $perPage, (int)(($this->page-1) * $perPage) ); //echo $s->GetQuery(); $this->users = $s->performWithCalcRows( $this->count ); $this->maxglops = SQLLib::SelectRow("SELECT MAX(glops) as m FROM users")->m; }
function LoadFromDB() { $a = array("prods", "groups", "parties", "boards", "users", "comments"); foreach($this->fields as $v) { $field = $v == "users" ? "registerDate" : "addedDate"; $this->data[$v."_all"] = SQLLib::SelectRow("SELECT count(0) as c FROM ".$v)->c; $this->data[$v."_24h"] = SQLLib::SelectRow("SELECT count(0) as c FROM ".$v." WHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(".$field."))<=3600*24")->c; } }
function PouetBoxBBSTopicList() { parent::__construct(); $this->uniqueID = "pouetbox_bbslist"; $row = SQLLib::selectRow("DESC bbs_topics category"); preg_match_all("/'([^']+)'/",$row->Type,$m); $this->categories = $m[1]; }
function Load( $cached = false ) { $s = new SQLSelect(); $s->AddTable("buttons"); $s->AddOrder("rand()"); $s->AddWhere("dead = 0"); $s->SetLimit("1"); $this->data = SQLLib::SelectRow($s->GetQuery()); $this->title = $this->data->type; }
function LoadFromDB() { $id = SQLLib::SelectRow("SELECT prods.id as id FROM prods ORDER BY RAND() LIMIT 1")->id; $s = new BM_Query("prods"); $s->AddWhere(sprintf_esc("prods.id = %d",$id)); $s->SetLimit(1); $data = $s->perform(); $this->data = reset($data); $a = array(&$this->data); PouetCollectPlatforms($a); }
function Commit( $data ) { $a = array(); $a["name"] = trim($data["name"]); $a["desc"] = $data["desc"]; $a["upkeeper"] = get_login_id(); $a["addedUser"] = get_login_id(); $a["addedDate"] = date("Y-m-d H:i:s"); $this->listID = SQLLib::InsertRow("lists",$a); return array(); }
function PouetBoxTopList() { parent::__construct(); $this->uniqueID = "pouetbox_toplist"; $this->formifier = new Formifier(); $row = SQLLib::selectRow("DESC prods type"); preg_match_all("/'([^']+)'/",$row->Type,$m); $this->types = array(); $this->types[""] = "- none - "; foreach($m[1] as $v) $this->types[$v] = $v; }
function Commit( $data ) { $a = array(); $a["download"] = trim($data["download"]); $a["csdb"] = $data["csdbID"]; //$a["zxdemo"] = $data["zxdemoID"]; $a["demozoo"] = $data["demozooID"]; $a["slengpung"] = $data["slengpungID"]; $a["artcity"] = $data["artcity"]; SQLLib::InsertRow("partylinks",$a); return array(); }
function Commit($data) { global $groupID; $a = array(); $a["category"] = $data["category"]; $a["closed"] = $data["closed"]=="on"; SQLLib::UpdateRow("bbs_topics",$a,"id=".$this->topic->id); gloperator_log( "topic", $this->topic->id, "topic_edit" ); return array(); }
function Commit($data) { SQLLib::Query(sprintf_esc("UPDATE prods SET party=null, party_year=0, party_compo=0, party_place=0 WHERE party=%d",$this->party->id)); SQLLib::Query(sprintf_esc("UPDATE prods SET invitation=0, invitationyear=0 WHERE invitation=%d",$this->party->id)); SQLLib::Query(sprintf_esc("DELETE FROM partiesaka WHERE party1=%d OR party1=%d",$this->party->id,$this->party->id)); SQLLib::Query(sprintf_esc("DELETE FROM prodotherparty WHERE party=%d",$this->party->id)); SQLLib::Query(sprintf_esc("DELETE FROM partylinks WHERE party=%d",$this->party->id)); SQLLib::Query(sprintf_esc("DELETE FROM listitems WHERE itemid=%d AND type='party'",$this->party->id)); SQLLib::Query(sprintf_esc("DELETE FROM parties WHERE id=%d",$this->party->id)); gloperator_log( "party", (int)$this->party->id, "party_delete", get_object_vars($this->party) ); return array(); }
function LoadFromDB() { global $currentUser; $ids = SQLLib::SelectRows(sprintf_esc("select prodID from watchlist where userID = %d",$currentUser->id)); if (!count($ids)) return; $i = array(); foreach($ids as $v) $i[] = $v->prodID; $s = new BM_Query("prods"); $s->AddWhere( sprintf_esc("prods.id in (%s)",implode(",",$i) ) ); $this->prods = $s->perform(); PouetCollectPlatforms($this->prods); }
function Commit($data) { global $currentUser; $filename = strtolower( basename( $_FILES["logo"]["name"] ) ); move_uploaded_file_fake( $_FILES["logo"]["tmp_name"], POUET_CONTENT_LOCAL . "/logos/".$filename ); $a = array(); $a["author1"] = $currentUser->id; $a["author2"] = NULL; $a["file"] = $filename; SQLLib::InsertRow("logos",$a); return array(); }
function Commit($post) { global $currentUser; $message = trim($post["message"]); $a = array(); $a["who"] = $currentUser->id; $a["addedDate"] = date("Y-m-d H:i:s"); $a["message"] = $message; SQLLib::InsertRow("oneliner",$a); $this->ForceCacheUpdate(); return array(); }
function Commit($data) { global $groupID; $a = array(); $a["name"] = trim($data["name"]); $a["acronym"] = $data["acronym"]; $a["web"] = $data["website"]; $a["addedUser"] = get_login_id(); $a["csdb"] = $data["csdbID"]; //$a["zxdemo"] = $data["zxdemoID"]; $a["demozoo"] = $data["demozooID"]; $a["addedDate"] = date("Y-m-d H:i:s"); $this->groupID = SQLLib::InsertRow("groups",$a); return array(); }
function LoadFromDB() { parent::LoadFromDB(); $this->links = SQLLib::selectRow(sprintf_esc("select * from partylinks where party = %d and year = %d",$this->id,$this->year)); $this->fields["download"]["value"] = $this->links->download; $this->fields["csdbID"]["value"] = $this->links->csdb; $this->fields["slengpungID"]["value"] = $this->links->slengpung; //$this->fields["zxdemoID"]["value"] = $this->links->zxdemo; $this->fields["demozooID"]["value"] = $this->links->demozoo; $this->fields["artcity"]["value"] = $this->links->artcity; foreach($_POST as $k=>$v) if ($this->fields[$k]) $this->fields[$k]["value"] = $v; }
function ParsePostMessage($post) { global $currentUser; if (!$currentUser) return "you have to be logged in!"; if (!$currentUser->CanPostInBBS()) return "not allowed lol."; $message = trim($post["message"]); if (!$message) return "not too meaningful, is it..."; $title = trim($post["topic"]); if (strlen($title) < 2) return "not too meaningful, is it..."; $r = SQLLib::SelectRow(sprintf_esc("SELECT id FROM bbs_topics where topic='%s'",$title)); if ($r) return "DOUBLEPOST == ROB IS JARIG"; $a = array(); $a["topic"] = $title; $a["category"] = $post["category"]; $a["userfirstpost"] = $a["userlastpost"] = get_login_id(); $a["firstpost"] = $a["lastpost"] = date("Y-m-d H:i:s"); $id = SQLLib::InsertRow("bbs_topics",$a); $a = array(); $a["added"] = date("Y-m-d H:i:s"); $a["author"] = get_login_id(); $a["post"] = $message; $a["topic"] = $id; SQLLib::InsertRow("bbs_posts",$a); @unlink("cache/pouetbox_latestbbs.cache"); return ""; }
function Commit($data) { global $currentUser; $req = SQLLib::SelectRow(sprintf_esc("select itemID,requestType,requestBlob,approved from modification_requests where id = %d",$data["requestID"])); if ($req->approved !== NULL) return array("this request was already processed"); if ($data["requestDeny"]) { $a = array(); $a["gloperatorID"] = $currentUser->id; $a["approved"] = 0; $a["comment"] = $data["comment"]; $a["approveDate"] = date("Y-m-d H:i:s"); SQLLib::UpdateRow("modification_requests",$a,"id=".(int)$data["requestID"]); return array(); } $reqData = unserialize($req->requestBlob); global $REQUESTTYPES; if ($REQUESTTYPES[$req->requestType]) { $errors = $REQUESTTYPES[$req->requestType]::Process($req->itemID,$reqData); if ($errors) return $errors; gloperator_log( $REQUESTTYPES[$req->requestType]::GetItemType(), $req->itemID, $req->requestType, $reqData ); } else { return array("no such request type!"); } $a = array(); $a["gloperatorID"] = $currentUser->id; $a["approved"] = 1; $a["approveDate"] = date("Y-m-d H:i:s"); SQLLib::UpdateRow("modification_requests",$a,"id=".(int)$data["requestID"]); return array(); }
function Commit($data) { global $currentUser; $a = array(); $a["category"] = $data["category"]; $a["question"] = $data["question"]; $a["answer"] = $data["answer"]; $a["deprecated"] = $data["deprecated"] == "on"; if ($data["faqID"]) { //gloperator_log( "faq", $data["faqID"], "faq_edit" ); SQLLib::UpdateRow("faq",$a,"id=".(int)$data["faqID"]); } else { //gloperator_log( "faq", 0, "faq_add" ); SQLLib::InsertRow("faq",$a); } return array(); }
function LoadFromDB() { global $currentUser; if (!$currentUser) return; $ids = SQLLib::SelectRows(sprintf_esc("select prodID from watchlist where userID = %d",$currentUser->id)); if (!count($ids)) return; $i = array(); foreach($ids as $v) $i[] = $v->prodID; $s = new BM_Query(); //$s->AddTable(sprintf_esc("(select * from comments where comments.which in (%s) order by comments.addedDate desc) as c ",implode(",",$i))); $s->AddTable(sprintf_esc("(select *, max(comments.addedDate) as maxDate from comments where comments.which in (%s) group by comments.which) as c ",implode(",",$i))); $s->AddJoin("left","comments","c.maxDate = comments.addedDate and c.which = comments.which"); $s->attach(array("comments"=>"which"),array("prods as prod"=>"id")); $s->attach(array("comments"=>"who"),array("users as user"=>"id")); //$s->AddGroup("c.which"); $s->AddOrder("comments.addedDate desc"); $s->AddField("comments.id as commentID"); $s->SetLimit((int)$this->limit); $this->data = $s->perform(); }
function LoadFromDB() { $this->board = SQLLib::SelectRow(sprintf_esc("select * from boards where id = %d",$this->id)); if (!$this->board) return; $a = SQLLib::SelectRows(sprintf_esc("select * from boards_platforms where board = %d",$this->id)); $this->platforms = array(); foreach($a as $v) $this->platforms[] = $v->platform; $this->addedUser = PouetUser::Spawn($this->board->addedUser); $this->nfos = SQLLib::SelectRows(sprintf_esc("select * from othernfos where refid = %d",$this->id)); $s = new BM_Query("affiliatedboards"); $s->AddField("affiliatedboards.type"); $s->Attach(array("affiliatedboards"=>"group"),array("groups as group"=>"id")); $s->AddWhere(sprintf_esc("affiliatedboards.board = %d",$this->id)); $this->groups = $s->perform(); $s = new BM_Query("prods"); $s->AddWhere(sprintf_esc("prods.boardID = %d",$this->id)); $this->bbstros = $s->perform(); }
function RenderBody() { if (!get_login_id()) { echo "<div class='content loggedout'>\n"; printf( "<a href='login.php?return=%s'>login via SceneID</a>",_html(rootRelativePath()) ); echo "</div>\n"; } else { global $currentUser; echo "<div class='content loggedin'>\n"; echo "you are logged in as<br/>\n"; echo $currentUser->PrintLinkedAvatar()." "; echo $currentUser->PrintLinkedName(); echo "</div>\n"; if ($currentUser->IsGloperator()) { $req = SQLLib::SelectRow("select count(*) as c from modification_requests where approved is null")->c; if ($req) { echo "<div class='content notifications'>\n"; echo "[ <a href='admin_modification_requests.php' class='adminlink'>"; echo $req; if ($req==1) echo " request waiting!"; else echo " requests waiting!"; echo "</a> ]"; echo "</div>\n"; } } echo "<div class='foot'>\n"; echo "<a href='account.php'>account</a> ::\n"; echo "<a href='customizer.php'>custöomizer</a> ::\n"; echo "<a href='logout.php'>logout</a>\n"; echo "</div>"; } }
function Commit( $data ) { global $currentUser; $a = array(); $a["name"] = trim($data["name"]); $a["sysop"] = trim($data["sysop"]); if( $data["started_year"] && $data["started_month"] && checkdate( (int)$data["started_month"], 15, (int)$data["started_year"]) ) $a["started"] = sprintf("%04d-%02d-15",$data["started_year"],$data["started_month"]); else if ($data["started_year"]) $a["started"] = sprintf("%04d-00-15",$data["started_year"]); if( $data["closed_year"] && $data["closed_month"] && checkdate( (int)$data["closed_month"], 15, (int)$data["closed_year"]) ) $a["closed"] = sprintf("%04d-%02d-15",$data["closed_year"],$data["closed_month"]); else if ($data["closed_year"]) $a["closed"] = sprintf("%04d-00-15",$data["closed_year"]); $a["phonenumber"] = trim($data["phonenumber"]); $a["telnetip"] = trim($data["telnetip"]); $a["addedUser"] = $currentUser->id; $a["addedDate"] = date("Y-m-d H:i:s"); $this->boardID = SQLLib::InsertRow("boards",$a); $data["platform"] = array_unique($data["platform"]); foreach($data["platform"] as $k=>$v) { $a = array(); $a["board"] = $this->boardID; $a["platform"] = $v; SQLLib::InsertRow("boards_platforms",$a); } return array(); }
<? require_once("bootstrap.inc.php"); header("Content-type: application/json; charset=utf-8"); $sql = new SQLSelect(); $sql->AddField("id"); $sql->AddField("nickname as name"); $sql->AddField("avatar"); $sql->AddField("glops"); $sql->AddTable("users"); $r = array(); if ($_POST["search"]) { $sql->AddWhere(sprintf_esc("nickname like '%%%s%%'",_like($_POST["search"]))); $sql->AddOrder(sprintf_esc("if(nickname='%s',1,2), nickname, lastLogin DESC",$_POST["search"])); $sql->SetLimit(10); $r = SQLLib::selectRows( $sql->GetQuery() ); } else if ($_POST["id"]) { $sql->AddWhere(sprintf_esc("id = %d",$_POST["id"])); $sql->SetLimit(1); $r = SQLLib::selectRows( $sql->GetQuery() ); } echo json_encode($r); ?>
$user = new PouetUser(); $user->id = (int)$SceneIDuser["user"]["id"]; $user->nickname = $SceneIDuser["user"]["display_name"]; $user->avatar = $a; $user->Create(); $user = PouetUser::Spawn( $user->id ); } if ( $user->IsBanned() ) { redirect("error.php?e=".rawurlencode("We dun like yer type 'round these parts.")); } $_SESSION["user"] = $user; $currentUserSettings = SQLLib::SelectRow(sprintf_esc("select * from usersettings where id=%d",$user->id)); if ($currentUserSettings) $ephemeralStorage->set( "settings:".$user->id, $currentUserSettings ); redirect( basename( $returnURL ? $returnURL : "index.php" ) ); } catch(SceneID3Exception $e) { redirect("error.php?e=".rawurlencode( $e->GetMessage() )); } ?>
function Load() { $row = SQLLib::selectRow("DESC prods type"); preg_match_all("/'([a-zA-Z0-9\s_\-]+)'/",$row->Type,$m); $this->types = $m[1]; }
function performWithCalcRows(&$count) { $objects = array(); $sql = $this->GetQuery(); $sql = preg_replace("/^SELECT/", "SELECT SQL_CALC_FOUND_ROWS ", $sql); $rows = SQLLib::selectRows($sql); foreach ($rows as $row) { $object = new stdClass(); $this->populate($object, $this->root, $row); foreach (get_object_vars($row) as $k => $v) { $object->{$k} = $v; } if ($this->root->class) { $class = $this->root->class; $field = $class::getPrimaryKey(); $objects[$object->{$field}] = $object; } else { $objects[] = $object; } } $row = SQLLib::selectRow("SELECT FOUND_ROWS() as f"); $count = (int) $row->f; return $objects; }