Revision: 46136
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 13, 2011 11:46 by stewartduffy
Initial Code
<?php /* Template Name: Export Pods Data */ ?> <?php function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $pageURL; } ?> <form action="<?php echo curPageURL(); ?>" method="post"> <label for="out_file">Output File</label><br /> <input type="text" name="out_file" id="out_file" /><br /> <label for="use_pod">Pod to Export</label><br /> <input type="text" name="use_pod" id="use_pod" /><br /> <input type="submit" name="export_submit" /> </form> <?php if (isset($_POST['export_submit'])) { $out_file = $_POST['out_file']; $use_pod = $_POST['use_pod']; export($out_file, $use_pod); } ?> <?php function export($out_file, $use_pod){ $export = "csv"; // Can be "php" or "csv" (default: php) $Record = new PodAPI($use_pod, $export); $data = $Record->export(); global $user_ID , $user_level; get_currentuserinfo(); //Get the information about the current user. if ($user_ID && 10 == $user_level) { //Check to see if the user is logged in and is an administrator if (($fp = fopen($out_file, 'w')) === FALSE) { //Attempt to open $out_file for writing and check for success. die ("Could not open $out_file. Export aborted."); //Fail if unable to. } if ('csv' == strtolower($export)) { //If a CSV file is desired $data_keys = array_keys($data[0]); //Get the pod column labels fputcsv($fp, $data_keys); //Write the column labels as the first line of the CSV file. foreach ($data as $line) { //Loop through the data line by line foreach ($line as &$field) { //Loop through each line of data by field if (is_array($field)) { //If the field is a PICK column array_walk($field, 'comma_trans'); //Translate any commas in the field to HTML "," $field = 'array(' . implode(', ', $field) . ')'; //Implode the items into a comma separated list wrapped in array(). } } fputcsv($fp, $line); //Write the line to the file. } } else { //Otherwise, output the data as PHP fwrite($fp, var_export($data, TRUE)); } fclose($fp); //Close the file echo "Export complete. <a href='$out_file'>Open $out_file</a><br /><br />\n"; } else { //User doesn't have permission include(get_404_template()); //Nothing to see here, move along... exit(); //Exit. } } function comma_trans(&$item) { $item = strtr($item, ',', ','); //Translates any commas into their HTML entity. } ?>
Initial URL
Initial Description
1) name the file something like "template-pods-export.php" 2) create a new Pods Page & choose the newly created template 3) goto your worpress URL/export 4) enter filename.csv & pod name you want to export. 5) Submit. 6) Away Laughing
Initial Title
Wordpress, PODS CMS data export template
Initial Tags
php
Initial Language
PHP