function testMailSender()
{
    $signupGadget = new SignupGadget(123, "Testi-ilmo!", "Testaillaan vahvistusviestin lähettämistä!", 1234634, 46477832, 49477832);
    $nimiQuestion = new Question("Nimi", "text", array(), true, true, 123, 555);
    $emailQuestion = new Question("Email", "email", array(), false, true, 123, 556);
    $signupGadget->addQuestion($nimiQuestion);
    $signupGadget->addQuestion($emailQuestion);
    $answers = array(999 => new UserAnswers(array(555 => new Answer("Mikko Koski", 999, $nimiQuestion), 556 => new Answer("*****@*****.**", 999, $emailQuestion)), 999, 1));
    $signupGadget->setAnswers($answers);
    $message = "Kiitos ilmoittautumisestasi ISOsitseille!\n" . "\n" . "Maksa sitsit pikimmiten seuraavasti:\n" . "Tilinumero: 15346-3568342\n" . "Saajan nimi: Athene\n" . "Hinta: 50e\n";
    $confirmationMail = new ConfirmationMail($message, new Email("*****@*****.**"), 123, 999);
    foreach (explode("\n", $confirmationMail->getMessage()) as $line) {
        print $line . "<br />\n";
    }
    $confirmationMail->send();
}
Example #2
0
<?php

/* Requirements */
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(2);
$debugger = new Debugger();
$database = new Database();
/* The code */
$signupId = $request->getSignupId();
$signupGadget = new SignupGadget($signupId);
if ($signupGadget->isOpen()) {
    $signupGadget->setClosingTime(mktime());
    $signupGadget->updateToDatabase();
    header("Location: " . $configurations->webRoot . "admin");
} else {
    if ($signupGadget->isClosed()) {
        // TODO implement open again feature
    } else {
        $signupGadget->setOpeningTime(mktime());
        $signupGadget->updateToDatabase();
        header("Location: " . $configurations->webRoot . "admin");
    }
}
Example #3
0
 * kysymyksiin. Kysymyksien tunnisteina on id. Esim:
 * 
 * 11: Mikko Koski
 * 12: mikko.koski@tkk.fi
 * 13: Normaali ruokavalio
 * 14-0: Tykkään kahvista
 * 14-1: Tykkään suklaasta
 * 14-2: Tykkään pähkinästä
 * 15: Punaviini
 * ilmo_id: 56
 * user_id: 143
 * question_ids: 11,12,13,14-0,14-1,14-2,15
 */
$signupId = CommonTools::POST("signupid");
$userId = CommonTools::POST("userid");
$signupGadget = new SignupGadget($signupId);
$questions = $signupGadget->getAllQuestions();
$answers = array();
// This is for debugging. It's easy to see from here the variable names that
// the form sends
$debugger->listDefinedPostAndGetVars("save.php");
foreach ($questions as $question) {
    $answer = null;
    // Checkbox is a bit more complicated
    if ($question->getType() == "checkbox") {
        $answer = parseCheckboxAnswer($question);
    } else {
        $answer = parseNormalAnswer($question);
    }
    array_push($answers, $answer);
}
Example #4
0
<?php

/* Requirements */
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/Database.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(2);
$debugger = new Debugger();
$database = new Database();
/* The code */
// FIXME This should be post? Can make some annoying damage if some dummhead
// changes it
$signupId = $request->getSignupId();
$signupGadget = SignupGadget::createSignupGadgetFromPost($signupId);
$signupGadget->updateToDatabase();
// FIXME It would be great to display some short message to user that the
// update was done successfully
header("Location: " . $configurations->webRoot . "admin");
Example #5
0
<?php

