* @license http://www.gnu.org/licenses/gpl.html GNU General Public License */ # Action for saving data to another page $HandleActions['data'] = 'SaveData'; # Function called by action to save data function SaveData() { global $WorkDir, $pagename; $datapage = "Data-$pagename"; $nextpage = $pagename; $myHeaders = "version=pmwiki-2.1.11 ordered=1 urlencoded=1 text=(:comment data:) %0a%0a"; $data = ''; foreach ($_POST as $field => $value) { switch ($field) { case "nextpage" : $nextpage=FmtPageName($value, $pagename); break; case "datapage" : if (substr($value, 0, 4) == "Data") { $datapage=FmtPageName($value, $pagename); break; } else { Redirect(FmtPageName($nextpage, $pagename)); } case "action" : break; default: $data .= "$field=\"$value\" %0a%0a"; } } if ($data == '') { Redirect(FmtPageName($nextpage, $pagename)); } if ($ds = fopen("$WorkDir/$datapage", "wb")){ fwrite($ds,"$myHeaders"); fwrite($ds,"$data"); fwrite($ds,"(:comment data:) %0a%0a"); fclose($ds); PageIndexUpdate("$datapage"); Redirect(FmtPageName($nextpage, $pagename)); } } # Directive to retrieve data from another page Markup('fastdata', '<{$var}', '/\(:data(.*?):\)/ei', "ReadData('$1')"); # Function called by directive to retrieve form data function ReadData($l) { global $WorkDir, $FmtPV; $datapage = substr($l, 1); clearstatcache(); if ($dr = fopen("$WorkDir/$datapage", "rb")){ $pc = fread($dr, filesize("$WorkDir/$datapage")); fclose($dr); $dc = explode("(:comment data:) %0a%0a", $pc); $db = explode(" %0a%0a", $dc[1]); $i = 0; while ($i < count($db)-1) { $dv = explode ("=", $db[$i]); $FmtPV["$$dv[0]"] = stripslashes("$dv[1]"); // return $FmtPV["$$dv[0]"]; // used for debudding $i = $i + 1; } return; } return "data not found"; } # Markups for pull down menu's Markup('select', 'inline', '/\(:select (.*?):\\)/', '');