Example #1
0
function import_csv_data($dbh, $csv_data)
{
    $csv_data = process_csv($_FILES['csv']['tmp_name']);
    $success_list = array();
    $error_list = array();
    $report = "<ul>";
    # Loop through each row, check if person is in `people` table
    foreach ($csv_data as $row) {
        $email = $row['E-mail'];
        $row['Name'] = stripcslashes($row['Name']);
        if ($row['Status'] === 'Approved') {
            insert_db_row($dbh, $row);
            $success_list[] = $row;
            $status = '<span class="label label-success">' . $row['Status'] . "</span>";
            $report .= "<li>{$status} <span class=\"badge\">{$row['Spaces']}</span> {$row['Name']} &lt;{$email}&gt;</li>";
        } else {
            $error_list[] = $row;
        }
    }
    $report .= "</ul>";
    $error_report = "<ul>";
    foreach ($error_list as $row) {
        $email = $row['E-mail'];
        $status = '<span class="label label-danger">' . $row['Status'] . "</span>";
        $error_report .= "<li>{$status} <span class=\"badge\">{$row['Spaces']}</span> {$row['Name']} &lt;{$email}&gt;</li>";
    }
    $error_report .= "</ul>";
    # Status is 'Approved':
    # Person exists in `people` table:
    # Check that person has correct number of seats (both rows and `tickets.seats`)
    # Generate more if needed
    # Email ticket PDF
    # ELSE person does not exist:
    # Add to `people` table, generate ticket codes and row
    # Email ticket PDF
    # Status is 'Cancelled':
    # Person exists in `people` table:
    # Remove associated rows from `tickets`
    # Remove row from `people`
    #
    return array("success" => $report, "errors" => $error_report);
}
Example #2
0
 if (array_key_exists('username', $user_places)) {
     $extension_places['username'] = $user_places['username'];
 }
 //printf("<pre>user_places => %s</pre>\n", print_r($user_places, true));
 //printf("<pre>ext_places => %s</pre>\n", print_r($extension_places, true));
 //printf("<pre>FIRST LINE => %s</pre>", print_r($line, true));
 if (check_required_fields($line, $all_fields)) {
     while ($line = fgetcsv($fh, null, ',')) {
         // create user
         insert_db_row($db, $line, $user_places, 'v_users', $v_ids);
         // add user to members group
         $grp_line = array('member', $line[$user_places['username']]);
         $grp_places = array('groupid' => 0, 'username' => 1);
         insert_db_row($db, $grp_line, $grp_places, 'v_group_members', $v_ids);
         // add user's extension
         insert_db_row($db, $line, $extension_places, 'v_extensions', $v_ids);
     }
 }
 fclose($fh);
 //printf("<pre>%s</pre>\n", print_r($inserted, true));
 printf("<h3>Bulk Add Results:</h3>\n");
 printf("<table>\n");
 foreach ($inserted as $key => $value) {
     printf("<tr>\n");
     $name_parts = explode('_', $key);
     $table_prefix = array_shift($name_parts);
     printf("<td>");
     foreach ($name_parts as $phrase_word) {
         printf('%s ', ucfirst($phrase_word));
     }
     printf("</td>\n");
 if (array_key_exists('username', $user_places)) {
     $extension_places['username'] = $user_places['username'];
 }
 //printf("<pre>user_places => %s</pre>\n", print_r($user_places, true));
 //printf("<pre>ext_places => %s</pre>\n", print_r($extension_places, true));
 //printf("<pre>FIRST LINE => %s</pre>", print_r($line, true));
 if (check_required_fields($line, $all_fields)) {
     while ($line = fgetcsv($fh, null, ',')) {
         // create user
         insert_db_row($db, $line, $user_places, 'v_users', $domain_uuids);
         // add user to members group
         $grp_line = array('member', $line[$user_places['username']]);
         $grp_places = array('group_name' => 0, 'username' => 1);
         insert_db_row($db, $grp_line, $grp_places, 'v_group_users', $domain_uuids);
         // add user's extension
         insert_db_row($db, $line, $extension_places, 'v_extensions', $domain_uuids);
     }
 }
 fclose($fh);
 //printf("<pre>%s</pre>\n", print_r($inserted, true));
 printf("<h3>Bulk Add Results:</h3>\n");
 printf("<table>\n");
 foreach ($inserted as $key => $value) {
     printf("<tr>\n");
     $name_parts = explode('_', $key);
     $table_prefix = array_shift($name_parts);
     printf("<td>");
     foreach ($name_parts as $phrase_word) {
         printf('%s ', ucfirst($phrase_word));
     }
     printf("</td>\n");