function create() { global $lll, $noahVersion, $gorumroll; $exportExtensions = array(customlist_xml => "xml", customlist_csv => "csv"); hasAdminRights($isAdm); if (!$isAdm) { return; } include GORUM_DIR . "/gorum_view.php"; $list = new CustomList(); $list->activateVariableFields(); if (loadSQL($list, array("SELECT * FROM @search WHERE id=#id#", $gorumroll->rollid)) || !$list->exportFormat) { return; } $ext = $exportExtensions[$list->exportFormat]; $date = date("Y-m-d-H-i-s"); $fileName = LOG_DIR . "/export_{$date}.{$ext}"; G::load($unsortedColumns, "SELECT * FROM @itemfield WHERE FIND_IN_SET(id, '{$list->exportFields}')!=0"); // Hogy a $columns arary sorrendje ugyanaz legyen, mint $list->exportFields-ben: $columns = array(); $length = count($unsortedColumns); foreach (explode(",", $list->exportFields) as $id) { for ($i = 0; $i < $length; $i++) { if ($unsortedColumns[$i]->id == $id) { $columns[] = $unsortedColumns[$i]; break; } } } $ad = new Item(); $ad->loadHtmlList($ads); array_walk($columns, create_function('$v', ' if( $v->userField ) { list( $v->userColumnIndex, $v->type, $v->name, $v->allowHtml) = G::getAttr($v->userField, "userfield", "columnIndex", "type", "name", "allowHtml"); } else $v->userColumnIndex = ""; $v->name = preg_replace(array("/$[\\d.-]/", "/[^\\w:]/"), "_", $v->name);')); $owner = new User(); $owner->activateVariableFields(); $fgName = "create_{$ext}"; $this->{$fgName}($fileName, $list, $ads, $columns); $this->nextAction =& new AppController("customlist/list"); Roll::setInfoText("exportSavedAs", $fileName); }