<?php include("./tuve.inc"); // Create new service for AMFPHP Remoting as Class class tuve { var $mysqli; function tuve() { # Connect to MySQL database.... $this->mysqli = new mysqli(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME); # Check MySQL connection if (mysqli_connect_errno()) { # Dont use die (Fatal Error), return useful info to the client trigger_error("AMFPHP Remoting 'sample' class could not connect: " . mysqli_connect_error()); } } function sendFB($data) { // To send HTML mail, the Content-type header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'From: TUve Feedback <tuve@ubixonline.com>' . "\r\n"; mail("Christopher Olsen <cwolsen@domainatlantic.com>,Mark Iuzzolino <monsters@monstersoft.com>",$data['subject'] . " - " . $data['username'],$data['message'],$headers); } function getChans() { $query = "SELECT channel FROM channels"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database [$query] query error: " . $errno); } if ($result->num_rows == 0) { $return_array[] = array('channel' => '#General'); } else { while ($row = $result->fetch_assoc()) { $return_array[] = $row; } } return($return_array); } function getInfo($data) { $query = "SELECT thumb,v.artist,title,sbio FROM videos v INNER JOIN artists a ON v.aid = a.aid WHERE vid = $data"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database [$query] query error: " . $errno); } if ($result->num_rows == 0) { $return_array[] = array('thumb' => 'UbixCube.swf','artist' => 'Unknown','title' => 'Unknown'); } else { while ($row = $result->fetch_assoc()) { $return_array[] = $row; } } return($return_array); } function getFullInfo($data) { $query = "SELECT thumb,v.artist,title,bio,photo,description FROM videos v INNER JOIN artists a ON v.aid = a.aid WHERE v.vid = $data"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database [$query] query error: " . $errno); } if ($result->num_rows == 0) { $query = "SELECT thumb,artist,title,'NA' as bio,'/images/UbixCube.swf' AS photo FROM videos WHERE vid = $data"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database [$query] query error: " . $errno); } } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function getNextMovie() { $query = "SELECT file,artist,title FROM videos"; if (!$result = @$this->mysqli->query($query)) { $errno = $this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } $rn = rand(0,$result->num_rows); for ($i=0;$i < $rn;$i++) $row = $result->fetch_assoc(); return($row); } function findSongs($data) { $skey = $data['skey']; $srating = $data['srating']; $sclass = $data['sclass']; $exclusive = $data['exclusive']; $query = "SELECT * FROM videos WHERE (artist like \"%$skey%\" OR title like \"%$skey%\") AND rating <= $srating"; if ($sclass != 0) $query .= " AND classification = $sclass"; if ($exclusive != 0) $query .= " AND oid = $exclusive"; $query .= " ORDER BY artist"; if (!$result = @$this->mysqli->query($query)) { $errno = $this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database [$query] query error: " . $errno); } while ($row = $result->fetch_assoc()) { if ($row['length'] > 3600) $row['length'] = date("H:i:s",$row['length']); else $row['length'] = date("i:s",$row['length']); $return_array[] = $row; } return($return_array); } function userAuth($data) { $username = $data['username']; $password = $data['password']; $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function getView($uid) { $query = "SELECT viewXML FROM users WHERE uid = $uid"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function getFriends($uid) { $query = "SELECT friendsXML FROM users WHERE uid = $uid"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function updateView($data) { $uid = $data['uid']; $viewXML = $data['viewXML']; $query = "UPDATE users SET viewXML = '$viewXML' WHERE uid = $uid"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } return(null); } function getPublicView($username) { $query = "SELECT viewXML FROM users WHERE username = '$username'"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function getPortal($pid) { $query = "SELECT portalXML,portalName FROM tmpP WHERE pid = $pid"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function cmpMail($data) { $query = "SELECT * FROM users WHERE uid = $data[mailTo]"; $result = @$this->mysqli->query($query); $userInfo = $result->fetch_array(MYSQLI_ASSOC); $name = $userInfo['firstName'] . " " . $userInfo['lastName']; switch($data['pid']) { case -1: $podName = "Mega Pod"; break; case -3: $podName = "Friends Pod"; break; default: $query = "SELECT * FROM podz WHERE pid = $data[pid]"; $result = @$this->mysqli->query($query); $podInfo = $result->fetch_array(MYSQLI_ASSOC); $podName = $podInfo['podName']; break; } return(array(array('mailTo' => $name,'toUID' => $data['mailTo'],'podName' => $podName,'pid' => $data['pid']))); } function getPod($pid) { $query = "SELECT * FROM podz WHERE pid = $pid"; if (!$result=@$this->mysqli->query($query)) { $errno=$this->mysqli->errno; $this->mysqli->close(); trigger_error("AMFPHP Remoting database SELECT query error: [$query] " . $errno); } while ($row = $result->fetch_assoc()) { $return_array[] = $row; } return($return_array); } function sendMail($data) { $query = "SELECT username FROM users WHERE uid = $data[toUID]"; $result = $this->mysqli->query($query); $userInfo = $result->fetch_array(MYSQLI_ASSOC); $email = $userInfo['username'] . "@podz.ubixos.com"; $from = "From: " . $data['fromName'] . " <" . $data['fromEmail'] . "@cupid.ubixos.com>"; mail($email,$data['subject'],$data['message'],$from); return; } } ?>