Ignore:
Timestamp:
Mar 16, 2014, 7:16:27 PM (10 years ago)
Author:
Miklfe
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/MyPiwiShop/admin/product.php

    r27743 r27781  
    22defined('MPS_PATH') or die('Hacking attempt!');
    33
    4 
    5   if(isset($_POST['check'])){
    6    foreach($_POST['check'] AS $delete_id){
    7    
    8    $query='DELETE FROM '.MPS_PRODUCT_TABLE.'
    9    WHERE id = '.$delete_id.';';
    10    pwg_query($query);
     4// delete option
     5  if(isset($_POST['check'])) {
     6 
     7   foreach($_POST['check'] AS $delete_id) {
     8   
     9    pwg_query('
     10    DELETE FROM '.MPS_PRODUCT_TABLE.'
     11    WHERE id = '.$delete_id.'
     12    ;');
     13   
     14    pwg_query('
     15    DELETE FROM '.MPS_PROD_OPT_TABLE.'
     16    WHERE product_id = '.$delete_id.'
     17    ;');
     18   }   
     19   
    1120   $page['infos']=l10n('deleted');
    12    
    13    $query='DELETE FROM '.MPS_PROD_OPT_TABLE.'
    14    WHERE product_id = '.$delete_id.';';
    15    pwg_query($query);
    16    
    17 
     21  }   
     22
     23//Add/Edit product
     24  if(isset($_POST['product_add'])) {
     25 
     26  //Add product
     27    if (empty($_POST['id'])) {
     28       
     29         $order = array();
     30         $query ='
     31         SELECT `order`
     32         FROM '.MPS_PRODUCT_TABLE.'
     33         ;';
     34         
     35         $result = pwg_query($query);
     36         while($row = pwg_db_fetch_assoc($result)) {
     37      $order[] = $row['order'];
     38         }
     39         if (count($order) == 0) {
     40          $order = 1;
     41         } else {
     42          $order = max($order)+1;
     43         }
     44       
     45         $product       = $_POST['product'];
     46         $noteAdmin     = $_POST['noteAdmin'];
     47         $price         = $_POST['price'];
     48
     49       
     50     pwg_query('
     51         INSERT into '.MPS_PRODUCT_TABLE.' (`order`,`product`,`noteAdmin`,`price`)
     52         VALUE (\''.$order.'\',\''.$product.'\',\''.$noteAdmin.'\',\''.$price.'\');
     53         ');
     54         $prod = pwg_db_insert_id();
     55   
     56     if(isset($_POST['opt'])) {
     57          $opt = $_POST['opt'];
     58      $inserts = array();
     59         
     60      foreach ($opt as $opt_id) {
     61       $inserts[] = array(
     62        'opt_id' => $opt_id,
     63        'product_id' => $prod,
     64       );
     65      }
     66         
     67      mass_inserts(
     68      MPS_PROD_OPT_TABLE,
     69      array_keys($inserts[0]),
     70      $inserts
     71      );
     72     }
     73         
     74         $page['infos']=l10n('Product registered');
     75    }
     76       
     77  //Edit product       
     78    if(!empty($_POST['id'])) {
     79       
     80         $id            = $_POST['id'];
     81         $product       = $_POST['product'];
     82         $noteAdmin     = $_POST['noteAdmin'];
     83         $price         = $_POST['price'];
     84
     85         pwg_query('
     86         UPDATE '.MPS_PRODUCT_TABLE.'
     87         SET product = \''.$product.'\',noteAdmin = \''.$noteAdmin.'\',price=\''.$price.'\'
     88         WHERE id = '.$id.'
     89         ;');
     90   
     91     pwg_query('
     92         DELETE FROM '.MPS_PROD_OPT_TABLE.'
     93         WHERE `product_id` IN ('.$id.')
     94         ;');
     95       
     96         if(isset($_POST['opt'])) {
     97          $opt          = $_POST['opt'];
     98      $inserts  = array();
     99         
     100      foreach ($opt as $opt_id) {
     101       $inserts[] = array(
     102        'opt_id'         => $opt_id,
     103        'product_id' => $id,
     104       );
     105      }
     106         
     107     mass_inserts(
     108     MPS_PROD_OPT_TABLE,
     109     array_keys($inserts[0]),
     110     $inserts
     111     );
     112     }
     113
     114    $page['infos']=l10n('Edit');
     115    }
     116
     117  }
     118 
     119// Change order
     120  if(isset($_POST['newOrder'])) {
     121   $newOrder = explode(",", $_POST['newOrder']);
     122   $ex           = array_pop($newOrder);
     123       
     124        foreach( $newOrder as $order => $id ) {
     125         $order = $order +1;
     126
     127     pwg_query('
     128         UPDATE '.MPS_PRODUCT_TABLE.'
     129         SET `order` = \''.$order.'\'
     130         WHERE id = '.$id.'
     131        ;');
     132    }
     133       
     134    $page['infos']=l10n('the order is changed');
     135  }
     136
     137if (isset($_POST['option_add'])) {
     138         $order = array();
     139         
     140         $query ='SELECT *
     141         FROM '.MPS_OPTION_TABLE.';';
     142         $result = pwg_query($query);
     143         
     144         while($row = pwg_db_fetch_assoc($result)) {
     145       $order[] = $row['order'];
     146         }
     147         
     148         if (count($order) == 0) {
     149          $order = 1;
     150         } else {
     151          $order = max($order)+1;
     152         }
     153       
     154         $name          = $_POST['name'];
     155     $type              = $_POST['type'];
     156     $title             = $_POST['title'];
     157         
     158         if(isset($_POST['requi'])) {
     159          $requi = $_POST['requi'];
     160         } else {
     161          $requi = 0;
     162         }
     163       
     164         pwg_query('
     165         INSERT into '.MPS_OPTION_TABLE.' (`name`,`type`,`titre`,`requi`,`order`)
     166         VALUE (\''.$name.'\',\''.$type.'\',\''.$title.'\',\''.$requi.'\',\''.$order.'\')
     167         ;');
     168   
     169         $select_id = pwg_db_insert_id();                       
     170                       
     171         if(isset($_POST['val'])) {
     172         $val           = $_POST['val'];
     173         
     174      foreach($val as $val_ele) {
     175           pwg_query('
     176           INSERT into '.MPS_OPT_VAL_TABLE.' (`val` , `select_id`)
     177           VALUE (\''.$val_ele.'\',\''.$select_id.'\')
     178           ;');
     179      }
     180         
     181         }
     182       
     183        echo('<div><div id="idlastopt" data-idlo="'.$select_id.'"></div></div>');
     184  }
     185
     186// set product   
     187  $query='
     188  SELECT p.id, p.order, p.product, p.noteAdmin, p.price, o.name
     189  FROM '.MPS_PRODUCT_TABLE.' AS p
     190  LEFT JOIN '.MPS_PROD_OPT_TABLE.' AS op ON op.product_id = p.id
     191  LEFT JOIN '.MPS_OPTION_TABLE.' AS o ON o.id = op.opt_id
     192  ORDER BY p.order
     193  ;';
     194  $result = pwg_query($query);
     195 
     196  while($row = pwg_db_fetch_assoc($result)) {
     197 
     198   if (!isset($products[ $row['id']])) {
     199        $products[$row['id']] = array(
     200         'id'        => $row['id'],
     201     'product'   => $row['product'],
     202     'noteAdmin' => $row['noteAdmin'],
     203     'price'     => $row['price'],
     204          );
    18205   }
    19    }   
    20 
    21 if(isset($_POST['product_add']))
    22 {
    23 if(!empty($_POST['id']))
    24         {
    25         $id             = $_POST['id'];
    26         $product        = $_POST['product'];
    27         $noteAdmin      = $_POST['noteAdmin'];
    28         $price          = $_POST['price'];
    29 
    30         $query='UPDATE '.MPS_PRODUCT_TABLE.'
    31         SET product = \''.$product.'\',noteAdmin = \''.$noteAdmin.'\',price=\''.$price.'\'
    32         WHERE id = '.$id.';';
    33    pwg_query($query);
    34    
    35     $query = 'DELETE FROM '.MPS_PROD_OPT_TABLE.' WHERE product_id IN ('.$id.');';
    36         pwg_query($query);
    37        
    38         if(isset($_POST['opt']))
    39     {
    40         $opt            = $_POST['opt'];
    41     $inserts    = array();
    42     foreach ($opt as $opt_id)
    43     {
    44       $inserts[] = array(
    45           'opt_id'         => $opt_id,
    46           'product_id' => $id,
    47         );
    48     }
    49     mass_inserts(
    50     MPS_PROD_OPT_TABLE,
    51     array_keys($inserts[0]),
    52     $inserts
    53     );
    54    }
    55 
    56    $page['infos']=l10n('Edit');
    57   }
    58  
    59 
    60 if (empty($_POST['id'])and isset($_POST['product'])and isset($_POST['price'])and is_numeric($_POST['price']))
    61         {
    62         $order = array();
    63         $query ='SELECT * FROM '.MPS_PRODUCT_TABLE.';';
    64         $result = pwg_query($query);
    65         while($row = pwg_db_fetch_assoc($result)){
    66         $order[] = $row['order'];
    67         }
    68         if (count($order) == 0) {
    69         $order = 1;
    70         }else{
    71         $order = max($order)+1;
    72         }
    73        
    74         $product        = $_POST['product'];
    75         $noteAdmin      = $_POST['noteAdmin'];
    76         $price          = $_POST['price'];
    77 
    78        
    79    $query='INSERT into '.MPS_PRODUCT_TABLE.' (`order`,`product`,`noteAdmin`,`price`)
    80                         values (\''.$order.'\',\''.$product.'\',\''.$noteAdmin.'\',\''.$price.'\');';
    81    $result=pwg_query($query);
    82         $prod = pwg_db_insert_id();
    83    
    84    if(isset($_POST['opt']))
    85    {
    86         $opt = $_POST['opt'];
    87     $inserts = array();
    88     foreach ($opt as $opt_id)
    89     {
    90       $inserts[] = array(
    91           'opt_id' => $opt_id,
    92           'product_id' => $prod,
    93         );
    94     }
    95     mass_inserts(
    96     MPS_PROD_OPT_TABLE,
    97     array_keys($inserts[0]),
    98     $inserts
    99     );
    100    }
    101         $page['infos']=l10n('Product registered');
    102   }
    103 }
    104 
    105 if(isset($_POST['newOrder']))
    106         {
    107         $newOrder = explode(",", $_POST['newOrder']);
    108         $ex = array_pop($newOrder);
    109        
    110         foreach( $newOrder as $order => $id )
    111         {
    112         $order = $order +1;
    113 
    114       $query='UPDATE '.MPS_PRODUCT_TABLE.' SET `order` = \''.$order.'\' WHERE id = '.$id.';';
    115         $result = pwg_query($query);
    116    
    117     $page['infos']=l10n('the order is changed');
    118 
    119     }
    120 }
    121 
    122   $select_type_opt=array(
    123   'select'   =>'select',
    124   'radio'    =>'radio',
    125   'text'     =>'text',
    126   'textarea' =>'textarea',
    127   'checkbox' =>'checkbox',
    128   );
    129  
    130 if (isset($_POST['option_add']))
    131 {
    132         $order = array();
    133         $query ='SELECT * FROM '.MPS_OPTION_TABLE.';';
    134         $result = pwg_query($query);
    135         while($row = pwg_db_fetch_assoc($result)){
    136         $order[] = $row['order'];
    137         }
    138        
    139         if (count($order) == 0) {
    140         $order = 1;
    141         }else{
    142         $order = max($order)+1;
    143         }
    144 
    145         $name           = $_POST['name'];
    146     $type               = $_POST['type'];
    147     $title              = $_POST['title'];
    148        
    149         if(isset($_POST['requi'])){
    150          $requi = $_POST['requi'];
    151          }else{
    152          $requi = 0;
    153          }
    154        
    155        
    156         $query='INSERT into '.MPS_OPTION_TABLE.' (`name`,`type`,`titre`,`requi`,`order`)
    157                         values (\''.$name.'\',\''.$type.'\',\''.$title.'\',\''.$requi.'\',\''.$order.'\');';
    158    
    159         pwg_query($query);             
    160         $select_id = pwg_db_insert_id();                       
    161                        
    162         if(isset($_POST['val'])){
    163         $val = $_POST['val'];
    164      foreach($val as $val_ele)
    165       {
    166           $query='INSERT into '.MPS_OPT_VAL_TABLE.' (val,select_id)
    167                         values (\''.$val_ele.'\',\''.$select_id.'\');';
    168           pwg_query($query);
    169      }
    170         }
    171        
    172          echo('<div><div id="idlastopt" data-idlo="'.$select_id.'"></div></div>');
    173        
    174 }
    175  
    176  $query='SELECT * FROM '.MPS_PRODUCT_TABLE.' ORDER BY `order`;';
    177   $result = pwg_query($query);
    178   $products = array();
    179   while($row = pwg_db_fetch_assoc($result)){
    180         $query='
    181         SELECT *
    182         FROM '.MPS_PROD_OPT_TABLE.' AS op
    183         JOIN '.MPS_OPTION_TABLE.' AS p ON p.id = op.opt_id
    184         WHERE product_id = '.$row['id'].'
    185         ;';
    186         $res = pwg_query($query);
    187         $opt = array();
    188         while($row1 = pwg_db_fetch_assoc($res)){
    189     $opt[] = $row1['name'];
    190         }
    191         $row['option'] = $opt ;
    192         $products[$row['id']]=$row;
    193   }
    194  
    195 
    196   $query='SELECT * FROM '.MPS_OPTION_TABLE.' ;';
     206   
     207   $products[$row['id']]['option'][]=$row['name'];
     208  }
     209
     210  $query='
     211  SELECT `id`, `name`
     212  FROM '.MPS_OPTION_TABLE.'
     213  ;';
    197214  $result = pwg_query($query);
    198215  $option = array();
    199   while($row = pwg_db_fetch_assoc($result)){
     216 
     217  while($row = pwg_db_fetch_assoc($result)) {
    200218   $option[$row['id']] = $row['name'];
    201219  }
    202 
    203 $template->assign(array(
    204   'mps_product' => $products,
    205   'mps_option'  => $option,
    206   'mps_type_opt'                => $select_type_opt,
     220 
     221  $select_type_opt=array(
     222   'select'   =>'select',
     223   'radio'    =>'radio',
     224   'text'     =>'text',
     225   'textarea' =>'textarea',
     226   'checkbox' =>'checkbox',
     227  );
     228 
     229//template assign
     230  $template->assign(array(
     231   'mps_product'         => $products, 
     232   'mps_option'          => $option,
     233   'mps_type_opt' => $select_type_opt,
    207234  ));
    208 $template->set_filename('mps_content', realpath(MPS_PATH . 'admin/template/product.tpl'));
     235 
     236  $template->set_filename('mps_content', realpath(MPS_PATH . 'admin/template/product.tpl'));
Note: See TracChangeset for help on using the changeset viewer.