sub makeRequestPage { checkMenu(); if (!$id) { templateMessage($messages[6]);} else { my $template_search = HTML::Template->new(filename => $TMPLpath.'makeRequest.tmpl'); $template_search->param(addRequest => 1, sessionID => $sessionID, id => $id); $TMPLbody .= $template_search->output; } } sub makeRequest { checkMenu(); my ($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time); $Month = $Month + 1; $Year = substr($Year, 1); my $date = "$Month/$DayOfMonth/20$Year"; if (($price) and (not($price =~ m/\d.\d/))) { $price = $price.".00";} if ((!$department) or (!$semester) or (!$classNumber) or (!$university) or (!$price) or (!$memo) or (not(($classnotes) or ($announcements)))) { templateMessage($messages[12]); } else { my $dbh = openDB(); my $rs = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sql; my $requested; if (($classnotes) and ($announcements)) { $sql = "INSERT INTO classnotes (id,active,semester,department,classNumber,university,price,memo,date_added,classnotes,announcements) VALUES ('$id',YES,'$semester','$department','$classNumber','$university','$price','$memo','$date',YES,YES)"; $requested = "Class Notes & Announcements"; } elsif ($classnotes) { $sql = "INSERT INTO classnotes (id,active,semester,department,classNumber,university,price,memo,date_added,classnotes) VALUES ('$id',YES,'$semester','$department','$classNumber','$university','$price','$memo','$date',YES)"; $requested = "Class Notes"; } elsif ($announcements) { $sql = "INSERT INTO classnotes (id,active,semester,department,classNumber,university,price,memo,date_added,announcements) VALUES ('$id',YES,'$semester','$department','$classNumber','$university','$price','$memo','$date',YES)"; $requested = "Announcements"; } $rs = $dbh->Execute( $sql ) or die print ( "Can't execute SQL statement. Perl says $!, DBI says ",$dbh::errstr,"\n"); my $template_success = HTML::Template->new(filename => $TMPLpath.'success.tmpl'); $template_success->param( addRequestSuccess => 1, requested => $requested, semester => $semester, department => $department, classNumber => $classNumber, university => $university, price => $price, memo => $memo); $TMPLbody .= $template_success->output; $emailMessages[7] .= "\n\n\nThe information for the request you added is as follows: \n\nRequested: $requested \nUniversity: $university \nSemester: $semester \nDepartment: $department \nClass Number: $classNumber \nPrice: $price \nMemo: $memo"; MailMsg(getUserEmail(),$emailMessages[7],$emailSubject[7]); $dbh->Close(); } } sub viewRequestPage { #search requests page checkMenu(); my $template_search = HTML::Template->new(filename => $TMPLpath.'makeRequest.tmpl'); $template_search->param(viewRequest => 1, sessionID => $sessionID, id => $id); $TMPLbody .= $template_search->output; } sub viewRequest { #search requests checkMenu(); my $dbh = openDB(); my $rs = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sqlstatement; my $check = 0; if ($classnotes) { $classnotes=1; $check++;} if ($announcements) { $announcements=1; $check++;} if ($university) { $check++;} if ($semester) { $check++;} if ($department) { $check++;} if ($classNumber) { $check++; } $sqlstatement = "SELECT * FROM classnotes WHERE active=YES"; # Prepare and execute SQL statement $rs = $dbh->Execute($sqlstatement); my $num = 0; my $template_classnotesresults = HTML::Template->new(filename => $TMPLpath.'classnotesresults.tmpl'); my $template_classnotesresultsbody = HTML::Template->new(filename => $TMPLpath.'classnotesresultsbody.tmpl'); my $SRBody; my $rows; while (!$rs->EOF()) { my $cnID = $rs->Fields('cnID')->Value; my $classnotesTemp = $rs->Fields('classnotes')->Value; my $announcementsTemp = $rs->Fields('announcements')->Value; my $universityTemp = $rs->Fields('university')->Value; my $semesterTemp = $rs->Fields('semester')->Value; my $departmentTemp = $rs->Fields('department')->Value; my $classNumberTemp = $rs->Fields('classNumber')->Value; my $price = $rs->Fields('price')->Value; #my $memo = $rs->Fields('memo')->Value; my $doubleCheck = 0; my $request = ""; if ($classnotesTemp) { $request .= "CN "; } if ($announcementsTemp) { $request .= "AN "; } if (($classnotes) and ($classnotesTemp eq $classnotes)) { $doubleCheck ++; } if (($announcements) and ($announcementsTemp eq $announcements)) { $doubleCheck ++;} if (($university) and ($universityTemp =~ m/$university/gi)) { $doubleCheck ++; } if (($semester) and ($semesterTemp eq $semester)) { $doubleCheck ++; } if (($department) and ($departmentTemp eq $department)) { $doubleCheck ++; } if (($classNumber) and ($classNumberTemp =~ m/$classNumber/gi)) { $doubleCheck ++; } #$TMPLbody .= "Double Check Search Criteria: $doubleCheck
"; if ($check == $doubleCheck) { $template_classnotesresultsbody->param( sessionID => $sessionID, id => $id, cnID => $cnID, request => $request, university => $universityTemp, semester => $semesterTemp, department => $departmentTemp, classNumber => $classNumberTemp, price => $price); $SRBody .= $template_classnotesresultsbody->output; $num++; } $rs->MoveNext; } if (!$num) { templateMessage($messages[7]); } else { $template_classnotesresults->param(number => $num, classnotesresultsbody => $SRBody); $TMPLbody .= $template_classnotesresults->output; } $dbh->Close(); } sub viewRequestDetails { checkMenu(); if (!$id) { templateMessage($messages[6]);} else { my $dbh = openDB(); my $rs = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sqlstatement = "SELECT * FROM classnotes WHERE cnID=$cnID"; # Prepare and execute SQL statement $rs = $dbh->Execute($sqlstatement); my $classnotes = $rs->Fields('classnotes')->Value; my $announcements = $rs->Fields('announcements')->Value; my $university = $rs->Fields('university')->Value; my $semester = $rs->Fields('semester')->Value; my $department = $rs->Fields('department')->Value; my $classNumber = $rs->Fields('classNumber')->Value; my $price = $rs->Fields('price')->Value; my $memo = $rs->Fields('memo')->Value; my $request = ""; if ($classnotes) { $request .= "CN "; } if ($announcements) { $request .= "AN "; } my $template_success = HTML::Template->new(filename => $TMPLpath.'makeRequest.tmpl'); $template_success->param( viewRequestDetails => 1, sessionID => $sessionID, id => $id, cnID => $cnID, requested => $request, semester => $semester, department => $department, classNumber => $classNumber, university => $university, price => $price, memo => $memo); $TMPLbody .= $template_success->output; $dbh->close(); } } sub fillRequest { checkMenu(); if (!$id) { templateMessage($messages[6]);} elsif (getListerID('classnotes')==$id) { templateMessage($messages[8]);} else { my ($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year, $WeekDay, $DayOfYear, $IsDST) = localtime(time); $Month = $Month + 1; $Year = substr($Year, 1); my $sellday = "$Month/$DayOfMonth/20$Year"; my $dbh = openDB(); my $rs = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sql = "UPDATE classnotes SET active=NO,sellerID=$id,date_ended='$sellday' WHERE cnID=$cnID"; #Can use ID = 1 or ID = $record $rs = $dbh->Execute($sql); my $sellerEmail = getUserEmail(); my $id = getListerID('classnotes'); my $rs2 = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sql2 = "SELECT * FROM user WHERE id=$id"; $rs2 = $dbh->Execute($sql2); my $requestInfo = getRequestInfo(); my $fname = $rs2->Fields('first')->Value; my $lname = $rs2->Fields('last')->Value; my $email = $rs2->Fields('email')->Value; my $phone = $rs2->Fields('phone')->Value; #Buyer Info (Request Originator) templateMessage($messages[15]); my $buyer = "\nFirst Name: $fname \nLast Name: $lname \nEmail Address: $email \nPhone: $phone"; MailMsg($sellerEmail,$emailMessages[8].$buyer.$requestInfo,$emailSubject[8]); #Seller Info (Request Fulfiller) my $userData = getUserInfoFromEmail($sellerEmail); my @data = split /\//, $userData; my $seller = "\nFirst Name: $data[0] \nLast Name: $data[1] \nEmail Address: $sellerEmail \nPhone: $data[2]"; MailMsg($email,$emailMessages[9].$seller.$requestInfo,$emailSubject[9]); $dbh->Close(); } } sub getRequestInfo() { my $dbh = openDB(); my $rs = CreateObject OLE "ADODB.Recordset" or die "can not create recordset"; my $sqlstatement = "SELECT * FROM classnotes WHERE cnID=$cnID"; # Prepare and execute SQL statement $rs = $dbh->Execute($sqlstatement); my $classnotes = $rs->Fields('classnotes')->Value; my $announcements = $rs->Fields('announcements')->Value; my $university = $rs->Fields('university')->Value; my $semester = $rs->Fields('semester')->Value; my $department = $rs->Fields('department')->Value; my $classNumber = $rs->Fields('classNumber')->Value; my $price = $rs->Fields('price')->Value; my $memo = $rs->Fields('memo')->Value; my $request = ""; if ($classnotes) { $request .= "CN "; } if ($announcements) { $request .= "AN "; } $dbh->Close(); my $temp = "\n\n\nThe information for the Class Note Request in this transaction is as follows: \n\ncollegeshack.com CN ID: $cnID \nRequested: $request \nUniversity: $university \nSemester: $semester \nDepartment: $department \nClass Number: $classNumber \nPrice: $price \nMemo: $memo"; return($temp); }