# DisplaySubForm: displays the Submit News page. 'DisplaySubForm' => <<'END_SUB', sub DisplaySubForm { NeedCFG(); CRHTMLHead($Messages{'Section_Submit'}); my $formCode = StartForm( {'action' => 'submitsave'}, 'name="submitnews"'); # HOOK: DisplaySubForm_FormStart if($Addons{'DisplaySubForm_FormStart'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_FormStart'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print $formCode; print StartFieldsTable(); print FieldsRow('Date', GetTheDate_Internal()); # HOOK: DisplaySubForm_TopRow if($Addons{'DisplaySubForm_TopRow'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_TopRow'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} my ($fn, $fcode, $fieldsrow); foreach $fn (@fieldDB) { # Go through the list of fields. if ($up > $fieldDB{$fn}->{'SubmitPerm'}) { $fcode = ''; # Current user is allowed to submit things into this field. if ($fieldDB{$fn}->{'FieldType'} == 1){ $fcode = qq~{'MaxLength'} ? qq~ maxlength="$fieldDB{$fn}->{'MaxLength'}">~ : '>'); } if ($fieldDB{$fn}->{'FieldType'} == 2) { $fcode = qq~'; } if ($fieldDB{$fn}->{'FieldType'} == 3) { $fcode = qq~'; } if ($fieldDB{$fn}->{'FieldType'} == 4) { $fcode = qq~{'Checked'}){ $fcode .= qq~ checked~; } $fcode .= '>'; } if ($fieldDB{$fn}->{'FieldType'} == 5) { $fcode = join('', map { qq~' . HTMLescape($1) : 'value="' . HTMLescape($_) . '">' . HTMLescape($_)) . $fieldDB{$fn}->{'SplitOptions'} } split(/\|/, $fieldDB{$fn}->{'Options'})); } # HOOK: DisplaySubForm_Fields if($Addons{'DisplaySubForm_Fields'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_Fields'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} $fieldsrow = FieldsRow($fieldDB{$fn}->{'DisplayName'}, $fcode); # HOOK: DisplaySubForm_Fields_2 if($Addons{'DisplaySubForm_Fields_2'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_Fields_2'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print $fieldsrow; } } # HOOK: DisplaySubForm_BottomRow if($Addons{'DisplaySubForm_BottomRow'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_BottomRow'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print '
'; # HOOK: DisplaySubForm_AfterTable if($Addons{'DisplaySubForm_AfterTable'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_AfterTable'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print qq~
~; # HOOK: DisplaySubForm_Submit if($Addons{'DisplaySubForm_Submit'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_Submit'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print qq~
~; # HOOK: DisplaySubForm_AfterForm if($Addons{'DisplaySubForm_AfterForm'}){my $w;foreach $w (@{$Addons{'DisplaySubForm_AfterForm'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} CRHTMLFoot(); } END_SUB 'ModifyNews_Edit' => <<'END_SUB', sub ModifyNews_Edit { CRcough("The guest account can't access this function.") if $CurrentUser =~ /^guest/ && $up == 1; NeedCFG(); CRHTMLHead('Edit News Item'); my $fh = CRopen("$CConfig{'htmlfile_path'}/newsdat.txt"); # HOOK: ModifyNews_Edit_PreLoop if($Addons{'ModifyNews_Edit_PreLoop'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_PreLoop'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} NDLOOP: while (<$fh>) { chomp($_); SplitDataFile($_); if ($in{'nid'} eq $newsid) { print StartForm({'action' => 'modify-editsave', 'nid' => $newsid}, 'name="submitnews"'); print StartFieldsTable(); print FieldsRow($Messages{'Date'},GetTheDate_Internal($newstime)); print FieldsRow($Messages{'User'}, $User); # HOOK: ModifyNews_Edit_TopRow if($Addons{'ModifyNews_Edit_TopRow'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_TopRow'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} my ($fn, $fcode, $fieldsrow); foreach $fn (@fieldDB) { # Go through the list of fields. if ($up > $fieldDB{$fn}->{'ModifyPerm'}){ $fcode = ''; # Current user is allowed to submit things into this field. if ($fieldDB{$fn}->{'DisableHTML'}) { $$fn = unHTMLescape($$fn); } if ($fieldDB{$fn}->{'ParseLinks'}){ $$fn =~ s/(http:\/\/|ftp:\/\/|https:\/\/).*?<\/a>/$1/gi; } if ($fieldDB{$fn}->{'FieldType'} == 1){ $fcode = qq~{'MaxLength'} ? qq~ maxlength="$fieldDB{$fn}->{'MaxLength'}">~ : '>'); } if ($fieldDB{$fn}->{'FieldType'} == 2) { if ($fieldDB{$fn}->{'Newlines'}) { $$fn =~ s//\n/g; } $fcode = qq~'; } if ($fieldDB{$fn}->{'FieldType'} == 3) { $fcode = qq~'; } if ($fieldDB{$fn}->{'FieldType'} == 4) { $fcode = qq~' : '">'); } if ($fieldDB{$fn}->{'FieldType'} == 5) { $fcode = join('', map { qq~' . HTMLescape($1) : (HTMLescape($$fn) eq HTMLescape($_) ? checked : '') . ' value="' . HTMLescape($_) . '">' . HTMLescape($_)) . $fieldDB{$fn}->{'SplitOptions'} } split(/\|/, $fieldDB{$fn}->{'Options'})); } # HOOK: ModifyNews_Edit_Fields if($Addons{'ModifyNews_Edit_Fields'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_Fields'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} $fieldsrow = FieldsRow($fieldDB{$fn}->{'DisplayName'}, $fcode); # HOOK: ModifyNews_Edit_Fields_2 if($Addons{'ModifyNews_Edit_Fields_2'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_Fields_2'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print $fieldsrow; } } # HOOK: ModifyNews_Edit_BottomRow if($Addons{'ModifyNews_Edit_BottomRow'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_BottomRow'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print ''; # HOOK: ModifyNews_Edit_AfterTable if($Addons{'ModifyNews_Edit_AfterTable'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_AfterTable'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print qq~
~; # HOOK: ModifyNews_Edit_Submit if($Addons{'ModifyNews_Edit_Submit'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_Submit'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} print '
'; # HOOK: ModifyNews_Edit_AfterForm if($Addons{'ModifyNews_Edit_AfterForm'}){my $w;foreach $w (@{$Addons{'ModifyNews_Edit_AfterForm'}}){my $addon=$w->[2];eval ${$w->[0]};AErr($addon,$@)if $@;};} CRHTMLFoot(); last NDLOOP; } } close($fh); } END_SUB