function do_edit_save($aid, $params) { global $step, $smarty, $view; if (array_key_exists('fields', $params)) { //step 2 submitted $addAction = cf\api\admin\getAction($view['add_action']['id']); $q = \cf\createQuery($addAction['query']); if (($f = fopen($params['csv'], 'r')) !== false) { $first = true; while (($values = fgetcsv($f, 0, $params['fields_delimiter'])) !== false) { if ($first) { $first = false; if ($params['has_names']) { continue; } } $p = array(); foreach ($params['fields'] as $nm => $pos) { $q->setParam($nm, $pos != '' ? $values[$pos] : null); } $q->execute(); } fclose($f); unlink($params['csv']); } else { die('error'); } } else { if (array_key_exists('csv', $_FILES)) { //step 1 submitted if (UPLOAD_ERR_OK != $_FILES['csv']['error'] || !is_uploaded_file($_FILES['csv']['tmp_name'])) { //if a file is not uploaded check upload_max_filesize or post_max_size in php.ini die('error'); } $path = cf\Config::path . '../upload/' . uniqid('csv'); if (move_uploaded_file($_FILES['csv']['tmp_name'], $path)) { chmod($path, 0644); } else { die('error'); } if (($f = fopen($path, 'r')) !== false) { $fdelim = $params['fields_delimiter'] != 'other' ? $params['fields_delimiter'] : $params['other_fields_delimiter']; $smarty->assign('csv_fields', json_encode(fgetcsv($f, 0, $fdelim))); fclose($f); $smarty->assign('csv', str_replace('\\', '/', $path)); $smarty->assign('has_names', $params['has_names']); $smarty->assign('fields_delimiter', $fdelim); $addAction = cf\api\admin\getAction($view['add_action']['id']); $smarty->assign('editParams', json_encode($addAction['params'])); $step = 2; } else { die('error'); } } } }
$params = array_merge(cf\param::get('p'), $k); $do = cf\param::get('do'); $fileURLs = cf\param::get('URL', array()); foreach ($fileURLs as $fnm => $url) { if ($url) { $_FILES[$fnm] = array('name' => $url, 'type' => 'url'); } } if (function_exists('do_edit_save')) { do_edit_save($aid, $params); } else { cf\api\admin\doAction($aid, $params); } if ('save' == $do) { forward(cf\param::get('referer')); } } $action = cf\api\admin\getAction($aid, $k); $smarty->assign('k', json_encode($k)); $smarty->assign('view', $view); $smarty->assign('action', $action); $smarty->assign('referer', cf\param::get('referer')); $smarty->assign('goTab', cf\param::get('tab', 0)); $name = $k ? cf\api\admin\getNameByKey($view['id'], $k[$view['primary_key_field']]) : false; if (function_exists('do_edit_create')) { do_edit_create($k); } show(isset($tpl) ? $tpl : 'edit', $view['name'] . ($name ? ": {$name}" : '') . ' - ' . $action['name'], array(array($view['url'] . '?vid=' . $view['id'], $view['name']), array('', $action['name']))); } catch (Exception $e) { echo $e; }