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']} <{$email}></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']} <{$email}></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); }
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");