$admin = new Admin($db);
#create form object
$opt = new Formitable($db, 'sionapros_pubs');
$opt->forceTypes(array('doc', 'id', 'category'), array('file', 'hidden', 'select'));
#custom labels
$opt->labelFields(array('title', 'doc', 'category', 'pub_date'), array('Document Title *', 'Upload File *', 'Category *', 'Publication Date *'));
//set up regular expressions for field validation
$opt->registerValidation("required", ".+", "Field MUST be filled in please.");
$opt->setDateField('pub_date');
//set up fields for validation using regexs above
$opt->validateField("title", "required");
$opt->validateField("doc", "required");
$opt->validateField("category", "required");
$opt->validateField("pub_date", "validateDate");
#set default value
$opt->setDefaultValue('id', $admin->getId($opt->table));
#set normalized
$opt->normalizedField('category', 'sionapros_categories', 'id', 'value', 'id ASC');
//set all output to be returned instead of printed
$opt->returnOutput = true;
if (isset($_FILES)) {
    //path to upload to (with trailing slash)
    $path = "./docs/";
    //array of filetypes to check against
    $filetypes = array("png", "jpeg", "gif", "PNG", "JPEG", "GIF", "jpg", "JPG", "pdf", "PDF", "ps", "PS");
    //should file be include(ed) or exclude(ed) to be acceptable?
    $filemode = "exclude";
    foreach ($_FILES as $key => $value) {
        //get built-in error code (since PHP 4.2.0)
        if (isset($_FILES[$key]['error'])) {
            $phpErr = $_FILES[$key]['error'];
$staff->forceTypes(array('identifier', 'password', 'reg_date'), array('hidden', 'password', 'hidden'));
$staff->forceTypes(array('change_password', 'account_status'), array('hidden', 'hidden'));
#custom labels
$staff->labelFields(array('firstname', 'lastname'), array('First Name *', 'Last Name *'));
$staff->labelFields(array('username', 'password'), array('User Name *', 'Password *'));
//set up regular expressions for field validation
$staff->registerValidation("required", ".+", "Field MUST be filled in please.");
#$staff->setDateField('account_expiry_date');
$staff->setPasswordField('password');
//set up fields for validation using regexs above
$staff->validateField("firstname", "required");
$staff->validateField("lastname", "required");
$staff->validateField("username", "required");
$staff->validateField("password", "required");
#set default values
$staff->setDefaultValue('reg_date', date("Y-m-d H:i:s"));
$staff->setDefaultValue('change_password', 'Yes');
$staff->setDefaultValue('account_status', 'Active');
//set all output to be returned instead of printed
$staff->returnOutput = true;
//test for last page and no errors to submit form, otherwise start form
if (@$_POST['formitable_multipage'] != "end" || isset($staff->errMsg)) {
    $staffOpen = $staff->openForm();
    $smarty->assign('staffOpen', $staffOpen);
} else {
    $staff->submitForm(false);
}
//first page - test for no submit OR errors set with a field on the first page
if (!isset($_POST['submit']) || isset($staff->errMsg) && isset($_POST['firstname'])) {
    #print first page
    $page1 = "page 1";
<?php

require_once './classes/cats.class.php';
$ts = new Cats($db);
#create form object
$cats = new Formitable($db, 'sionapros_categories');
$cats->forceTypes(array('id', 'value'), array('hidden', 'varchar'));
#custom labels
$cats->labelFields(array('value'), array('Category *'));
//set up regular expressions for field validation
$cats->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$cats->validateField("value", "required");
$cats->uniqueField("value", "This Category Name Already Exists");
#set default values
$cats->setDefaultValue('id', $ts->getCatNo());
//set all output to be returned instead of printed
$cats->returnOutput = true;
if (!isset($_POST['submit']) || isset($_POST['submit']) && $cats->submitForm(false) == -1) {
    $catsForm = $cats->printForm();
    $smarty->assign('cats', $catsForm);
} else {
    #$smarty->assign('client_no', $client_no);
    #submit msg
    $smarty->assign('updateMsg', $cats->submitMsg);
    #$content	= $smarty->fetch( "./main/allergy/reg_allergy_group.tpl.html" );
    #unset prevPath
    unset($_SESSION['prevPath']);
}
$content = $smarty->fetch("./cats/main.reg_category.tpl.html");
<?php

require_once './classes/security.class.php';
$security = new Security($db);
#create form object
$sec = new Formitable($db, 'sionapros_profiles');
$sec->forceTypes(array('profile_id'), array('hidden'));
#custom labels
$sec->labelField('profile', 'Profile Name *');
$sec->labelField('remarks', 'Remarks i.e Describe the Profile');
//set up regular expressions for field validation
$sec->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$sec->validateField("profile", "required");
$sec->validateField("remarks", "required");
$sec->uniqueField("profile", "This Profile Name Already Exists");
#set default values
$sec->setDefaultValue('profile_id', $security->getProfileId());
#submit msg
$sec->msg_insertSuccess = "A new profile called {$_POST['profile']} was created.";
//set all output to be returned instead of printed
$sec->returnOutput = true;
if (!isset($_POST['submit']) || isset($_POST['submit']) && $sec->submitForm(false) == -1) {
    $secForm = $sec->printForm();
    $smarty->assign('sec', $secForm);
} else {
    $smarty->assign('updateMsg', $sec->submitMsg);
    #unset prevPath
    unset($_SESSION['prevPath']);
}
$content = $smarty->fetch("./security/tm0.security.create_profile.tpl.html");
Esempio n. 5
0
$pass = "******";
$DB = "database";
//include class, create new Formitable, set primary key field name
include "../Formitable.class.php";
$newForm = new Formitable(@mysql_connect("localhost", $user, $pass), $DB, "formitable_demo");
$newForm->setPrimaryKey("ID");
$newForm->setEncryptionKey("g00D_3nCr4p7");
//hide primary key field, force a few field types
$newForm->hideField("ID");
$newForm->forceTypes(array("foods", "day_of_week"), array("checkbox", "radio"));
//get data pairs from another table
$newForm->normalizedField("toon", "formitable_toons", "ID", "name", "pkey ASC");
//set custom field labels
$newForm->labelFields(array("f_name", "l_name", "description", "pets", "foods", "color", "day_of_week", "b_day", "toon"), array("First Name", "Last Name", "About Yourself", "Your Pets", "Favorite Foods", "Favorite Color", "Favorite Day", "Your Birthday", "Favorite Cartoon"));
//set some default values
$newForm->setDefaultValue("pets", "Dog");
$newForm->setDefaultValue("color", "Blue");
$newForm->setDefaultValue("toon", "3");
$newForm->setDefaultValue("foods", "pizza,salad");
$newForm->setDefaultValue("day_of_week", date("l"));
//set up regular expressions for field validation
$newForm->registerValidation("required", ".+", "Input is required.");
//set up a field for validation using regex above
$newForm->validateField("f_name", "required");
//set validation feedback mode
$newForm->feedback = "both";
//retrieve a record for update if GET var set
if (isset($_GET['ID'])) {
    $newForm->getRecord($_GET['ID']);
}
//call submit method if form has been submitted
#$faq = new Allergy($db);
#create form object
$faq = new Formitable($db, 'sionapros_faqs');
$faq->setPrimaryKey('id');
$faq->getRecord($id);
$faq->forceTypes(array('id', 'done_by', 'reg_date', 'category'), array('hidden', 'hidden', 'hidden', 'select'));
#custom labels
$faq->labelFields(array('faq_qn', 'faq_ans', 'category'), array('Question *', 'Answer *', 'Category *'));
//set up regular expressions for field validation
$faq->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$faq->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$faq->validateField("faq_qn", "required");
$faq->validateField("faq_ans", "required");
$faq->validateField("category", "required");
#set default values
$faq->setDefaultValue('done_by', $_SESSION['loginUsername']);
#normalized field
$faq->normalizedField("category", "sionapros_categories", "id", "value", "id ASC");
//set all output to be returned instead of printed
$faq->returnOutput = true;
if (!isset($_POST['submit']) || isset($_POST['submit']) && $faq->submitForm(false) == -1) {
    $faqForm = $faq->printForm();
    $smarty->assign('faq', $faqForm);
} else {
    $smarty->assign('updateMsg', $faq->submitMsg);
    #unset prevPath
    unset($_SESSION['prevPath']);
}
$content = $smarty->fetch("./faqs/faqs.upd_faq.tpl.html");
require_once './classes/admin.class.php';
$re = new Admin($db);
#create form object
$faq = new Formitable($db, 'sionapros_faqs');
$faq->forceTypes(array('id', 'done_by', 'reg_date', 'category'), array('hidden', 'hidden', 'hidden', 'select'));
#custom labels
$faq->labelFields(array('faq_qn', 'faq_ans', 'category'), array('Question *', 'Answer *', 'Category *'));
//set up regular expressions for field validation
$faq->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$faq->validateField("faq_qn", "required");
$faq->validateField("faq_ans", "required");
$faq->validateField("category", "required");
#set default values
$faq->setDefaultValue('id', $re->getId($faq->table));
$faq->setDefaultValue('reg_date', date("Y-m-d"));
$faq->setDefaultValue('done_by', $_SESSION['loginUsername']);
#normalized field
$faq->normalizedField("category", "sionapros_categories", "id", "value", "id ASC");
#submit msg
$faq->msg_insertSuccess = "A new FAQ was recorded.";
//set all output to be returned instead of printed
$faq->returnOutput = true;
if (!isset($_POST['submit']) || isset($_POST['submit']) && $faq->submitForm(false) == -1) {
    $faqForm = $faq->printForm();
    $smarty->assign('faq', $faqForm);
} else {
    $smarty->assign('updateMsg', $faq->submitMsg);
    #unset prevPath
    unset($_SESSION['prevPath']);
#create form object
$news = new Formitable($db, 'sionapros_news');
$news->setPrimaryKey('news_no');
#set encryption key
$news->setEncryptionKey("eoeeuye_eeeoi");
$news->getRecord($_SESSION['news_no']);
$news->forceTypes(array('news_no', 'photo', 'title', 'summary', 'details', 'username', 'reg_date', 'category', 'pub_date'), array('hidden', 'file', 'hidden', 'hidden', 'hidden', 'hidden', 'hidden', 'hidden', 'hidden'));
#custom labels
$news->labelFields(array('photo', 'photo_desc'), array('Upload A Photo *', 'Short Photo Description *'));
//set up regular expressions for field validation
$news->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$news->validateField("photo", "required");
$news->validateField("photo_desc", "required");
#set default values
$news->setDefaultValue('news_no', $_SESSION['news_no']);
#submit msg
$news->msg_updateSuccess = "A photo for a news article was uploaded.";
//set all output to be returned instead of printed
$news->returnOutput = true;
if (isset($_FILES)) {
    //path to upload to (with trailing slash)
    $path = "./photos";
    //array of filetypes to check against
    $filetypes = array("png", "jpeg", "gif", "PNG", "JPEG", "GIF", "jpg", "JPG");
    //should file be include(ed) or exclude(ed) to be acceptable?
    $filemode = "exclude";
    foreach ($_FILES as $key => $value) {
        //get built-in error code (since PHP 4.2.0)
        if (isset($_FILES[$key]['error'])) {
            $phpErr = $_FILES[$key]['error'];
$news->setDateField('pub_date');
//set up regular expressions for field validation
$news->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$news->validateField("title", "required");
$news->validateField("summary", "required");
$news->validateField("details", "required");
$news->validateField("category", "required");
$news->validateField("pub_date", "validateDate");
#set default values
#get news_No
$newsSQL = "SELECT MAX(news_no) FROM sionapros_news";
$result = $db->execute($newsSQL);
$id = $result[0];
$news_no = $id['MAX(news_no)'] + 1;
$news->setDefaultValue('news_no', $news_no);
$news->setDefaultValue('reg_date', date("Y-m-d H:i:s"));
$news->setDefaultValue('username', $_SESSION['loginUsername']);
$news->normalizedField("category", "sionapros_categories", "id", "value", "id ASC");
//set all output to be returned instead of printed
$news->returnOutput = true;
if (!isset($_POST['submit']) || isset($_POST['submit']) && $news->submitForm(false) == -1) {
    $newsForm = $news->printForm();
    $smarty->assign('news', $newsForm);
} else {
    #unset prevPath
    unset($_SESSION['prevPath']);
    header("Location: ./index.php?path=./main/news/tm0.news.preview_news.php&news_no={$_POST['news_no']}");
    exit;
}
$content = $smarty->fetch("./news/tm0.news.reg_news.tpl.html");
if (count($result) == 0) {
    $assignedTo = 'NONE';
}
#create form object
$sec = new Formitable($db, 'sionapros_object_profile');
$sec->forceTypes(array('object'), array('hidden'));
$sec->skipFields(array('activefolder', 'filename'));
$sec->normalizedField('profile_id', 'sionapros_profiles', 'profile_id', 'profile', 'profile_id ASC');
#custom labels
$sec->labelField('profile_id', 'Profile *');
//set up regular expressions for field validation
$sec->registerValidation("required", ".+", "Field MUST be filled in please.");
//set up fields for validation using regexs above
$sec->validateField("profile_id", "required");
#set default values
$sec->setDefaultValue('object', $objectpath);
$nmSQL = "SELECT profile FROM sionapros_profiles WHERE profile_id = {$_POST['profile_id']}";
$nm = $db->execute($nmSQL);
$sec->msg_insertSuccess = "The object {$objectpath} is now only accessible to users under the {$nm[0]['profile']} profile.";
//set all output to be returned instead of printed
$sec->returnOutput = true;
$smarty->assign('msg', $msg);
$smarty->assign('assignedTo', $assignedTo);
$smarty->assign('result', $result);
$smarty->assign('objectpath', $objectpath);
if (!isset($_POST['submit']) || isset($_POST['submit']) && $sec->submitForm(false) == -1) {
    $secOpen = $sec->openForm();
    $smarty->assign('secOpen', $secOpen);
    $objectId = $sec->printField('object');
    $smarty->assign('objectId', $objectId);
    $profile = $sec->printField('profile_id');