FundacionLQDVI_Web/src/wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php
2011-06-09 19:31:41 +00:00

72 lines
2.6 KiB
PHP

<?php
/*
"Contact Form to Database Extension" Copyright (C) 2011 Michael Simpson (email : michael.d.simpson@gmail.com)
This file is part of Contact Form to Database Extension.
Contact Form to Database Extension is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Contact Form to Database Extension is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Contact Form to Database Extension.
If not, see <http://www.gnu.org/licenses/>.
*/
/**
* This class is an API for accessing a form and looping through its contents.
* Common shortcode options can be used to show/hide columns, search/filter fields, limit, orderby etc.
* Set them in the input $options array.
* Example code:
* <code>
* // Email all the "Mike"'s
* require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CFDBFormIterator.php');
* $exp = new CFDBFormIterator();
* $exp->export('my-form', new array('show' => 'name,email', 'search' => 'mike'));
* while ($row = $exp->nextRow()) {
* wp_mail($row['email'], 'Hello ' . $row['name], 'How are you doing?');
* }
*
* </code>
*/
require_once('ExportBase.php');
require_once('CFDBExport.php');
class CFDBFormIterator extends ExportBase implements CFDBExport {
/**
* Intended to be used by people who what to programmatically loop over the rows
* of a form.
* @param $formName string
* @param $options array of option_name => option_value
* @return void
*/
public function export($formName, $options = null) {
$this->setOptions($options);
$this->setCommonOptions();
$this->setDataIterator($formName);
}
/**
* @return array|bool associative array of the row values or false if no more row exists
*/
public function nextRow() {
if ($this->dataIterator->nextRow()) {
$row = array();
foreach ($this->dataIterator->displayColumns as $aCol) {
$row[$aCol] = $this->dataIterator->row[$aCol];
}
return $row;
}
else {
return false;
}
}
}