Work on forms
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 17 Dec 2014 17:35:39 +0000 (12:35 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 17 Dec 2014 17:35:39 +0000 (12:35 -0500)
testing form found some bugs
not saving initial application properly (fixed)
test in https

config/settings7.php
controllers/admin.php
controllers/front.php
models/list-applications.php
views/admin/applicationList.php
views/admin/form_1.php
views/front/formTemplate.php

index 6cd86f2..34f11c9 100644 (file)
@@ -179,7 +179,7 @@ $copies = [
 $form = [
     $topHeader,
     $header2,
-    [$name],
+    [$app_name],
     [$app_address],
     [$app_city, $app_state, $app_zip],
     [$app_social],
index 119a20d..5c39663 100644 (file)
@@ -70,7 +70,9 @@ class glm_employment_admin
      */
     public function get_applications()
     {
-        $action = filter_var($_GET['action'], FILTER_SANITIZE_STRING);
+        $action = (isset($_GET['action']))
+            ? filter_var($_GET['action'], FILTER_SANITIZE_STRING)
+            : null;
         switch ($action) {
         case 'view':
             $this->view_application();
index cb4a766..ff5ff84 100644 (file)
@@ -118,7 +118,6 @@ class glm_employment_front
 
         // form Action
         $formAction = '';
-//        echo '<pre>'.print_r($formPart, true).'</pre>';
         switch ($formPart) {
         case 1:
         case 2:
@@ -128,13 +127,8 @@ class glm_employment_front
         case 6:
         case 7:
             if ($this->formSubmitted) {
-//                $form = $this->load_form_settings($formPart);
-                $this->appId = $appId = filter_var($_REQUEST['appId'], FILTER_VALIDATE_INT);
+                $this->appId = $appId = (isset($_REQUEST['appId'])) ? filter_var($_REQUEST['appId'], FILTER_VALIDATE_INT): null;
                 $form = $this->form_process($formPart);
-//                echo '<pre>'.print_r('appId:' . $this->appId, true).'</pre>';
-//                echo '<pre>'.print_r('fname:' . $this->fname, true).'</pre>';
-//                echo '<pre>'.print_r('form:' . $form, true).'</pre>';
-//                wp_die('test');
 
                 if (!$this->appId && $this->fname) {
                     // insert new application and form data
@@ -179,11 +173,11 @@ class glm_employment_front
      */
     public function store_resume_file()
     {
-        echo '<pre>'.print_r($form, true).'</pre>';
+//        echo '<pre>'.print_r($form, true).'</pre>';
         if (!$appId = filter_var($_REQUEST['appId'], FILTER_VALIDATE_INT)) {
             return false;
         }
-        echo '<pre>'.print_r($_FILES, true).'</pre>';
+//        echo '<pre>'.print_r($_FILES, true).'</pre>';
         preg_match("%\.[A-Za-z]*$%", $_FILES['resume_file']['name'], $ext);
             $size       = getImageSize($_FILES['resume_file']['tmp_name']);
             $resumeFile = tempnam(GLM_EMP_UPLOAD_DIR, "RESUME");
@@ -210,9 +204,15 @@ class glm_employment_front
      */
     public function store_application_data($form)
     {
-        if ($this->appId = filter_var($_REQUEST['appId'], FILTER_VALIDATE_INT)) {
-            return $this->appId;
-        } else if ($this->appId = filter_var($_SESSION['glmJobsApplication'], FILTER_VALIDATE_INT)) {
+        $appId = (isset($_REQUEST['appId']))
+            ? filter_var($_REQUEST['appId'], FILTER_VALIDATE_INT)
+            : null;
+        $this->appId = (isset($_SESSION['glmJobsApplication']))
+            ? filter_var($_SESSION['glmJobsApplication'], FILTER_VALIDATE_INT)
+            : null;
+        if ($appId) {
+            return $appId;
+        } else if ($this->appId) {
             return $this->appId;
         }
         $this->wpdb->insert(
@@ -318,37 +318,38 @@ class glm_employment_front
         if ($jobId = filter_var($_REQUEST['job'], FILTER_VALIDATE_INT)) {
             $this->job = $jobId;
         }
-
         foreach ($form as $rowKey => $row) {
-            if ($row['type'] != 'header') {
-                foreach ($row as $fieldKey => $field) {
-                    if (!isset($field['name'])) {
-                        continue;
-                    }
-//                    $form[$rowKey][$fieldKey]['value']
-//                        = filter_var($_REQUEST[$field['name']], FILTER_SANITIZE_STRING);
-                    $form[$rowKey][$fieldKey]['value']
-                        = filter_input(INPUT_POST, $field['name'], FILTER_SANITIZE_STRING);
-                    if (in_array($field['name'], array('fname', 'lname', 'mname'))) {
-                        $this->$field['name'] = $form[$rowKey][$fieldKey]['value'];
-                    }
-                    if (   $field['type'] == 'checkbox'
-                        && isset($field['opts'])
-                        && !empty($field['opts'])
-                    ) {
-                        foreach ($field['opts'] as $opKey => $option) {
-                            if (isset($_POST[$option['name']])) {
-                                $form[$rowKey][$fieldKey]['opts'][$opKey]['checked'] = true;
-                            }
+            if (isset($row['type']) && $row['type'] == 'header') {
+                continue;
+            }
+            foreach ($row as $fieldKey => $field) {
+                if (!isset($field['name'])) {
+                    continue;
+                }
+                $form[$rowKey][$fieldKey]['value']
+                    = filter_input(INPUT_POST, $field['name'], FILTER_SANITIZE_STRING);
+                if (in_array($field['name'], array('fname', 'lname', 'mname'))) {
+                    $this->$field['name'] = $form[$rowKey][$fieldKey]['value'];
+                }
+                if (   $field['type'] == 'checkbox'
+                    && isset($field['opts'])
+                    && !empty($field['opts'])
+                ) {
+                    foreach ($field['opts'] as $opKey => $option) {
+                        if (isset($_POST[$option['name']])) {
+                            $form[$rowKey][$fieldKey]['opts'][$opKey]['checked'] = true;
+                            $_POST[$option['name']] = $option['value'];
                         }
                     }
-                    if (   isset($field['req'])
-                        && $field['req'] == true
-                        && $_POST[$field['name']] == ''
-                    ) {
-                        $form[$rowKey][$fieldKey]['error'] = $field['label'] . ' is required!';
-                        ++$this->errorCount;
-                    }
+                }
+                if (   isset($field['req'])
+                    && $field['req'] == true
+                    && $_POST[$field['name']] == ''
+                    && (isset($field['type']))
+                    && $field['type'] != 'radio'
+                ) {
+                    $form[$rowKey][$fieldKey]['error'] = $field['label'] . ' is required!';
+                    ++$this->errorCount;
                 }
             }
         }
index 987d7c5..0443a67 100644 (file)
@@ -22,11 +22,14 @@ class List_Applications extends GLM_List_Table
     public function get_data()
     {
         $where = array();
-        if ($_POST['s']) {
+        if (isset($_REQUEST['s'])) {
             $search = filter_var($_REQUEST['s'], FILTER_SANITIZE_STRING);
             $where[] = "CONCAT(UPPER(fname), UPPER(lname))  like '%".strtoupper($search)."%'";
         }
-        if ($archived = filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)) {
+        $archived = (isset($_REQUEST['archived']))
+            ? filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)
+            : false;
+        if ($archived) {
             $where[] = "archived = true";
         } else {
             $where[] = "archived <> true";
@@ -101,7 +104,10 @@ class List_Applications extends GLM_List_Table
     function column_fname($item){
         //Build row actions
         $urlFormat = '?post_type=%s&page=%s&action=%s&application=%s&archived=%d';
-        if ($archivedList = filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)) {
+        $archivedList = (isset($_REQUEST['archived']))
+            ? filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)
+            : false;
+        if ($archivedList ) {
             $actions = array(
                 'unarchive' => sprintf(
                     '<a href="'.$urlFormat.'">Unarchive</a>',
@@ -257,7 +263,10 @@ class List_Applications extends GLM_List_Table
      * @return array An associative array containing all the bulk actions: 'slugs'=>'Visible Titles'
      **************************************************************************/
     function get_bulk_actions() {
-        if ($archivedList = filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)) {
+        $archivedList = (isset($_REQUEST['archived']))
+            ? filter_var($_REQUEST['archived'], FILTER_VALIDATE_BOOLEAN)
+            : false;
+        if ($archivedList) {
             $actions = array(
                 'delete'    => 'Delete Permanently',
                 'unarchive' => 'Unarchive'
index d318cfd..ca7a0c1 100644 (file)
@@ -1,6 +1,9 @@
 <h2>Applications</h2>
 <?php
-if ($search = filter_var($_REQUEST['s'], FILTER_SANITIZE_STRING)) {
+$search = (isset($_REQUEST['s']))
+    ? filter_var($_REQUEST['s'], FILTER_SANITIZE_STRING)
+    : false;
+if ($search) {
     echo '<span class="subtitle"> Search Results for "' . $search.'"</span>';
 }
 ?>
@@ -13,7 +16,7 @@ if ($search = filter_var($_REQUEST['s'], FILTER_SANITIZE_STRING)) {
     <p class="search-box">
         <label class="screen-reader-text" for="app-search-input">Search Applicants</label>
         <input id="app-search-input" name="s" type="search"
-               value="<?php echo htmlspecialchars($_REQUEST['s']);?>">
+               value="<?php echo htmlspecialchars($search);?>">
         <input type="submit" class="button" value="Search Applicants">
     </p>
     <div class="wrap">
index a9ac962..e885cbe 100644 (file)
@@ -2,14 +2,14 @@
     <?php foreach ($forms as $form):?>
     <div class="small-12 columns">
         <?php foreach($form as $row):?>
-        <?php if ($row['type'] == 'header') :?>
+        <?php if (isset($row['type']) && $row['type'] == 'header') :?>
             <h3><?php echo $row['label'];?></h3>
         <?php else:?>
             <div class="row">
                 <?php foreach($row as $field) :?>
                 <div class="large-<?php echo $field['grid'];?> small-12  columns">
-                    <label<?php if ($field['req']):?> class="error"<?php endif;?>>
-                        <?php echo $field['label'];?>
+                    <label<?php if (isset ($field['req']) && $field['req']):?> class="error"<?php endif;?>>
+                        <?php if(isset($field['label'])) {echo $field['label'];}?>
                     </label>
                     <?php switch($field['type']) :
                     case 'text':?>
@@ -17,8 +17,8 @@
                     <?php case 'email':?>
                     <?php case 'textarea':?>
                     <?php case 'static': ?>
-                        <?php if ($field['placeholder']) {echo '<span><b>'.$field['placeholder'].'</b></span>';}?>
-                        <span><?php echo $field['value'];?></span>
+                        <?php if (isset($field['placeholder']) && $field['placeholder']) {echo '<span><b>'.$field['placeholder'].'</b></span>';}?>
+                    <span><?php if(isset($field['value'])) { echo $field['value'];}?></span>
                     <?php break;?>
                     <?php case 'radio':?>
                         <?php foreach($field['opts'] as $option) :?>
                     <?php break;?>
                     <?php case 'checkbox':?>
                         <?php foreach($field['opts'] as $option) :?>
-                                <span>( <?php if ($option['checked']) {
+                                <span>( <?php if (isset($option['checked']) && $option['checked']) {
                                     echo 'x';
                                 }?> )
                             <?php echo $option['label'];?></span>
                         <?php endforeach;?>
                     <?php break;?>
                     <?php endswitch;?>
-                    <?php if ($field['error']):?>
+                    <?php if (isset($field['error']) && $field['error']):?>
                     <small class="error"><?php echo $field['error'];?></small>
                     <?php endif;?>
                 </div>
index 2993c1e..f383fc9 100644 (file)
 </style>
 <div class="row">
     <div class="small-12 columns">
-        <h1><?php echo $formTitle;?></h1>
+        <h1><?php if(isset($formTitle)) {echo $formTitle;}?></h1>
         <form method="post" action="<?php echo $formAction;?>" enctype="multipart/form-data">
             <input type="hidden" name="<?php echo self::FORM_VAR;?>" value="1">
             <input type="hidden" name="form_part" value="<?php echo $formPart;?>" />
-            <?php if ($appId):?>
+            <?php if (isset($appId) && $appId):?>
             <input type="hidden" name="appId" value="<?php echo $appId;?>">
             <?php endif;?>
-            <?php if ($jobId):?>
+            <?php if (isset($jobId) && $jobId):?>
             <input type="hidden" name="job" value="<?php echo $jobId;?>">
             <?php endif;?>
             <?php foreach($form as $row):?>
-            <?php if ($row['type'] == 'header') :?>
+            <?php if (isset($row['type']) && $row['type'] == 'header') :?>
                 <h3><?php echo $row['label'];?></h3>
-                <?php if ($row['subheader']) {?>
+                <?php if (isset($row['subheader']) && $row['subheader']) {?>
                     <h4 class="subheader"><?php echo $row['subheader'];?></h4>
                 <?php }?>
-                <?php if ($row['notes']) {?>
+                <?php if (isset($row['notes']) && $row['notes']) {?>
                     <p><?php echo $row['notes'];?></p>
                 <?php }?>
             <?php else:?>
-                <div class="row<?php echo ($row[0]['rcoll'])?' collapse':'';?>">
+                <div class="row<?php echo (isset($row[0]['rcoll']) && $row[0]['rcoll'])?' collapse':'';?>">
                     <?php foreach($row as $field) :?>
                     <div class="small-<?php echo $field['grid'];?> columns">
-                        <label<?php if ($field['req']):?> class="error"<?php endif;?>>
-                            <?php echo $field['label'];?>
+                        <label<?php if (isset($field['req']) && $field['req']):?> class="error"<?php endif;?>>
+                            <?php if(isset($field['label'])) { echo $field['label'];}?>
                         </label>
                             <?php switch($field['type']) :
                             case 'text':?>
                             <input
-                                <?php if ($field['placeholder']) {echo ' placeholder="'.$field['placeholder'].'"';}?>
-                                <?php if ($field['error']){echo 'class="error"';}?>
-                                <?php if ($field['req']){echo 'required';}?>
-                                <?php if ($field['pat']):?>
+                                <?php if (isset($field['placeholder']) && $field['placeholder']) {echo ' placeholder="'.$field['placeholder'].'"';}?>
+                                <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                <?php if (isset($field['req']) && $field['req']){echo 'required';}?>
+                                <?php if (isset($field['pat']) && $field['pat']):?>
                                 pattern="<?php echo $field['pat'];?>"
                                 <?php endif;?>
                                 name="<?php echo $field['name'];?>"
                                 type="text"
-                                value="<?php echo $field['value'];?>" />
+                                value="<?php if(isset($field['value'])) {echo $field['value'];}?>" />
                             <?php break;?>
                             <?php case 'tel':?>
                             <input
-                                <?php if ($field['error']){echo 'class="error"';}?>
-                                <?php if ($field['req']){echo 'required';}?>
-                                <?php if ($field['pat']):?>
+                                <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                <?php if (isset($field['error']) && $field['req']){echo 'required';}?>
+                                <?php if (isset($field['pat']) && $field['pat']):?>
                                 pattern="<?php echo $field['pat'];?>"
                                 <?php endif;?>
                                 name="<?php echo $field['name'];?>"
                                 type="tel"
-                                value="<?php echo $field['value'];?>" />
+                                value="<?php if(isset($field['value'])) { echo $field['value'];}?>" />
                             <?php break;?>
                             <?php case 'email':?>
                             <input
-                                <?php if ($field['error']){echo 'class="error"';}?>
-                                <?php if ($field['req']){echo 'required';}?>
-                                <?php if ($field['pat']):?>
+                                <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                <?php if (isset($field['req']) && $field['req']){echo 'required';}?>
+                                <?php if (isset($field['pat']) && $field['pat']):?>
                                 pattern="<?php echo $field['pat'];?>"
                                 <?php endif;?>
                                 name="<?php echo $field['name'];?>"
                                 type="email"
-                                value="<?php echo $field['value'];?>" />
+                                value="<?php if (isset($field['value'])) { echo $field['value'];}?>" />
                             <?php break;?>
                             <?php case 'static':?>
-                                <?php echo $field['value'];?>
+                                <?php if(isset($field['label'])) { echo $field['label'];}?>
                             <?php break;?>
                             <?php case 'file':?>
                                 <input type="file" name="resume_file">
                             <?php break;?>
                             <?php case 'textarea':?>
                             <textarea
-                                <?php if ($field['error']){echo 'class="error"';}?>
-                                <?php if ($field['req']){echo 'required';}?>
+                                <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                <?php if (isset($field['req']) && $field['req']){echo 'required';}?>
                                 name="<?php echo $field['name'];?>"
-                                value="<?php echo $field['value'];?>"><?php echo $field['value'];?></textarea>
+                                value="<?php if (isset($field['value'])) { echo $field['value'];}?>"><?php if (isset($field['value'])) { echo $field['value'];}?></textarea>
                             <?php break;?>
                             <?php case 'radio':?>
                                 <?php foreach($field['opts'] as $option) :?>
                                     <input
-                                        <?php if ($field['error']){echo 'class="error"';}?>
-                                        <?php if ($field['req']){echo 'required';}?>
-                                        <?php if ($field['pat']):?>
+                                        <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                        <?php if (isset($field['req']) && $field['req']){echo 'required';}?>
+                                        <?php if (isset($field['pat']) && $field['pat']):?>
                                         pattern="<?php echo $field['pat'];?>"
                                         <?php endif;?>
                                         id="<?php echo $option['name'];?>"
                                         name="<?php echo $field['name'];?>"
                                         type="radio"
-                                        value="<?php echo $option['value'];?>"
-                                        <?php if ($field['value'] === $option['value']) {
+                                        value="<?php if (isset($field['value'])) { echo $option['value'];}?>"
+                                        <?php if (isset($field['value']) && $field['value'] === $option['value']) {
                                             echo 'checked';
                                         }?> />
                                     <label for="<?php echo $option['name'];?>"><?php echo $option['label'];?></label>
                             <?php case 'checkbox':?>
                                 <?php foreach($field['opts'] as $option) :?>
                                     <input
-                                        <?php if ($field['error']){echo 'class="error"';}?>
-                                        <?php if ($field['req']){echo 'required';}?>
-                                        <?php if ($field['pat']):?>
+                                        <?php if (isset($field['error']) && $field['error']){echo 'class="error"';}?>
+                                        <?php if (isset($field['req']) && $field['req']){echo 'required';}?>
+                                        <?php if (isset($field['pat']) && $field['pat']):?>
                                         pattern="<?php echo $field['pat'];?>"
                                         <?php endif;?>
                                         id="<?php echo $option['name'];?>"
                                         name="<?php echo $option['name'];?>"
                                         type="checkbox"
-                                        value="<?php echo $option['value'];?>"
-                                        <?php if ($option['checked']) {
+                                        value="<?php if (isset($field['value'])) { echo $option['value'];}?>"
+                                        <?php if (isset($option['checked']) && $option['checked']) {
                                             echo 'checked';
                                         }?> />
                                     <label for="<?php echo $option['name'];?>"><?php echo $option['label'];?></label>
                                 <?php endforeach;?>
                             <?php break;?>
                             <?php endswitch;?>
-                        <?php if ($field['error']):?>
+                        <?php if (isset($field['error']) && $field['error']):?>
                         <small class="error"><?php echo $field['error'];?></small>
                         <?php endif;?>
                     </div>