Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Item-Shop
#11
Wenn ich das wieder da oben einsetze, dann kommt genau die selbe meldung *komisch....*

PHP-Code:
        // Check if this post contains more images than the forum allows
        
if($post['savedraft'] != && $mybb->settings['maxpostimages']+=$mybb->user['maxpostimages'] != && $permissions['cancp'] != "yes")
        {
            require_once 
MYBB_ROOT."inc/class_parser.php";
            
$parser = new postParser;

            
// Parse the message.
            
$parser_options = array(
                
"allow_html" => $forum['allowhtml'],
                
"allow_mycode" => $forum['allowmycode'],
                
"allow_imgcode" => $forum['allowimgcode']
            );

            if(
$post['options']['disablesmilies'] != "yes")
            {
                
$parser_options['allow_smilies'] = $forum['allowsmilies'];
            }
            else
            {
                
$parser_options['allow_smilies'] = "no";
            }

            
$image_check $parser->parse_message($post['message'], $parser_options);

            
// And count the number of image tags in the message.
                
            
$image_count substr_count($image_check"<img");                        
            
$tmaxpostimages $mybb->user['maxpostimages']+=$mybb->settings['maxpostimages'];    
            
$mmaxpostimages $image_count-$tmaxpostimages;
            if(
$image_count $tmaxpostimages)           


// Throw back a message if over the count with the number of images as well as the maximum number of images per post.
                
$this->set_error("too_many_images", array(=> $image_count));
                    
                    if (
$mmaxpostimages 2)
                    {
                    
$z "";
                    }
                    else
                    {
                    
$z "en";
                    }
                
                if (
$tmaxpostimages $mybb->settings['maxpostimages'])
                    {
                    
$col "red";
                    }
                    else
                    {
                    
$col "green";
                    }
                
                
$this->set_error("too_many_images2", array(=> $col=> $tmaxpostimages=> $mmaxpostimages=>$z));
                return 
false;
                
            }
    } 
Zitieren
#12
Das ist interessant. Ich kann es mir aber nicht erklären.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#13
Naja, ich habs erstmal weg gelassen....vllt. kommt ja jemand später mal auf die Lösung.

Würde mich freuen ^^
Zitieren
#14
Nun doch noch was:

Wie schaffe ich es mit PHP, dass ein Datenbankeintrag der vorher schon da war, nicht mit den neuen Wert überschrieben wird, sondern hinzu ADDIERT wird ?

PHP-Code:
{
        
$query $this->db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='".$mybb->user['uid']."'");
        
$user $this->db->fetch_array($query);
    }
        
$this->db->query("UPDATE ".TABLE_PREFIX."users
                SET siglenght='"
.intval($this->mybb->users['siglenght'])."'++".intval($itemarray['siglenght']).", customtitlemaxlength='".intval($this->mybb->users['customtitlemaxlength'])."'++".intval($itemarray['customtitlemaxlength']).",maxsigimages='".intval($this->mybb->users['maxsigimages'])."'++".intval($itemarray['maxsigimages']).",maxavatardims='".$this->db->escape_string($itemarray['maxavatardims'])."',avatarsize='".intval($this->mybb->users['avatarsize'])."'++".intval($itemarray['avatarsize']).",maxattachments='".intval($this->mybb->users['maxattachments'])."'++".intval($itemarray['maxattachments']).",money_post='".intval($this->mybb->users['money_post'])."'++".intval($itemarray['money_post']).",money_thread='".intval($this->mybb->users['money_thread'])."'++".intval($itemarray['money_thread']).",smilieinsertertot='".intval($this->mybb->users['smilieinsertertot'])."'++".intval($itemarray['smilieinsertertot']).",color='".intval($this->mybb->users['color'])."'++'".intval($itemarray['color'])."',pic='".$this->db->escape_string($itemarray['pic'])."'
                WHERE
                    uid='"
.intval($this->mybb->user['uid'])."'
            "
); 

So schauts bis jetzt aus.
Klappt ja mit einem Item ganz gut.
Kauft man sich jetzt ein weiteres Item dazu, dann passiert genau der Mist, dass die vorherigen Werte durch die Werte des neuen Items ersetzt werden.

Macht aber mehr Sinn, wenn sie addiert werden.
Und beim Verkauf eines Items jeweils wieder subtrahiert...

Wie kann man das machen??
Zitieren
#15
Um welchen der ganzen Werte geht es denn?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#16
Alle ab Siglenght. Außer Color und Pic
Zitieren
#17
Okay, habe das Problem gelöst.

Aber jetzt bekomme ich folgenden Error:
Parse error: syntax error, unexpected T_STRING in /home/www/doc/16415/myonlinegame.de/www/GdO/admin/shop_admin.php on line 253

