public function batchImportQuestions($lines, $del, $enc) { $count = 0; // Clear current questions.. if (isset($_POST['clear'])) { $que = array(); $chop = empty($_POST['cat']) ? $_POST['catall'] : $_POST['cat']; if (!empty($chop)) { $q = mysql_query("SELECT `question` FROM `" . DB_PREFIX . "faqassign`\n\t WHERE `itemID` IN(" . implode(',', $chop) . ")\n\t\t\t AND `desc` = 'category'\n\t\t\t GROUP BY `question`\n\t\t\t ORDER BY `itemID`\n\t\t\t "); while ($QUE = mysql_fetch_object($q)) { $que[] = $QUE->question; } if (!empty($que)) { mysql_query("DELETE FROM `" . DB_PREFIX . "faq` WHERE `id` IN(" . implode(',', $que) . ")") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__)); if (mswRowCount('faq') == 0) { @mysql_query("TRUNCATE TABLE `" . DB_PREFIX . "faq`"); @mysql_query("TRUNCATE TABLE `" . DB_PREFIX . "faqassign`"); } } } } // Upload CSV file.. if (is_uploaded_file($_FILES['file']['tmp_name'])) { // If uploaded file exists, read CSV data... $handle = fopen($_FILES['file']['tmp_name'], 'r'); if ($handle) { while (($CSV = fgetcsv($handle, $lines, $del, $enc)) !== false) { // Clean array.. $CSV = array_map('trim', $CSV); mysql_query("INSERT INTO `" . DB_PREFIX . "faq` (\n `ts`,\n `question`,\n `answer`\n ) VALUES (\n UNIX_TIMESTAMP(UTC_TIMESTAMP),\n '" . mswSafeImportString($CSV[0]) . "',\n '" . mswSafeImportString($CSV[1]) . "'\n )") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__)); $ID = mysql_insert_id(); // Assign categories.. $assign = empty($_POST['cat']) ? $_POST['catall'] : $_POST['cat']; if (!empty($assign) && $ID > 0) { foreach ($assign as $aID) { mysql_query("INSERT INTO `" . DB_PREFIX . "faqassign` (\n `question`,`itemID`,`desc`\n ) VALUES (\n '{$ID}','{$aID}','category'\n )") or die(mswMysqlErrMsg(mysql_errno(), mysql_error(), __LINE__, __FILE__)); } } ++$count; } fclose($handle); } } // Clear temp file.. if (file_exists($_FILES['file']['tmp_name'])) { @unlink($_FILES['file']['tmp_name']); } // Rebuild sequence.. faqCentre::rebuildQueSequence(); return $count; }