/* Requirements */
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/SignupGadgets.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(2);
$debugger = new Debugger();
$database = new Database();
/* The code */
$signupId = $request->getSignupId();
$action = $request->getAction();
$signupGadget = new SignupGadget($signupId);
if ($action == "delete-confirmed") {
    $signupGadget->deleteFromDatabase();
    header("Location: " . $configurations->webRoot . "admin");
} else {
    $page->addContent("<h1>Poista ilmomasiina</h1>");
    $page->addContent("<p>Haluatko varmasti poistaa seuraavan ilmomasiinan:</p>");
    $page->addContent("<p><b>" . $signupGadget->getTitle() . "</b></p>");
    $page->addContent("<p>" . $signupGadget->getDescription() . "</p>");
    $page->addContent("<p><a href=\"" . $configurations->webRoot . "admin/delete-confirmed/{$signupId}\">Joo</a> <a href=\"" . $configurations->webRoot . "admin\">Ei</a></p>");
    $page->printPage();
}
Example #6
0
    if ($action == "continueandcancelold") {
        $user = new User($signupid);
        $user->cancelUnconfirmedSignupAndRefreshSession();
        header("Location: " . $configurations->webRoot . "confirm/" . $user->getNewSignupId());
    } else {
        // Check that signup is open
        $newSignupGadget = new SignupGadget($signupid);
        $user = null;
        if ($newSignupGadget->isOpen()) {
            $user = new User($signupid);
        } else {
            $debugger->error("Ilmoittautuminen ei ole avoinna.", "queue.php");
        }
        if ($user->getUnconfirmedSignupExists()) {
            $debugger->debug("Unconfirmed signup exists", "queue.php");
            if ($user->getUnconfirmedSignupIsNotTheSameAsThis()) {
                $debugger->debug("Unconfirmed signup exists, but it is not this one", "queue.php");
                $signupgadget = new SignupGadget($user->getOldSignupId());
                $page->addContent("<p><b>Huom!</b> Olet ilmoittautunut jo ilmomasiinassa <b>" . $signupgadget->getTitle() . "</b>, muttet ole vahvistanut ilmoittautumista. " . "Ennen kuin voit ilmoittautua toiseen ilmomasiinaan sinun pitää vahvistaa tai peruuttaa" . " aikasemmat vahvistamattomat ilmoittautumiset.</p>");
                $page->addContent("<p>Valitse mitä haluat tehdä:</p>");
                $page->addContent("<p> >> <a href=\"" . $configurations->webRoot . "continueandcancelold/" . $user->getNewSignupId() . "\">Peruuta aiempi vahvistamaton ilmoittautuminen ja " . "siirry eteenpäin</a></p>");
                $page->addContent("<p> >> <a href=\"" . $configurations->webRoot . "confirmold/" . $user->getOldSignupId() . "\">Siirry vahvistamaan aiempi ilmoittautuminen</a></p>");
                $page->printPage();
            } else {
                header("Location: " . $configurations->webRoot . "confirm/" . $user->getNewSignupId());
            }
        } else {
            header("Location: " . $configurations->webRoot . "confirm/" . $user->getNewSignupId());
        }
    }
}
Example #7
0
<?php