PHP-Code:
// ###################### Start Edit Item ###################
if($mybb->input['action'] == "edit_item")
{
   
$plugins->run_hooks("inventory_shop_admin_edit_item");
   
$query $db->simple_select(TABLE_PREFIX."shop""*""iid='".intval($mybb->input['iid'])."'");
 
$itemarray $db->fetch_array($query);
 if(!
$itemarray['iid'])
 {
  
cperror($lang->invalid_item);
 }
 
cpheader();
 
startform("shop_admin.php""""do_edit_item");
 
makehiddencode("iid"$mybb->input['iid']);
 
starttable();
 
tableheader($lang->edit_item);
 
makeinputcode($lang->name"name"$itemarray['name']);
 
makeinputcode($lang->price"price"$itemarray['price']);
 
makeinputcode($lang->siglenght"siglenght"$itemarray['siglenght']);
 
makeinputcode(Farbe"csl"$itemarray['csl']);
 
makeinputcode($lang->customtitlemaxlength"customtitlemaxlength"$itemarray['customtitlemaxlength']);
 
makeinputcode(Farbe"cctml"$itemarray['cctml']);
 
makeinputcode($lang->maxsigimages"maxsigimages"$itemarray['maxsigimages']);
 
makeinputcode(Farbe"cmsi"$itemarray['cmsi']);
 
makeinputcode($lang->maxavatardims"maxavatardims"$itemarray['maxavatardims']);
 
makeinputcode(Farbe"cmad"$itemarray['cmad']);
 
makeinputcode($lang->avatarsize"avatarsize"$itemarray['avatarsize']);
 
makeinputcode(Farbe"cas"$itemarray['cas']);
 
makeinputcode(Bild"pic"$itemarray['pic']);
 
makeinputcode(Farbe"color"$itemarray['color']);
 
makeinputcode($lang->maxattachments"maxattachments"$itemarray['maxattachments']);
 
makeinputcode(Farbe"cma"$itemarray['cma']);
 
makeinputcode($lang->money_post"money_post"$itemarray['money_post']);
 
makeinputcode(Farbe"cmp"$itemarray['cmp']);
 
makeinputcode($lang->money_thread"money_thread"$itemarray['money_thread']);
 
makeinputcode(Farbe"cmt"$itemarray['cmt']);
 
makeinputcode($lang->smilieinsertertot"smilieinsertertot"$itemarray['smilieinsertertot']);
 
makeinputcode(Farbe"csit"$itemarray['csit']);
 
makeinputcode(Saphir"saphir"$itemarray['saphir']);
 
makeinputcode(Farbe Saphir"csaphir"$itemarray['csaphir']);
 
makeinputcode(Smaragd"smaragd"$itemarray['smaragd']);
 
makeinputcode(Farbe Smaragd"csmaragd"$itemarray['csmaragd']);
 
makeinputcode(Rubin"rubin"$itemarray['rubin']);
 
makeinputcode(Farbe Rubin"crubin"$itemarray['crubin']);
 
makeinputcode($lang->shop"shop"$itemarray['shop']);
 
$plugins->run_hooks("inventory_shop_admin_edit_item_newinputs");
 
endtable();
 
endform($lang->update_item$lang->reset);

 
cpfooter();



keine Ahnung woran das wieder liegt..... hat jemand ne Lösung??
Zitieren
#18
Du kannst keine Wörter reinschreiben. Entweder eine Variable oder 'Wort';
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#19
Jo, super! Danke! Hat funktioniert habe einfach einen _ dazwischen gesetzt ^^
Zitieren
#20
MySQL error: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''mybb_users' CHANGE 'shop3' 'shop3' VARCHAR( 120 ) NOT NULL' at line 1
Query: ALTER TABLE 'mybb_users' CHANGE 'shop3' 'shop3' VARCHAR( 120 ) NOT NULL


Wasn nun schonwieder falsch?

PHP-Code:
// ###################### Start Do Edit Shop ###################
if($mybb->input['action'] == "do_edit_shop")
{
// if(empty($mybb->input['shop']) || empty($mybb->input['shop_templatename']) || empty($mybb->input['shop_desc']))
// {
//  cperror($lang->error_fill_form);
// }
 
$editarray = array(
  
"sid" => intval($mybb->input['sid']),
  
"shop" => $db->escape_string($mybb->input['shop']),
  
"shop_templatename" => $db->escape_string($mybb->input['shop_templatename']),
  
"shop_desc" => $db->escape_string($mybb->input['shop_desc']),
  );
 
$plugins->run_hooks("inventory_shop_admin_do_edit_shop");
 
$db->update_query(TABLE_PREFIX."shops"$editarray"sid='".intval($mybb->input['sid'])."'");
 
$db->query("
  ALTER TABLE '"
.TABLE_PREFIX."users' CHANGE '".$db->escape_string($mybb->input['old_shop'])."' '".$db->escape_string($mybb->input['shop'])."' VARCHAR( 120 ) NOT NULL");
 
cpredirect("shop_admin.php?".SID$lang->shop_updated);

Zitieren