/** * Render post/page section */ function renderPostPage() { $impCE = new SmackImpCE(); $postForm = ' <div style="float: left; margin-top: 11px; margin-right: 5px;"><img src = "' . WP_CONTENT_URL . '/plugins/wp-ultimate-csv-importer/images/Importicon_24.png"></div><div style="float:left;"><h2>' . $impCE->t('IMPORT_CSV_FILE') . '</h2></div></br></br><form class="add:the-list: validate" method="post"enctype="multipart/form-data" onsubmit="return file_exist();"><table class="importform"> <tr><td><label for="csv_import" class="uploadlabel" >' . $impCE->t('UPLOAD_FILE') . '<span class="mandatory"> *</span></label> <input type="hidden" value="' . WP_CONTENT_URL . '" id="contenturl" /> <input name="csv_import" id="csv_import" class="btn" type="file" value="" /> </td></tr>'; if ($_REQUEST['action'] == 'post' || $_REQUEST['action'] == 'custompost' || $_REQUEST['action'] == 'page') { $postForm .= '<tr style="display:block;" id="detect"><td><label class="detectDup"><input type="checkbox" name="titleduplicatecheck" value=1> ' . $impCE->t("ENABLE_DUPLICATION_POST_TITLE") . '</label></td><td><label class="detectDup"><input type="checkbox" name="contentduplicatecheck" value=1> ' . $impCE->t("ENABLE_DUPLICATION_POST_CONTENT") . '</label></td></tr>'; } $postForm .= '<tr><td><label class="uploadlabel">Delimiter</label><select name="delim" id="delim"> <option value=",">,</option> <option value=";">;</option> </select></td></tr> </table> <p> <button type="submit" class="action addmarginright" name="Import" value="Import" align="right" onclick = "return validateFirstForm();"> Import</button> </p> </form></br></br>'; return $postForm; }
/** * Home page layout and importer */ function upload_csv_file() { global $impCE, $impRen, $pluginActive, $custo_taxo; global $custom_array; global $wpdb; $mFieldsArr = ''; if (!isset($_REQUEST['action']) || !$_REQUEST['action']) { ?> <script> window.location.href = "<?php echo WP_PLUGIN_URL; ?> /../../wp-admin/admin.php?page=upload_csv_file&action=post"; </script> <?php } $importdir = $impCE->getUploadDirectory(); if (!$_REQUEST['action'] || isset($_POST['post_csv']) && $_POST['post_csv']) { echo "<input type = 'hidden' value ='dashboard' id='requestaction'>"; } else { echo "<input type='hidden' value='" . $_REQUEST['action'] . "' id ='requestaction'>"; } echo '<input type="hidden" value="' . WP_CONTENT_URL . '" id="contenturl">'; /* * Get POST data */ if (isset($_POST['delim']) && in_array($_POST['delim'], $impCE->delim_avail)) { $impCE->delim = $_POST['delim']; } if (isset($_POST['titleduplicatecheck']) && trim($_POST['titleduplicatecheck'] != "")) { $impCE->titleDupCheck = true; } if (isset($_POST['contentduplicatecheck']) && trim($_POST['contentduplicatecheck'] != "")) { $impCE->conDupCheck = true; } $custom_array = array(); if (isset($_POST['Import'])) { ?> <input type="hidden" name="versionedname" id="versionedname" value=""/> <input type="hidden" name="fileversion" id="fileversion" value=""/> <?php $data_rows = $impCE->csv_file_data($_FILES['csv_import']['tmp_name'], $impCE->delim); require_once "SmackImpCE.php"; $impObj = new SmackImpCE(); $impObj->move_file(); ?> <div class="smack-wrap" id="smack-content"> <?php echo $impRen->renderMenu(); if (count($impCE->headers) >= 1 && count($data_rows) >= 1) { ?> <form class="add:the-list: validate" name="secondform" id="secondform" method="post" onsubmit="return import_csv();" class="secondform"> <div style="float: left; min-width: 45%"> <div style="float: left; margin-top: 11px; margin-right: 5px;"><img src="<?php echo WP_CONTENT_URL; ?> /plugins/wp-ultimate-csv-importer/images/Importicon_24.png"> </div> <div style="float:left;"> <h3>Import Data Configuration</h3> </div> </br> <?php $cnt = count($impCE->defCols) + 2; $cnt1 = count($impCE->headers); ?> <input type="hidden" id="h1" name="h1" value="<?php echo $cnt; ?> "/> <input type="hidden" id="h2" name="h2" value="<?php echo $cnt1; ?> "/> <input type="hidden" id="prevoptionindex" name="prevoptionindex" value=""/> <input type="hidden" id="prevoptionvalue" name="prevoptionvalue" value=""/> <?php // second form starts here if ($_REQUEST['action'] == 'post' || $_REQUEST['action'] == 'custompost' || $_REQUEST['action'] == 'page') { //set custom fields value $taxo = get_taxonomies(); foreach ($taxo as $taxokey => $taxovalue) { if ($taxokey != 'category' && $taxokey != 'link_category' && $taxokey != 'post_tag' && $taxokey != 'nav_menu' && $taxokey != 'post_format' && $taxokey != 'product_tag' && $taxokey != 'wpsc_product_category' && $taxokey != 'wpsc-variation') { $custo_taxo .= $taxokey . ','; } } $custo_taxo = substr($custo_taxo, 0, -1); ?> <input type='hidden' name='cust_taxo' id='cust_taxo' value='<?php echo $custo_taxo; ?> '/> <div id="posttypecss" style="margin-top: 30px;"> <table> <tr> <td> <input name="_csv_importer_import_as_draft" type="hidden" value="publish"/> <?php if ($_REQUEST['action'] == 'custompost') { ?> <label> Select Post Type<span class="mandatory"> *</span> </label></td> <td> <select name='csv_importer_cat' id='csv_importer_cat'> <option>-- Select --</option> <?php foreach (get_post_types() as $key => $value) { if ($value != 'featured_image' && $value != 'attachment' && $value != 'wpsc-product' && $value != 'wpsc-product-file' && $value != 'revision' && $value != 'nav_menu_item' && $value != 'post' && $value != 'page' && $value != 'wp-types-group' && $value != 'wp-types-user-group') { ?> <option id="<?php echo $value; ?> "> <?php echo $value; ?> </option> <?php } } ?> </select> <a href="#" class="tooltip"> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" /> <span class="tooltipOne"> <img class="callout" src="../wp-content/plugins/wp-ultimate-csv-importer/images/callout.gif" /> <strong>Select a custom post type to import</strong> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" style="margin-top: 6px;float:right;" /> </span> </a> <?php } else { if ($_REQUEST['action'] == 'post' || $_REQUEST['action'] == 'page') { ?> <input name='csv_importer_cat' type='hidden' id='csv_importer_cat' value=<?php echo $_REQUEST['action']; ?> > <?php } } ?> </td> </tr> <tr> <td> <?php $cnt1 = count($impCE->headers); ?> <label>Import with post status<span class="mandatory"> *</span></label></td> <td><select name='importallwithps' id='importallwithps' onchange='importAllPostStatus(this.value, "<?php echo $cnt1; ?> ")'> <option value='0'>Status as in CSV</option> <option value='1'>Publish</option> <option value='2'>Sticky</option> <option value='4'>Private</option> <option value='3'>Protected</option> <option value='5'>Draft</option> <option value='6'>Pending</option> </select> <a href="#" class="tooltip"> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" /> <?php if ($_REQUEST['action'] == 'custompost') { ?> <span class="tooltipTwo"> <?php } else { ?> <span class="tooltipFive"> <?php } ?> <img class="callout" src="../wp-content/plugins/wp-ultimate-csv-importer/images/callout.gif" /> <strong>Select a status for the post imported, if not defined within your csv. E.g. Publish</strong> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" style="margin-top: 6px;float:right;" /> </span> </a> </td> </tr> <tr> <td> <label id='passwordlabel' style="display:none;">Password</label></td> <td> <input type='text' id='postsPassword' name='postsPassword' value='admin' style="display:none;"> <span style="display: none; color: red; margin-left: 5px;" id='passwordhint' style="display:none;">Replace the default value</span> </td> </tr> </table> </div> <div style="width:50%;float:left;"><h3>Map Fields</h3></div><div style="width:50%;float:right;"><input type="button" name="remap" id="remap" value="Clear Mapping" onclick="clearmapping();" /> <a href="#" class="tooltip"> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" /> <span class="tooltipThree"> <img class="callout" src="../wp-content/plugins/wp-ultimate-csv-importer/images/callout.gif" /> <strong>Refresh to re-map fields</strong> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" style="margin-top: 6px;float:right;" /> </span> </a></div></br></br></br> <div id='display_area'> <?php $cnt = count($impCE->defCols) + 2; ?> <input type="hidden" id="h1" name="h1" value="<?php echo $cnt; ?> "/> <input type="hidden" id="h2" name="h2" value="<?php echo $cnt1; ?> "/> <?php if (isset($_POST['titleduplicatecheck'])) { ?> <input type="hidden" id="titleduplicatecheck" name="titleduplicatecheck" value="<?php echo $_POST['titleduplicatecheck']; ?> "/> <?php } ?> <?php if (isset($_POST['contentduplicatecheck'])) { ?> <input type="hidden" id="contentduplicatecheck" name="contentduplicatecheck" value="<?php echo $_POST['contentduplicatecheck']; ?> "/> <?php } ?> <input type="hidden" id="delim" name="delim" value="<?php echo $_POST['delim']; ?> "/> <input type="hidden" id="header_array" name="header_array" value="<?php print_r($impCE->headers); ?> "/> <table style="font-size: 12px;"> <?php $count = 0; if ($_REQUEST['action'] == 'page') { unset($impCE->defCols['post_category']); unset($impCE->defCols['post_tag']); } foreach ($impCE->headers as $key => $value) { ?> <tr> <td><label><?php print $value; ?> </label></td> <td><select name="mapping<?php print $count; ?> " id="mapping<?php print $count; ?> " class='uiButton' onchange="addcustomfield(this.value,<?php echo $count; ?> );"> <option id="select">-- Select --</option> <?php foreach ($impCE->defCols as $key1 => $value1) { if ($key1 == 'post_name') { $key1 = 'post_slug'; } $strip_CF = strpos($key1, 'CF: '); //Auto mapping if ($strip_CF === 0) { $custom_key = substr($key1, 4); } ?> <option value="<?php print $key1; ?> "> <?php if ($key1 != 'post_name') { print $key1; $mappingFields_arr[$key1] = $key1; } else { print 'post_slug'; $mappingFields_arr['post_slug'] = 'post_slug'; } ?> </option> <?php } foreach (get_taxonomies() as $taxokey => $taxovalue) { if ($taxokey != 'category' && $taxokey != 'link_category' && $taxokey != 'post_tag' && $taxokey != 'nav_menu' && $taxokey != 'post_format') { ?> <option value="<?php print $taxokey; ?> "><?php print $taxovalue; ?> </option> <?php $mappingFields_arr[$taxovalue] = $taxovalue; } } ?> <option value="add_custom<?php print $count; ?> ">Add Custom Field </option> </select> <!-- added to solve issue id 1072--> <input class="customfieldtext" type="text" id="textbox<?php print $count; ?> " name="textbox<?php print $count; ?> " TITLE="Replace the default value" style="display: none;" value="<?php echo $value; ?> "/> <span style="display: none;" id="customspan<?php echo $count; ?> "> <a href="#" class="tooltip"> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" /> <span class="tooltipFour"> <img class="callout" src="../wp-content/plugins/wp-ultimate-csv-importer/images/callout.gif" /> <strong>Give a name for your new custom field</strong> <img src="../wp-content/plugins/wp-ultimate-csv-importer/images/help.png" style="margin-top: 6px;float:right;" /> </span> </a> </span> <!--<span style="display: none; color: red; margin-left: 5px;" id="customspan<?php //echo $count ?> ">Replace the default value</span>--> </td> </tr> <?php $count++; } foreach ($mappingFields_arr as $mkey => $mval) { $mFieldsArr .= $mkey . ','; } $mFieldsArr = substr($mFieldsArr, 0, -1); ?> </table> <input type="hidden" id="mapping_fields_array" name="mapping_fields_array" value="<?php print_r($mFieldsArr); ?> "/> </div> <br/> <?php } elseif ($_REQUEST['action'] == 'dashboard') { echo $impRen->renderDashboard(); } elseif ($_REQUEST['action'] == 'help') { } //second form exits ?> <input type='hidden' name='filename' id='filename' value="<?php echo $_FILES['csv_import']['name']; ?> "/> <?php $explodeCsv = explode('.csv', $_FILES['csv_import']['name']); $exactFIlename = $explodeCsv[0] . '-' . $_REQUEST['action'] . '.csv'; ?> <input type='hidden' name='realfilename' id='realfilename' value="<?php echo $_FILES['csv_import']['name']; ?> "/> <input type="hidden" name="version" id="version" value=""/> <input type='hidden' name='selectedImporter' id='selectedImporter' value="<?php echo $_REQUEST['action']; ?> "/> <input type='hidden' name='delim' id='delim' value="<?php echo $_POST['delim']; ?> "/> <button type='submit' class="action" name='post_csv' id='post_csv' value='Import'>Import</button> </form> </div> <div style="min-width: 45%;float:right;margin-right:9px;"> <div style="width:100%;"> <div style="float:left;"><h3>CSV Mapping Headers Explained</h3></div> <div style="float:right;margin-top:15px;margin-right:25px;"><a href="http://www.smackcoders.com/blog/wordpress-ultimate-csv-importer-csv-sample-files-and-updates.html" target="_blank">Download Sample Files Here</a></div> </div> <a href="<?php echo WP_CONTENT_URL; ?> /plugins/wp-ultimate-csv-importer/images/HeadersExplained.jpeg" target="_blank" title="Headers Explained"><img src="<?php echo WP_CONTENT_URL; ?> /plugins/wp-ultimate-csv-importer/images/HeadersExplained.jpeg" width=600 style='border:1px solid;padding:2px;'/></a> </div> <?php } else { ?> <div style="font-size: 16px; margin-left: 20px;"><?php echo $impCE->t("CHOOSE_ANOTHER_DELIMITER"); ?> </div> <br/> <div style="margin-left: 20px;"> <form class="add:the-list: validate" method="post" action=""> <input type="submit" class="button-primary" name="Import Again" value="Import Again"/> </form> </div> <div style="margin-left: 20px; margin-top: 30px;"> <b><?php echo $impCE->t("NOTE"); ?> :-</b> <p>1. <?php echo $impCE->t("NOTE_CONTENT_1"); ?> </p> <p>2. <?php echo $impCE->t("NOTE_CONTENT_2"); ?> </p> </div> <?php } } else { if (isset($_POST['post_csv']) && ($_REQUEST['action'] == 'post' || $_REQUEST['action'] == 'page' || $_REQUEST['action'] == 'custompost')) { //third form starts here $impCE->processDataInWP(); echo $impRen->renderMenu(); if ($impCE->insPostCount != 0 || $impCE->dupPostCount != 0) { ?> <div> <?php echo $impRen->setDashboardAction(); $messageString = $impCE->insPostCount . " records are successfully Imported."; if (isset($_POST['titleduplicatecheck']) && $_POST['titleduplicatecheck'] == 1 || isset($_POST['contentduplicatecheck']) && $_POST['contentduplicatecheck'] == 1) { $messageString .= $impCE->dupPostCount . " duplicate records found."; } if ($impCE->noPostAuthCount != 0 && in_array('post_author', $_POST)) { $messageString .= '<br>' . $impCE->noPostAuthCount . " posts with no valid UserID/Name are assigned admin as author."; } echo $impRen->showMessage('success', $messageString); ?> </div> <?php } else { if ($impCE->insPostCount == 0 && $impCE->dupPostCount == 0) { ?> <div> <?php echo $impRen->showMessage('error', "Check your CSV file and format."); ?> </div> <?php } } ?> <?php $_REQUEST['action'] = 'dashboard'; echo $impRen->renderDashboard(); } else { ?> <!-- first form gets displayed from here --> <?php if (!$_REQUEST['action']) { $_REQUEST['action'] = 'post'; } elseif ($_REQUEST['action'] == 'dashboard') { echo $impRen->renderMenu(); echo $impRen->renderDashboard(); } elseif ($_REQUEST['action'] == 'settings') { echo $impRen->renderMenu(); if ($pluginActive != null) { echo $impRen->showMessage('error', $pluginActive); } echo $impRen->renderSettings(); } elseif ($_REQUEST['action'] == 'custompost') { ?> <div class="wrap" id="smack-content"> <?php echo $impRen->renderMenu(); $sett = new IMPSettings(); ?> <div class="smack-postform"> <?php echo $impRen->renderPostPage(); ?> </div> <div class="module-desc"> <?php print $impRen->renderDesc(); ?> </div> </div> <?php } else { ?> <div class="wrap" id="smack-content"> <?php echo $impRen->renderMenu(); ?> <div class="smack-postform"> <?php echo $impRen->renderPostPage(); ?> </div> <div class="module-desc"> <?php print $impRen->renderDesc(); ?> </div> </div> <!-- end wrap --> <?php } } } }