mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-05-13 23:26:29 +02:00
operator accounting init
This commit is contained in:
parent
663dfd8c13
commit
dd84259e6d
14 changed files with 130 additions and 633 deletions
|
@ -970,7 +970,7 @@ sub booking_request(){
|
|||
my $response_text = "";
|
||||
|
||||
#state and lock_state is only defined if requestes incl. occupied
|
||||
$bw->log("booking_request bike to state | $bike | $state | $lock_state, tarif $ct_tariff->{barcode}, auth:",$auth->{c_id},"");
|
||||
$bw->log("booking_request bike to state $bike | $state | $lock_state, tarif $ct_tariff->{barcode}, auth:$auth->{c_id}",$auth->{c_id},"");
|
||||
|
||||
my $update_adr = {
|
||||
table => "contentadr",
|
||||
|
@ -1155,7 +1155,7 @@ sub booking_update(){
|
|||
my $record_cc = { c_id => 0 };
|
||||
$record_cc = $dbt->fetch_record($dbh,$pref_cc) if($q->param('bike'));
|
||||
|
||||
$bw->log("booking_update bike to state | $bike | $state | $lock_state, auth:",$auth->{c_id},"");
|
||||
$bw->log("booking_update bike to state $bike | $state | $lock_state, auth:$auth->{c_id}",$auth->{c_id},"");
|
||||
|
||||
my $update_cc = {
|
||||
table => "content",
|
||||
|
@ -1230,7 +1230,8 @@ sub booking_update(){
|
|||
if($state_key == 6 && $record_pos->{int10} == 2 && $record_pos->{int20} == 1){
|
||||
$rows = $dbt->delete_content($dbh,"contenttranspos",$record_pos->{c_id});
|
||||
if($rows > 0){
|
||||
$update_cc->{int10} = 1;
|
||||
|
||||
$update_cc->{int10} = 1 if($record_cc->{int10} == 2);#only if still requested
|
||||
$booking_values->{response_state} = "OK: canceled bike " . $q->param('bike');
|
||||
$booking_values->{response_text} = "Fahrrad Nr. " . $q->param('bike') . " wurde erfolgreich storniert";
|
||||
$booking_values->{state} = "available";
|
||||
|
|
|
@ -24,6 +24,7 @@ my $icon = "/icon";
|
|||
sub ibuttons(){
|
||||
my $self = shift;
|
||||
my %ib = (
|
||||
'operator_accounting' => 'Betreiber Abrechnung',
|
||||
'service_done' => 'Wartungsprotokoll für ausgewähltes Rad einfügen/bearbeiten',
|
||||
'post_email' => 'submit',
|
||||
'barcode' => 'Barcode Label drucken',
|
||||
|
@ -67,8 +68,6 @@ sub ibuttons(){
|
|||
'search' => 'suchen',
|
||||
'search_product' => 'Search',
|
||||
'search_calendar' => 'anzeigen',
|
||||
'search_export' => 'suchen /
|
||||
auswerten',
|
||||
'search_adr' => 'Kunden suchen',
|
||||
'search_extrakt' => 'extrakt',
|
||||
'change_login' => 'ID',
|
||||
|
@ -554,16 +553,17 @@ sub singlesubmit10(){
|
|||
return $button;
|
||||
}
|
||||
|
||||
# international hack. Vorsicht, aendert Parameter
|
||||
sub singlesubmit1(){
|
||||
my $self = shift;
|
||||
my ($function,$b_name,$class,$style,$title) = @_;
|
||||
$class = "ebutton" if(!$class);
|
||||
my ($key,$val,$ibv);
|
||||
while (($key,$val) = each(%ib)) {
|
||||
$ibv = $val if($b_name eq $key);
|
||||
my $function = shift;
|
||||
my $button_key = shift;
|
||||
my $class = shift || "ebutton";
|
||||
my $style = shift || "";
|
||||
my $ib_view = $button_key;
|
||||
while (my($key,$val) = each(%ib)) {
|
||||
$ib_view = $val if($key eq $button_key);
|
||||
}
|
||||
my $button = "<input type='submit' class='$class' style='$style' name='$function' value='$ibv' title='$title'>";
|
||||
my $button = "<button type='submit' class='$class' style='$style' name='$function' value='$button_key' title=''>$ib_view</button>";
|
||||
return $button;
|
||||
}
|
||||
|
||||
|
|
|
@ -375,6 +375,8 @@ sub handler {
|
|||
$db->update_users4trans($R::c_id4trans,$R::tpl_id4trans,"",$users_dms->{u_id}) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans));
|
||||
if($R::ct_trans =~ /set_workflow2invoice|set_workflow2storno/){
|
||||
$return = $pl->set_workflow($users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow));
|
||||
}elsif($R::detail_search && $R::detail_search eq "operator_accounting"){
|
||||
$return = $pl->operator_accounting($users_dms,$users_sharee,$R::accounting_type,$R::ck4ex);
|
||||
}else{
|
||||
$return .= "|";
|
||||
$return .= $pre->preinit($users_dms,$lang);#transactions logic
|
||||
|
|
|
@ -1402,7 +1402,7 @@ sub search_content3(){
|
|||
$valref->{$key} = $q->escapeHTML($valref->{$key});
|
||||
#print $key . ":" . $opref->{$key} . ":" . $valref->{$key} . "\n";
|
||||
|
||||
if(($v_journal =~ /_parts/ && $kontext eq "Waren") || $table_pos =~ /contentpos|contentadrpos|users/){
|
||||
if($table_pos =~ /contentpos|contentadrpos|users/){
|
||||
#my $tinfo = &table_info("","contenttranspos");
|
||||
if($key =~ /ct_name/){
|
||||
$cptxt_where .= " and cp.$key ilike '$valref->{$key}'";
|
||||
|
@ -1435,7 +1435,7 @@ sub search_content3(){
|
|||
}
|
||||
}
|
||||
|
||||
if($key =~ /end_itime|end_mtime|end_date_time/){
|
||||
if($key =~ /end_itime|end_mtime|end_date_time|pay_time/){
|
||||
$valref->{$key} .= " 23:59" if($valref->{$key} !~ /\d:\d/);
|
||||
}
|
||||
|
||||
|
@ -1472,19 +1472,14 @@ sub search_content3(){
|
|||
if($key =~ /end_mtime/ && $valref->{$key} =~ /\d+\.\d+\.\d+/){
|
||||
$txt_where .= " and ct.mtime < '$valref->{$key}'";
|
||||
}
|
||||
}
|
||||
|
||||
if($v_journal !~ /_parts/ || $kontext eq "Waren"){
|
||||
if($key =~ /long_rent/ && $valref->{$key} =~ /^\d+ (day|hour)/){
|
||||
$cptxt_where .= " and cp.end_time >= (cp.start_time + interval '$valref->{$key}')";
|
||||
if($key =~ /start_pay_time/ && $valref->{$key} =~ /\d+\.\d+\.\d+/){
|
||||
$txt_where .= " and ct.pay_time >= '$valref->{$key}'";
|
||||
}
|
||||
if($key =~ /end_pay_time/ && $valref->{$key} =~ /\d+\.\d+\.\d+/){
|
||||
$txt_where .= " and ct.pay_time < '$valref->{$key}'";
|
||||
}
|
||||
|
||||
if($key =~ /start_date_time/ && $valref->{$key} =~ /^\d+\.\d+\.\d+/){
|
||||
$cptxt_where .= " and cp.start_time >= '$valref->{$key}'";
|
||||
}
|
||||
if($key =~ /end_date_time/ && $valref->{$key} =~ /^\d+\.\d+\.\d+/){
|
||||
$cptxt_where .= " and cp.end_time <= '$valref->{$key}'";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1508,7 +1503,7 @@ sub search_content3(){
|
|||
#print "txt_where: $txt_where<br>\n";
|
||||
#print "cptxt_where: $cptxt_where<br>\n";
|
||||
|
||||
my $sth;
|
||||
my $sth = "";
|
||||
my $updown = "ASC";
|
||||
$updown = "DESC" if($sort_updown eq "down");
|
||||
if($v_journal =~ /_parts/){#collects ct_ids
|
||||
|
@ -1518,7 +1513,6 @@ sub search_content3(){
|
|||
}elsif($valref->{long_rent} || $valref->{start_date_time} =~ /^\d+\.\d+\.\d+/ || $valref->{end_date_time} =~ /^\d+\.\d+\.\d+/ || $cpgroup_where){
|
||||
$sth = $dbh->prepare("SELECT * FROM relation rel, $table ct WHERE rel.content_id=ct.c_id and rel.main_id IN ($main_ids) and rel.template_id IN ($tplids) and rel.lang='$lang' $txt_where and c_id IN (SELECT cp.ct_id from contenttranspos cp WHERE 1=1 $cptxt_where $cpgroup_where) ORDER BY $scol $updown LIMIT $limit OFFSET $offset");
|
||||
}elsif($v_journal && $ct_ids){#and executes ct_ids
|
||||
$txt_where = "" if($kontext eq "Waren");
|
||||
$ct_ids = 0 if(!$ct_ids);
|
||||
$sth = $dbh->prepare("SELECT * FROM relation rel, $table ct WHERE rel.content_id=ct.c_id and rel.main_id IN ($main_ids) and rel.template_id IN ($tplids) and rel.content_id IN ($ct_ids) and rel.lang='$lang' $txt_where ORDER BY $scol $updown LIMIT $limit OFFSET $offset");
|
||||
|
||||
|
@ -1547,8 +1541,7 @@ sub search_content3(){
|
|||
#my $save_query = $q->escapeHTML("$txt_where");
|
||||
|
||||
#CSV/FiBu Export###
|
||||
if($export && (("$kontext" ne "Waren" && "$export" ne "FiBu" && $v_journal !~ /_parts/) || ("$export" eq "FiBu" && $v_journal =~ /_parts/) || ("$kontext" eq "Waren" && $v_journal =~ /_parts/))){
|
||||
#print "$v_journal,$time,$kontext,$export<br>";
|
||||
if($export){
|
||||
|
||||
my $ctf = &get_content1("","contentuser","$mandant_id");
|
||||
my @tpl_order = split /,/,$node_meta->{tpl_order};
|
||||
|
@ -1561,18 +1554,6 @@ sub search_content3(){
|
|||
$what = "$export-" if($export =~ /CSV|FIBU/);
|
||||
open(CSV, "> $varenv{pdf}/$what$owner-$time.csv") or die "Can't open $varenv{pdf}/$owner-$time.csv\n";
|
||||
|
||||
#workaround 2015-11-23 for formated FiBu export
|
||||
$export = "FiBu" if("$kontext" eq "Waren" && $v_journal =~ /_parts/);
|
||||
if("$export" eq "FiBu"){
|
||||
foreach my $id (keys (%$search)){
|
||||
$aw_ids .= "$search->{$id}->{ct_id}|" if("$search->{$id}->{ct_name}" eq "$ctf->{txt51}");
|
||||
}
|
||||
#SOLL Zahlungsart
|
||||
$ctt = &Libenzdb::collect_content2("","contenttrans");
|
||||
#$ctadr = &collect_content3("","contentadr");#wg Debitor/Kreditor
|
||||
print CSV "SOLL;UMSATZ;USTNR;HABEN;GVC;BELDAT;BELEG;OPBELEG;SKONTO;KOSTNR;TEXT;TEXT2\n";
|
||||
|
||||
}else{
|
||||
#CSV Table Header
|
||||
my $col_header="Ordner";
|
||||
foreach(@tpl_order){
|
||||
|
@ -1584,10 +1565,7 @@ sub search_content3(){
|
|||
}
|
||||
}
|
||||
print CSV "$col_header\n";
|
||||
}
|
||||
|
||||
#sort=ct_id nach Geschäftsvorgang
|
||||
$scol = "ct_id" if("$export" eq "FiBu");
|
||||
foreach my $id (sort {
|
||||
if($sort_updown eq "down"){
|
||||
if ($scol =~ /barcode|int/) {
|
||||
|
|
|
@ -122,10 +122,6 @@ EOF
|
|||
require "Mod/RelationEdit.pm";
|
||||
&RelationEdit::tpl($node_meta,$users_dms,$mode,$return);
|
||||
}
|
||||
elsif($mode eq "supervisor"){
|
||||
require "Tpl/AttributEdit.pm";
|
||||
&AttributEdit::tpl($node_meta,$users_dms,$mode,$return);
|
||||
}
|
||||
elsif(($R::node2edit && $R::node2edit =~ /editpart/) || ($R::base_edit && $R::base_edit !~ /delete/)){
|
||||
require "Tpl/BaseEdit.pm";
|
||||
&BaseEdit::tpl($node_meta,$users_dms,$mode,$return);
|
||||
|
|
|
@ -567,7 +567,7 @@ sub save_relation {
|
|||
#type_id and energy_id by node_name pattern match.
|
||||
#TODO, should be editable by NodeEditor
|
||||
my $type_id = 300101;#if Lastenrad
|
||||
$type_id = 300102 if($node_name =~ /E-Lastenrad/);
|
||||
$type_id = 300101 if($node_name =~ /E-Lastenrad/);
|
||||
$type_id = 300103 if($node_name =~ /Stadtrad/);
|
||||
$u_rows = $dbt->update_one($dbh,$update_node,"type_id=$type_id");
|
||||
my $energy_id = 0;
|
||||
|
@ -812,4 +812,60 @@ sub save_service_desc {
|
|||
return $rows;
|
||||
}
|
||||
|
||||
#Operator Accounting
|
||||
sub operator_accounting {
|
||||
my $self = shift;
|
||||
my $users_dms = shift;
|
||||
my $users_sharee = shift;
|
||||
my $accounting_type = shift || "";
|
||||
my $ck4ex = shift || "";
|
||||
my $dbh = "";
|
||||
my %varenv = $cf->envonline();
|
||||
my $print_return = "";
|
||||
my $exit_code = 1;
|
||||
|
||||
my $ctt = {
|
||||
ct_name => "Abrechnung-123",
|
||||
txt00 => "Abrechnung",
|
||||
};
|
||||
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
||||
my $accounting_main_id = 300029;
|
||||
|
||||
if(1==1){#TODO
|
||||
my $auth = $users_sharee;#workaround, must be operator addr.
|
||||
my $ct_id = $dbt->insert_contenttrans($dbh,$auth,$accounting_main_id,"208","----",$users_dms->{u_id});
|
||||
my $pref = {
|
||||
table => "contenttrans",
|
||||
fetch => "one",
|
||||
main_id => $accounting_main_id,
|
||||
template_id => 208,
|
||||
c_id => $ct_id
|
||||
};
|
||||
$ctt = $dbt->fetch_record($dbh,$pref);
|
||||
$bw->log("operator_accounting used invoice c_id:",$ctt->{c_id},"");
|
||||
|
||||
my $psize="A4";
|
||||
my $wc_line=0;
|
||||
#$wc_line= $ctt->{int04};#Adresse.Tabelle
|
||||
my $topdf = "$varenv{basedir}/src/wkhtmltopdf-amd64";
|
||||
|
||||
$print_return = `$topdf --page-size $psize "$varenv{wwwhost}/Printpreview?printer_id=operator_accounting\&mandant_main_id=$dbt->{shareedms_conf}->{parent_id}\&main_id=$accounting_main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$users_dms->{u_id}\&wc=$wc_line" $varenv{pdf}/$praefix-$ctt->{ct_name}.pdf 2>&1`;
|
||||
$exit_code = $?;
|
||||
|
||||
my $filesize = -s "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf";
|
||||
open(EMA, ">> $varenv{logdir}/copri-print.log");
|
||||
print EMA "$now_dt\n$topdf --page-size $psize $varenv{wwwhost}/Printpreview?printer_id=operator_accounting\&mandant_main_id=$dbt->{shareedms_conf}->{parent_id}\&main_id=$accounting_main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$users_dms->{u_id}\&wc=$wc_line $varenv{pdf}/$praefix-$ctt->{ct_name}.pdf\n $print_return\nfilesize: $filesize\nexit_code: $exit_code\n\n";
|
||||
close EMA;
|
||||
#exit 0;
|
||||
}
|
||||
|
||||
if( -f "$varenv{basedir}/pdf/$praefix-$ctt->{ct_name}.pdf"){
|
||||
print "<script type=\"text/javascript\">window.open('$varenv{wwwhost}/pdf/$praefix-$ctt->{ct_name}.pdf');</script>";
|
||||
}else{
|
||||
return "failure::PDF konnte nicht generiert werden\n $varenv{wwwhost}/pdf/$praefix-$ctt->{ct_name}.pdf";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
@ -266,159 +266,6 @@ sub maininit(){
|
|||
}
|
||||
###
|
||||
|
||||
#new Attribute for template as tpl_order
|
||||
if($ib_key =~ /new_attrtpl_(\w+)/){
|
||||
my $key = $1;
|
||||
my $debug=1;
|
||||
open(ATTR,">>$varenv{logdir}/attr.log") if($debug);
|
||||
print ATTR "\n----- $now_time -------\n" if($debug);
|
||||
foreach(@keywords){
|
||||
$val = $q->param($_);
|
||||
print ATTR "$_: $val\n" if($debug);
|
||||
}
|
||||
|
||||
my $table = "template";
|
||||
my $tpl_id = "400";#Master template
|
||||
my $tpl_master = $db->get_tpl($tpl_id);
|
||||
my @tpl_masterorder = split /,/,$tpl_master->{tpl_order};
|
||||
|
||||
my $num=1;
|
||||
my $next=1;
|
||||
my $size=15;
|
||||
foreach (@tpl_masterorder){
|
||||
my ($m_key,$m_des,$m_size) = split /=/,$_;
|
||||
if($m_key =~ /$key(\d+)/){
|
||||
$num = $1;
|
||||
$size = $m_size if($m_size);
|
||||
$next = $num if($next < $num);
|
||||
print ATTR "$next = $num if($next < $num)\n" if($debug);
|
||||
}
|
||||
}
|
||||
$next++;
|
||||
print ATTR "next: $next\n" if($debug);
|
||||
|
||||
if($key && $next > 20){
|
||||
return "failure:: Abbruch, die maximale Menge der Datenfelder wurde erreicht.";
|
||||
}
|
||||
|
||||
$next = sprintf("%.2d", $next);
|
||||
$tpl_master->{tpl_order} .= ",$key$next=new$users_dms->{u_id}=$size";
|
||||
$i_rows += $db->updater("$table","tpl_id",$tpl_id,"tpl_order","$tpl_master->{tpl_order}",$users_dms->{u_id});
|
||||
|
||||
$path =~ s/\/\//\//;
|
||||
$path .= "/supervisor" if($path !~ /supervisor/);
|
||||
print ATTR "$varenv{wwwhost}$script$path?node2edit=edit_template\&tpl_id=$tpl_id\&key=$key$next\n" if($debug);
|
||||
close(ATTR) if($debug);
|
||||
|
||||
print redirect("$varenv{wwwhost}$script$path?node2edit=edit_template\&tpl_id=$tpl_id\&key=$key$next");
|
||||
exit;
|
||||
}
|
||||
###
|
||||
|
||||
#save Attribute for template as tpl_order
|
||||
if($ib_key =~ /save_attrtpl/ && $R::key && $R::key_typ && $R::des && $R::asort){
|
||||
my $debug=1;
|
||||
open(ATTR,">>$varenv{logdir}/attr.log") if($debug);
|
||||
print ATTR "\n----- $now_time -------\n" if($debug);
|
||||
foreach(@keywords){
|
||||
$val = $q->param($_);
|
||||
print ATTR "$_: $val\n" if($debug);
|
||||
}
|
||||
|
||||
|
||||
my $template;
|
||||
if($users_dms->{mandant_id} && $users_dms->{mandant_id} < "200000"){
|
||||
my $ctf = $db->get_content1("contentuser","$users_dms->{mandant_id}");
|
||||
$template = $db->collect_tpl("$ctf->{txt35}","$R::key") if($ctf->{txt35});#TINK master template_id=400
|
||||
}
|
||||
|
||||
#change all templates if $R::key
|
||||
foreach my $id (keys(%$template)){
|
||||
|
||||
my $asort = $R::asort;
|
||||
my @new_order;
|
||||
my @tpl_order = split /,/,$template->{$id}->{tpl_order};
|
||||
|
||||
#1. extract array-skalar without $R::key
|
||||
#print "1. @tpl_order<br>";
|
||||
foreach (@tpl_order){
|
||||
my ($m_key,$m_des,$m_size) = split /=/,$_;
|
||||
if($m_key !~ /$R::key/){
|
||||
push @new_order,$_;
|
||||
}
|
||||
}
|
||||
|
||||
#3. put in new key=des=size value at asort
|
||||
my $new_tpl_order;
|
||||
my $size=15;
|
||||
my $new_key = $R::key_typ;
|
||||
($new_key,$size) = split(/_/,$R::key_typ) if($R::key_typ =~ /_/);
|
||||
|
||||
|
||||
my $i=0;
|
||||
my $ok=0;
|
||||
foreach (@new_order){
|
||||
$i++;
|
||||
if($i == $asort){
|
||||
$ok++;
|
||||
$new_tpl_order .= "$R::key=$R::des=$size,";
|
||||
}
|
||||
$new_tpl_order .= "$_,";
|
||||
}
|
||||
$new_tpl_order .= "$R::key=$R::des=$size," if(!$ok);#last chance
|
||||
$new_tpl_order =~ s/,$//;
|
||||
|
||||
|
||||
$i_rows += $db->updater("template","tpl_id",$template->{$id}->{tpl_id},"tpl_order","$new_tpl_order",$users_dms->{u_id});
|
||||
}
|
||||
close(ATTR) if($debug);
|
||||
}
|
||||
###
|
||||
|
||||
#remove and delete attribute with check
|
||||
if($ib_key =~ /remove_chk4attr/ && $R::key){
|
||||
return "failure::Wenn Sie die Eigenschaft-Definition loeschen, wird die Eigenschaft in allen Objekten geloescht. ::?rel_edit=delete_attrtpl\&exit_box2=1\&key=$R::key ::loeschen"
|
||||
}
|
||||
if($ib_key =~ /delete_attrtpl/ && $R::key){
|
||||
my $template;
|
||||
if($users_dms->{mandant_id} && $users_dms->{mandant_id} < "200000"){
|
||||
my $ctf = $db->get_content1("contentuser","$users_dms->{mandant_id}");
|
||||
$template = $db->collect_tpl("$ctf->{txt35}","$R::key") if($ctf->{txt35});#TINK master template_id=400
|
||||
}
|
||||
|
||||
foreach my $id (keys(%$template)){
|
||||
my $new_tpl_order;
|
||||
my @tpl_order = split /,/,$template->{$id}->{tpl_order};
|
||||
foreach (@tpl_order){
|
||||
my ($m_key,$m_des,$m_size) = split /=/,$_;
|
||||
if($m_key !~ /$R::key/){
|
||||
$new_tpl_order .= "$_,";
|
||||
}
|
||||
}
|
||||
$new_tpl_order =~ s/,$//;
|
||||
$i_rows += $db->updater("template","tpl_id",$template->{$id}->{tpl_id},"tpl_order","$new_tpl_order",$users_dms->{u_id});
|
||||
$i_rows += $db->updater($template->{$id}->{ct_table},"1","1","$R::key","null","","","","","no_time");#delete key-value in All content without mtime and user stamp
|
||||
}
|
||||
}
|
||||
|
||||
#packpos Packaging
|
||||
if($R::rel_edit eq "add_packpos" && $R::c_id && $R::c_idpackpos){
|
||||
my $ct = $db->get_content1("content",$R::c_id);
|
||||
my $cp_ids = "$ct->{txt05}";
|
||||
if($cp_ids !~ /^\d/){
|
||||
$cp_ids = "$R::c_idpackpos";
|
||||
}else{
|
||||
$cp_ids .= ",$R::c_idpackpos";
|
||||
}
|
||||
$u_rows += $db->updater("content","c_id",$R::c_id,"txt05","$cp_ids",$users_dms->{u_id});
|
||||
}
|
||||
if($R::rel_edit eq "remove_packpos" && $R::c_id && $R::c_idpackpos){
|
||||
my $ct = $db->get_content1("content",$R::c_id);
|
||||
my $cp_ids = "$ct->{txt05}";
|
||||
$cp_ids =~ s/[,]?$R::c_idpackpos//;
|
||||
$u_rows += $db->updater("content","c_id",$R::c_id,"txt05","$cp_ids",$users_dms->{u_id});
|
||||
}
|
||||
|
||||
|
||||
#save content
|
||||
#if($ib_key =~ /save/ && $R::c_id && $R::rel_id){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue