load($_collection, "write"); if(!empty($TemplateData['loadedCollection'])) { $ManageEntry->setCollection($Trite->param('id')); if(isset($_POST['bulkedit']) && !empty($_POST['bulkedit'])) { foreach($_POST['bulkedit'] as $e) { $TemplateData['itemsToWorkWith'][] = $ManageEntry->getEditData($e); } // needs this editData array since manageentry functionality is used $TemplateData['editData'] = array(); $TemplateData['editFields'] = $ManageEntry->getEditFields(); // @see manageentry for similar process if(isset($_POST['submitForm'])) { $fdata = $_POST['fdata']; $fupload = array('name' => ''); // match $_FILES if(!empty($_FILES) && isset($_FILES['fdata'])) { $fupload = $_FILES['fdata']; } $_fieldsToSave = array(); // default $_owner = $Doomguy->param('id'); $_group = $Trite->param('group'); $_rights = $Trite->param('rights'); if (!empty($fdata)) { foreach ($TemplateData['editFields'] as $fieldId=>$fieldData) { if(isset($fdata['additionalEditOption'][$fieldData['identifier']])) { $fieldData['bulkeditMethod'] = $fdata['additionalEditOption'][$fieldData['identifier']]; if(isset($fdata[$fieldData['identifier']])) { $_value = trim($fdata[$fieldData['identifier']]); $fieldData['valueToSave'] = trim($fdata[$fieldData['identifier']]); $_fieldsToSave[$fieldData['identifier']] = $fieldData; } elseif(isset($fupload['name'][$fieldData['identifier']])) { // special case upload // $_FILES data is combined $fieldData['uploadData'] = $fupload; $_fieldsToSave[$fieldData['identifier']] = $fieldData; } } } } // now update the entries with the gathered data to save if(!empty($_fieldsToSave)) { $_messages = array(); foreach ($TemplateData['itemsToWorkWith'] as $entry) { foreach ($_fieldsToSave as $ident=>$data) { switch ($data['bulkeditMethod']) { case 'add': if(is_array($entry[$ident])) { // lookup multiple $data['valueToSave'] = implode(",", $entry[$ident]).",".$data['valueToSave']; } else { $data['valueToSave'] = $entry[$ident].' '.$data['valueToSave'] ; } break; case 'replace': // leave it as it is break; case 'empty': $data['valueToSave'] = ''; break; } $_fieldsToSave[$ident] = $data; } $do = $ManageEntry->create($_fieldsToSave, $_owner, $_group, $_rights, $entry['id']); if ($do !== 0) { $_messages[] = $I18n->t('bulkedit.message.entryUpdated').' '.$entry['id']; } else { $_messages[] = $I18n->t('bulkedit.message.canNotUpdate').' '.$entry['id']; } unset($data); } $TemplateData['message']['content'] = implode("
",$_messages); $TemplateData['message']['status'] = "info"; } } } else { $TemplateData['message']['content'] = $I18n->t('bulkedit.message.missingItems'); $TemplateData['message']['status'] = "error"; } } else { $TemplateData['message']['content'] = $I18n->t('global.message.couldNotLoadCollection'); $TemplateData['message']['status'] = "error"; } }