require_once "classes/CsvFormater.php";
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/SignupGadgets.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(2);
$debugger = new Debugger();
$database = new Database();
$signupId = $request->getSignupId();
$signupGadget = new SignupGadget($signupId);
$passwordFromUser = CommonTools::GET("password");
$password = $signupGadget->getPassword();
if ($passwordFromUser == null || $passwordFromUser != $password) {
    // Prints title and description
    $page->addContent("<h1>" . $signupGadget->getTitle() . "</h1>");
    $page->addContent("<i>" . $signupGadget->getDescription() . "</i>");
    $page->addContent("<h3>Anna salasana</h3>");
    $page->addContent("<form method=\"get\" action=\"" . $configurations->webRoot . "csvoutput/{$signupId}\">");
    $page->addContent("<p>Salasana:</p>");
    $page->addContent("<input type=\"password\" title=\"Kirjoita salasana\" name=\"password\" />");
    $page->addContent("<input type=\"submit\" value=\"OK\" /></form>");
    $page->printPage();
} else {
    header('Content-type: text/csv');
    header('Content-Disposition: attachment; filename="ilmo' . $signupId . '.csv"');
Example #8
0
require_once "classes/SignupGadgetAnswerFormater.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(1);
$debugger = new Debugger();
$database = new Database();
/* The code */
// Chech the id
$signupid = $request->getSignupId();
$sort = CommonTools::GET('sort');
if ($signupid == null || !is_int(intval($signupid)) || $signupid < 0) {
    // Id is not an
    header("Location: " . $configurations->webRoot);
}
// Create gadget and get the data from database
$signupGadget = new SignupGadget($signupid);
$signupGadget->sortAnswers($sort);
//Set page title
$page->title = $signupGadget->getTitle();
// Prints title and description
$page->addContent("<div id=\"signup-info\">");
$page->addContent("<h3 id=\"signup-title\"><span>" . $signupGadget->getTitle() . "</span></h3>");
$page->addContent("<p id=\"signup-description\"><span>" . CommonTools::newlineToBr($signupGadget->getDescription()) . "</span></p>");
// Check the state of signup (open/close/not yet open)
if ($signupGadget->isOpen()) {
    $page->addContent("<p id=\"signup-open\"><span>Ilmoittautuminen on auki</span></p>");
    $page->addContent("</div>");
    $page->addContent("<form id=\"signup-button-form\" method=\"get\" action=\"" . $configurations->webRoot . "queue/" . $signupid . "\">");
    // $page->addContent("<input type=\"hidden\" name=\"signupid\" value=\"$signupid\" />");
    $page->addContent("<input id=\"signup-button\" value=\"Ilmoittaudu\" type=\"submit\" />");
    $page->addContent("</form>");
Example #9
0
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/SignupGadgets.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
require_once "classes/SignupGadgetAnswerFormater.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(1);
$debugger = new Debugger();
$database = new Database();
// Create gadget and get the data from database
$signupId = $request->getSignupId();
$sort = CommonTools::GET("sort");
$signupGadget = new SignupGadget($signupId);
$signupGadget->sortAnswers($sort);
$passwordFromUser = CommonTools::POST("password");
// Prints title and description
$page->addContent("<h1>" . $signupGadget->getTitle() . "</h1>");
$page->addContent("<i>" . $signupGadget->getDescription() . "</i>");
$password = $signupGadget->getPassword();
if ($passwordFromUser == null || $passwordFromUser != $password) {
    $page->addContent("<h3>Anna salasana</h3>");
    $page->addContent("<form method=\"post\" action=\"" . $configurations->webRoot . "showanswers/{$signupId}\">");
    $page->addContent("<p>Salasana:</p>");
    $page->addContent("<input type=\"password\" title=\"Kirjoita salasana\" name=\"password\" />");
    $page->addContent("<input type=\"submit\" value=\"OK\" /></form>");
} else {
    // Check the state of signup (open/close/not yet open)
    if ($signupGadget->isOpen()) {
Example #10
0
 * 11: Mikko Koski
 * 12: mikko.koski@tkk.fi
 * 13: Normaali ruokavalio
 * 14-0: Tykkään kahvista
 * 14-1: Tykkään suklaasta
 * 14-2: Tykkään pähkinästä
 * 15: Punaviini
 * ilmo_id: 56
 * user_id: 143
 * question_ids: 11,12,13,14-0,14-1,14-2,15
 */
$signupId = CommonTools::POST("signupid");
$userId = CommonTools::POST("userid");
$user = new User($signupId);
$debugger->debug("UserID: " + $userId, "save.php");
$signupGadget = new SignupGadget($signupId);
$questions = $signupGadget->getAllQuestions();
$answers = array();
// This is for debugging. It's easy to see from here the variable names that
// the form sends
$debugger->listDefinedPostAndGetVars("save.php");
foreach ($questions as $question) {
    $answer = null;
    // Checkbox is a bit more complicated
    if ($question->getType() == "checkbox") {
        $answer = parseCheckboxAnswer($question);
    } else {
        $answer = parseNormalAnswer($question);
    }
    array_push($answers, $answer);
}
Example #11
0
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/SignupGadgets.php";
require_once "classes/Debugger.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
require_once "classes/SignupGadgetAnswerFormater.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(2);
$debugger = new Debugger();
$database = new Database();
// Create gadget and get the data from database
$signupId = $request->getSignupId();
$sort = CommonTools::GET("sort");
$signupGadget = new SignupGadget($signupId);
$signupGadget->sortAnswers($sort);
// Prints title and description
$page->addContent("<h1>" . $signupGadget->getTitle() . "</h1>");
$page->addContent("<i>" . CommonTools::newlineToBr($signupGadget->getDescription()) . "</i>");
// Check the state of signup (open/close/not yet open)
if ($signupGadget->isOpen()) {
    $page->addContent("<p class=\"signupOpen\">Ilmoittautuminen on auki</p>");
    $page->addContent(SignupGadgetAnswerFormater::getAnswersInPrintableFormat($signupGadget, true));
    $page->addContent("<p class=\"csv-output\"><a href=\"" . $configurations->webRoot . "admin/csvoutput/{$signupId}\">Vastaukset csv-muodossa</a></p>");
} else {
    if ($signupGadget->isClosed()) {
        $page->addContent("<p class=\"signupClosed\">Ilmoittautuminen on sulkeutunut</p>");
        $page->addContent(SignupGadgetAnswerFormater::getAnswersInPrintableFormat($signupGadget, true));
        $page->addContent("<p class=\"csv-output\"><a href=\"" . $configurations->webRoot . "admin/csvoutput/{$signupId}\">Vastaukset csv-muodossa</a></p>");
    } else {
Example #12
0
 /**
  * Creates a new signup gadget directly from POST variables from previous
  * page. If you are creating totally new signup gadget you must not change
  * the value of the id, but if you are going to edit previously existing
  * signup gadget you should set proper value to id parameter
  *
  * @param id ID of the signup gadget. If you are creating a totally new
  * signup gadget, ignore this parameter.
  */
 function createSignupGadgetFromPost($id = -1)
 {
     // Gets data from POST variables
     $question_num = CommonTools::POST('question_num');
     $title = CommonTools::POST('title');
     $description = CommonTools::POST('description');
     $event_day = CommonTools::POST('event_day');
     $event_month = CommonTools::POST('event_month');
     $event_year = CommonTools::POST('event_year');
     $event_hour = CommonTools::POST('event_hour');
     $event_minutes = CommonTools::POST('event_minutes');
     $opens_day = CommonTools::POST('opens_day');
     $opens_month = CommonTools::POST('opens_month');
     $opens_year = CommonTools::POST('opens_year');
     $opens_hour = CommonTools::POST('opens_hour');
     $opens_minutes = CommonTools::POST('opens_minutes');
     $closes_day = CommonTools::POST('closes_day');
     $closes_month = CommonTools::POST('closes_month');
     $closes_year = CommonTools::POST('closes_year');
     $closes_hour = CommonTools::POST('closes_hour');
     $closes_minutes = CommonTools::POST('closes_minutes');
     $send_confirmation = CommonTools::POST('send_confirmation');
     // Convert string value to boolean
     if ($send_confirmation == "true") {
         $send_confirmation = true;
     } else {
         $send_configuration = false;
     }
     $confirmation_message = CommonTools::POST('mailmessage');
     // Make timestamps
     $event_date = mktime($event_hour, $event_minutes, 0, $event_month, $event_day, $event_year);
     $opens = mktime($opens_hour, $opens_minutes, 0, $opens_month, $opens_day, $opens_year);
     $closes = mktime($closes_hour, $closes_minutes, 0, $closes_month, $closes_day, $closes_year);
     // Create signup gadget with or without id
     $signupGadget = null;
     if ($id < 0) {
         $signupGadget = new SignupGadget(-1, $title, $description, $event_date, $opens, $closes, $send_confirmation, $confirmation_message);
     } else {
         $signupGadget = new SignupGadget($id, $title, $description, $event_date, $opens, $closes, $send_confirmation, $confirmation_message);
     }
     /*
      * Then find the questions. The question count is known, and they are in
      * increasing order, but there might be removed numbers if user has
      * removed questions while filling the form (for example 1,2,5,7,9...)
      */
     // Is email-field already set
     $hasEmail = false;
     for ($i = 0, $questions_founded = 0; $questions_founded < $question_num; $i++) {
         // Is the question set?
         if (!isset($_POST["question_{$i}"])) {
             continue;
         } else {
             if ($_POST["question_{$i}"] == "") {
                 $questions_founded++;
                 continue;
             } else {
                 // Get the question
                 $questionId = CommonTools::POST("id_{$i}");
                 $question = CommonTools::POST("question_{$i}");
                 // Question
                 $type = CommonTools::POST("type_{$i}");
                 // Question type
                 $options_num = CommonTools::POST("optionsnum_{$i}");
                 // Count of options
                 $public = CommonTools::POST("public_{$i}");
                 // Is it public?
                 $required = CommonTools::POST("required_{$i}");
                 // Is it required?
                 $public = CommonTools::checkboxToBoolean($public);
                 $required = CommonTools::checkboxToBoolean($required);
                 if ($type == "email") {
                     if ($hasEmail) {
                         // Not more than one email is allowed
                         $debugger = CommonTools::getDebugger();
                         $debugger->error("Vain yksi sähköpostikenttä on sallittu");
                     } else {
                         // If confirmation mail is enabled, email is required
                         if ($send_confirmation) {
                             $required = true;
                         }
                         $hasEmail = true;
                     }
                 }
                 // Let's get the selected options of multiple choice questions
                 $options = array();
                 if ($options_num > 0 && $type != "text" && $type != "textarea" && $type != "email") {
                     for ($j = 0, $options_founded = 0; $options_founded < $options_num; $j++) {
                         // Option can be empty if user has removed options while
                         // filling the form
                         if (!isset($_POST["options_{$i}-{$j}"])) {
                             continue;
                         } else {
                             if ($_POST["options_{$i}-{$j}"] == "") {
                                 $options_founded++;
                                 continue;
                             } else {
                                 // Found an option!
                                 $option = CommonTools::POST("options_{$i}-{$j}");
                                 array_push($options, $option);
                                 $options_founded++;
                             }
                         }
                     }
                 }
                 // Options
                 // All information of the current question has been get, so
                 // let's put the question to signupGadget
                 if ($id >= 0 && $questionId >= 0) {
                     $questionObject = new Question($question, $type, $options, $public, $required, $id, $questionId);
                 } else {
                     if ($id >= 0) {
                         $questionObject = new Question($question, $type, $options, $public, $required, $id);
                     } else {
                         $questionObject = new Question($question, $type, $options, $public, $required);
                     }
                 }
                 $signupGadget->addQuestion($questionObject);
                 // Increase the question found variable
                 $questions_founded++;
             }
         }
     }
     // questions
     // If confirmation mail is enabled, email must be asked from the user
     if ($signupGadget->getSendConfirmationMail() && !$hasEmail) {
         $debugger = CommonTools::getDebugger();
         $debugger->error("Sähköpostikenttä pitää olla käytössä, jos haluat lähettää käyttäjälle vahvistusviestin");
     }
     return $signupGadget;
 }
Example #13
0
<?php

/* Requirements */
require_once "classes/Configurations.php";
require_once "classes/Page.php";
require_once "classes/Debugger.php";
require_once "classes/Database.php";
require_once "classes/SignupGadget.php";
require_once "classes/CommonTools.php";
require_once "classes/User.php";
/* Implementations of the most critical classes */
$configurations = new Configurations();
$page = new Page(3);
$debugger = new Debugger();
$database = new Database();
/* Variables from outside */
$userId = CommonTools::GET("userid");
$signupId = $request->getSignupId();
/* The code */
$signupGadget = new SignupGadget($signupId);
$signupGadget->deleteAnswersByUserFromDatabase($userId);
header("Location: " . $configurations->webRoot . "admin/showanswers/{$signupId}");