3v4l.org

run code in 300+ PHP versions simultaneously
<?php // обеспечение включение файла включен в родительский файл defined('_VALID_MOS') or die('Direct Access to this location is not allowed.'); // обеспечение пользователя доступом к этой функции if (!($acl->acl_check('administration', 'edit', 'users', $my->usertype, 'components', 'all') || $acl->acl_check('administration', 'edit', 'users', $my->usertype, 'components', 'com_dailymessage'))) { mosRedirect('index2.php', _NOT_AUTH); } require_once($mainframe->getPath('admin_html')); mosCommonHTML::loadOverlib(); HTML_catalog::Stylesheet(); global $database; function ExchangeItems($itemtype, $idname, $itemid,$itemid1) { global $database, $mainframe; $database->setQuery("SELECT prio FROM #__".$itemtype." WHERE ".$idname." = ".$itemid); $result = $database->loadObjectList(); $prio = $result[0]->prio; $database->setQuery("SELECT prio FROM #__".$itemtype." WHERE ".$idname." = ".$itemid1); $result = $database->loadObjectList(); $prio1 = $result[0]->prio; $database->doSQL("UPDATE #__".$itemtype." SET prio=".$prio1." WHERE ".$idname." =".$itemid); $database->doSQL("UPDATE #__".$itemtype." SET prio=".$prio." WHERE ".$idname." =".$itemid1); } function ISNULL($var) { if (empty($var)) return 0; else return $var; } function DelTree($id) { global $database; $database->setQuery ('SELECT * from #__catalog where parentid='.$id); $result=$database->loadObjectList(); if (sizeof($result)) foreach ($result as $row) DelTree($row->id); $database->setQuery('SELECT * from #__items where sectionid='.$id); $result=$database->loadObjectList(); if (sizeof($result)) foreach ($result as $row) { $database->doSQL('DELETE from #__itemdetails where itemid = '.$row->itemid); $database->doSQL('DELETE from #__items where itemid='.$row->itemid); } $database->doSQL('DELETE from #__catalog where id='.$id); } switch($act) { case 'managecatalog': { switch ($task) { case 'move': ExchangeItems($itemtype,$idname,$itemid,$itemid1); break; case 'delete': switch ($itemtype) { case 'catalog': DelTree($itemid); break; case 'item': $database->doSQL('DELETE from #__itemdetails where itemid = '.$itemid); $database->doSQL('DELETE from #__items where itemid='.$itemid); break; case 'itemdetail': $database->doSQL('DELETE from #__itemdetails where id='.$itemdetailsid); mosRedirect('index2.php?option='.$option.'&act='.$act.'&itemid='.$itemid.'&parentid='.$parentid.'&task=edit&itemtype=item'); break; } break; case 'edit': switch ($itemtype) { case 'item': switch ($task2) { case 'move': ExchangeItems('itemdetails','id',$moveid,$moveid1); break; default: break; } HTML_catalog::DrawPath($parentid); $database->setQuery("SELECT #__items.itemid as itemid, #__itemdetails.id as itemdetailsid, naim, img, foto, drawing, shema, description, article, pricefor, code, size, color, price1, price2, price3, price4, price5 from #__items left join #__itemdetails on #__items.itemid=#__itemdetails.itemid where #__items.itemid=".$itemid." ORDER by #__itemdetails.prio"); $result=$database->loadObjectList(); HTML_catalog::ShowItemEditForm($result, 'edit'); break; case 'catalog': HTML_catalog::DrawPath($parentid); $database->setQuery("SELECT * from #__catalog where id=".$catalogid); $result=$database->loadObjectList(); HTML_catalog::ShowCatalogEditForm($result, 'edit'); break; } break; case 'new': switch ($itemtype) { case 'catalog': HTML_catalog::DrawPath($parentid); HTML_catalog::ShowCatalogEditForm(null, 'new'); break; case 'item': HTML_catalog::DrawPath($parentid); HTML_catalog::ShowItemEditForm(null, 'new'); break; case 'itemdetail': $database->setQuery('SELECT * from #__items where itemid='.$itemid); $result=$database->loadObjectList(); $itemname=$result[0]->naim; HTML_catalog::DrawPath($parentid,'','/<a href="index2.php?option=com_catalog&act=managecatalog&task=edit&itemtype=item&parentid='.$parentid.'&itemid='.$itemid.'">'.$itemname.'</a>'); HTML_catalog::ShowItemdetailEditForm('new'); break; } break; case 'save': switch ($itemtype) { case 'item': $vars = get_defined_vars(); $deleteimg = 'Не использовать изображение'; $itemimgfile =''; if ((isset($HTTP_POST_FILES['itemimg']['name']))&&(!empty($HTTP_POST_FILES['itemimg']['name']))) { copy($HTTP_POST_FILES['itemimg']['tmp_name'],"./../UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemimg']['name'])); $itemimgfile = "./UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemimg']['name']); } else if ($selectimg != $deleteimg) $itemimgfile = "./UserFiles/Image/catalog/".$selectimg; $itemfotofile=''; if ((isset($HTTP_POST_FILES['itemfoto']['name']))&&(!empty($HTTP_POST_FILES['itemfoto']['name']))) { copy($HTTP_POST_FILES['itemfoto']['tmp_name'],"./../UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemfoto']['name'])); $itemfotofile = "./UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemfoto']['name']); } else if ($selectfoto != $deleteimg) $itemfotofile = "./UserFiles/Image/catalog/".$selectfoto; $itemdrawingfile =''; if ((isset($HTTP_POST_FILES['itemdrawing']['name']))&&(!empty($HTTP_POST_FILES['itemdrawing']['name']))) { copy($HTTP_POST_FILES['itemdrawing']['tmp_name'],"./../UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemdrawing']['name'])); $itemdrawingfile = "./UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemdrawing']['name']); } else if ($selectdrawing != $deleteimg) $itemdrawingfile = "./UserFiles/Image/catalog/".$selectdrawing; $itemshemafile=''; if ((isset($HTTP_POST_FILES['itemshema']['name']))&&(!empty($HTTP_POST_FILES['itemshema']['name']))) { copy($HTTP_POST_FILES['itemshema']['tmp_name'],"./../UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemshema']['name'])); $itemshemafile = "./UserFiles/Image/catalog/".basename($HTTP_POST_FILES['itemshema']['name']); } else if ($selectshema != $deleteimg) $itemshemafile = "./UserFiles/Image/catalog/".$selectshema; switch ($savetype) { case 'new': $database->setQuery('SELECT MAX(itemid)+1 as itemid from #__items'); $result=$database->loadObjectList(); $itemid=$result[0]->itemid; $database->setQuery('SELECT MAX(prio)+1 as prio from #__items'); $result=$database->loadObjectList(); $prio=$result[0]->prio; $sqlquery='INSERT into #__items (itemid, prio, sectionid, naim, img, foto, drawing, shema, description, article, pricefor) VALUES ('. $itemid.','.$prio.','.$parentid.',"'.addslashes($itemname).'","'.addslashes($itemimgfile).'","'.addslashes($itemfotofile).'","'. addslashes($itemdrawingfile).'","'.addslashes($itemshemafile).'","'.addslashes($itemdescript).'","'.addslashes($itemarticle).'","'.addslashes($itempricefor).'")'; $database->doSQL($sqlquery); echo 'Элемент успешно добавлен'; break; case 'edit': if ($itemdetailscount) for ($i=0; $i<$itemdetailscount; $i++) $database->doSQL('UPDATE #__itemdetails SET code='.ISNULL($vars['itemcode'.$i]).', size="'.addslashes($vars['itemsize'.$i]).'", color="'.addslashes($vars['itemcolor'.$i]).'", price1='.str_replace(',','.',ISNULL($vars['itemprice1'.$i])).', price2='.str_replace(',','.',ISNULL($vars['itemprice2'.$i])).', price3='.str_replace(',','.',ISNULL($vars['itemprice3'.$i])).', price4='.str_replace(',','.',ISNULL($vars['itemprice4'.$i]))./*', price5='.str_replace(',','.',ISNULL($vars['itemprice5'.$i])).*/' WHERE id = '.$vars['itemdetailsid'.$i]); $sqlquery = 'UPDATE #__items SET naim="'.addslashes($itemname).'", description="'.addslashes($itemdescript).'", article="'.addslashes($itemarticle). '", pricefor="'.addslashes($itempricefor).'", img="'.$itemimgfile.'", foto="'.$itemfotofile.'", drawing="'.$itemdrawingfile.'", shema="'.$itemshemafile.'" WHERE itemid='.$itemid; $database->doSQL($sqlquery); echo 'Элемент успешно обновлен<br>'; break; } break; case 'catalog': //if (empty($deleteimg)) $deleteimg = 'Не использовать изображение'; $catalogimgfile=''; if ((isset($HTTP_POST_FILES['catalogimg']['name']))&&(!empty($HTTP_POST_FILES['catalogimg']['name']))) { copy($HTTP_POST_FILES['catalogimg']['tmp_name'],"./../UserFiles/Image/catalog/".basename($HTTP_POST_FILES['catalogimg']['name'])); $catalogimgfile = "./UserFiles/Image/catalog/".basename($HTTP_POST_FILES['catalogimg']['name']); } else if ($selectimg != $deleteimg) $catalogimgfile = "./UserFiles/Image/catalog/".$selectimg; switch ($savetype) { case 'new': $database->setQuery('SELECT MAX(id)+1 as id from #__catalog'); $result=$database->loadObjectList(); $catalogid=$result[0]->id; $database->setQuery('SELECT MAX(prio)+1 as prio from #__catalog'); $result=$database->loadObjectList(); $prio=$result[0]->prio; $sqlquery='INSERT into #__catalog (id, prio, siteid, parentid, caption, img, article, article1, checked_out, checked_out_time, published) VALUES ('. $catalogid.','.$prio.',"",'.$parentid.',"'.addslashes($catalogcaption).'","'.addslashes($catalogimgfile).'","'.addslashes($catalogarticle).'","'. addslashes($catalogarticle1).'", 0, "00000000", '.(int)(!empty($catalogpublished)).')'; $database->doSQL($sqlquery); echo 'Элемент успешно добавлен'; break; case 'edit': $sqlquery = 'UPDATE #__catalog SET caption="'.addslashes($catalogcaption).'", article="'.addslashes($catalogarticle). '", article1="'.addslashes($catalogarticle1).'", published='.(int)(!empty($catalogpublished)).', img="'.$catalogimgfile.'" WHERE id='.$catalogid; $database->doSQL($sqlquery); echo 'Элемент успешно обновлен<br>'; break; } break; case 'itemdetail': $database->setQuery('SELECT * from #__itemdetails where code='.$itemcode); $result=$database->loadObjectList(); if (!sizeof($result)) { $database->setQuery('SELECT MAX(prio) as maxprio from #__itemdetails where itemid='.$itemid); $maxprio=$database->loadObjectList(); $maxprio=$maxprio[0]->maxprio+1; $database->doSQL('INSERT into #__itemdetails (itemid, prio, code, size, color, price1, price2, price3, price4) VALUES ('.$itemid.', '.$maxprio.', '.ISNULL($itemcode).', "'.addslashes($itemsize).'", "'.addslashes($itemcolor).'", '.str_replace(',','.',ISNULL($itemprice1)).', '.str_replace(',','.',ISNULL($itemprice2)).', '.str_replace(',','.',ISNULL($itemprice3)).', '.str_replace(',','.',ISNULL($itemprice4))./*', '.str_replace(',','.',ISNULL($itemprice5)).*/')'); } else { $saveerror = '&saveerror=1'; } mosRedirect('index2.php?option='.$option.'&act='.$act.'&itemid='.$itemid.'&parentid='.$parentid.'&task=edit&itemtype=item'.$saveerror); break; } break; default: break; } if (($task == 'edit')||($task == 'new')||(($task=='new')&&($itemtype=='itemdetail'))) exit; if (!isset($parentid)) $parentid=0; HTML_catalog::DrawPath($parentid); $database->setQuery("SELECT * FROM #__catalog WHERE parentid=".$parentid." order by prio"); $catalog = $database->loadObjectList(); $database->setQuery("SELECT * FROM #__items WHERE sectionid=".$parentid." order by prio"); $items = $database->loadObjectList(); HTML_catalog::ShowList($catalog, $items, $parentid); break; } case 'updateprice': switch ($task) { case 'update': { if(isset($HTTP_POST_FILES['filename']['name'])) { echo "<h3>Uploading: ".$HTTP_POST_FILES['filename']['name']."</h3><br>"; $handle=fopen($HTTP_POST_FILES['filename']['tmp_name'],"r"); if ($handle) { if (!feof($handle)) $buffer = fgets($handle); while (!feof($handle)&&!stristr(iconv("WINDOWS-1251","UTF-8",$buffer),'Код')) { $buffer = fgets($handle); } if(!stristr(iconv("WINDOWS-1251","UTF-8",$buffer),'Код')) { echo "<h3>Incorrect file<h3>"; exit; } else { $columns=explode("\t",$buffer); $i=0; foreach ($columns as $column) { $column=iconv("WINDOWS-1251","UTF-8",$column); if ($column=="Розница") $price1=$i; if ($column=="Опт1") $price2=$i; if ($column=="Опт2") $price3=$i; if ($column=="Опт3") $price4=$i; if ($column=="Код") $code=$i; $i++; } } echo $database->doSQL("DROP TABLE IF EXISTS #__import"); echo $database->doSQL("CREATE TABLE IF NOT EXISTS #__import ( `code` bigint(20) unsigned NOT NULL, `price1` float NOT NULL default '0', `price2` float NOT NULL default '0', `price3` float NOT NULL default '0', `price4` float NOT NULL default '0', KEY `code` (`code`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"); $buffer = fgets($handle); while (!feof($handle)) { $buffer = fgets($handle); $row = explode("\t",$buffer); if (array_key_exists(9,$row)) { $out=array("'"," руб."); $row[$price1] = str_replace($out,"",$row[$price1]); $row[$price2] = str_replace($out,"",$row[$price2]); $row[$price3] = str_replace($out,"",$row[$price3]); $row[$price4] = str_replace($out,"",$row[$price4]); $sql = "INSERT INTO #__import (`code`, `price1`, `price2`, `price3`, `price4`) VALUES ('$row[$code]', '$row[$price1]', '$row[$price2]', '$row[$price3]', '$row[$price4]');"; $result = $database->doSQL($sql); } } fclose($handle); } echo "<h3>Import completed</h3><br />"; $database->doSQL("UPDATE #__itemdetails SET `price1` = 0, `price2` = 0, `price3` = 0, `price4` = 0"); echo '<h3>Old prices was nulled</h3><br>'; $sql=""; $database->setQuery('select * from #__itemdetails'); $rows = $database->loadObjectList(); foreach ($rows as $row) { $database->setQuery("select * from #__import where code=$row->code"); $rows1=$database->loadObjectList(); if (!sizeof($rows1)) $errors.=$row->code.', '; else { $database->doSQL("UPDATE #__itemdetails SET `price1` = '".$rows1[0]->price1."', `price2` = '".$rows1[0]->price2."', `price3` = '".$rows1[0]->price3."', `price4` = '".$rows1[0]->price4."' WHERE `code` = ".$row->code); $completed.=$row->code.', '; } } echo '<div align=left><b>The following goods were updated:</b> '.substr($completed,0,strlen($completed)-2).'</div>'; if (isset($errors)) echo '<br><br><div align=left><b><font color=red>The following goods were not found:</b></font> '.substr($errors,0,strlen($errors)-2).'</div>'; exit; } } default: HTML_catalog::ShowUploadPriceForm(); break; } break; } ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 2, Position 2 = 4
Branch analysis from position: 2
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 47) Position 1 = 15, Position 2 = 26
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 33
Branch analysis from position: 28
4 jumps found. (Code = 188) Position 1 = 48, Position 2 = 808, Position 3 = 1074, Position 4 = 43
Branch analysis from position: 48
7 jumps found. (Code = 188) Position 1 = 60, Position 2 = 67, Position 3 = 105, Position 4 = 155, Position 5 = 205, Position 6 = 766, Position 7 = 49
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
2 jumps found. (Code = 47) Position 1 = 769, Position 2 = 771
Branch analysis from position: 769
2 jumps found. (Code = 47) Position 1 = 772, Position 2 = 777
Branch analysis from position: 772
2 jumps found. (Code = 46) Position 1 = 774, Position 2 = 776
Branch analysis from position: 774
2 jumps found. (Code = 43) Position 1 = 778, Position 2 = 779
Branch analysis from position: 778
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 779
2 jumps found. (Code = 43) Position 1 = 782, Position 2 = 783
Branch analysis from position: 782
1 jumps found. (Code = 42) Position 1 = 1074
Branch analysis from position: 1074
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 783
Branch analysis from position: 776
Branch analysis from position: 777
Branch analysis from position: 771
Branch analysis from position: 67
5 jumps found. (Code = 188) Position 1 = 75, Position 2 = 79, Position 3 = 88, Position 4 = 104, Position 5 = 68
Branch analysis from position: 75
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
Branch analysis from position: 88
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
Branch analysis from position: 104
Branch analysis from position: 68
2 jumps found. (Code = 44) Position 1 = 70, Position 2 = 75
Branch analysis from position: 70
2 jumps found. (Code = 44) Position 1 = 72, Position 2 = 79
Branch analysis from position: 72
2 jumps found. (Code = 44) Position 1 = 74, Position 2 = 88
Branch analysis from position: 74
1 jumps found. (Code = 42) Position 1 = 104
Branch analysis from position: 104
Branch analysis from position: 88
Branch analysis from position: 79
Branch analysis from position: 75
Branch analysis from position: 105
4 jumps found. (Code = 188) Position 1 = 111, Position 2 = 139, Position 3 = 154, Position 4 = 106
Branch analysis from position: 111
3 jumps found. (Code = 188) Position 1 = 115, Position 2 = 122, Position 3 = 112
Branch analysis from position: 115
1 jumps found. (Code = 42) Position 1 = 123
Branch analysis from position: 123
1 jumps found. (Code = 42) Position 1 = 154
Branch analysis from position: 154
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
Branch analysis from position: 122
1 jumps found. (Code = 42) Position 1 = 123
Branch analysis from position: 123
Branch analysis from position: 112
2 jumps found. (Code = 44) Position 1 = 114, Position 2 = 115
Branch analysis from position: 114
1 jumps found. (Code = 42) Position 1 = 122
Branch analysis from position: 122
Branch analysis from position: 115
Branch analysis from position: 139
1 jumps found. (Code = 42) Position 1 = 154
Branch analysis from position: 154
Branch analysis from position: 154
Branch analysis from position: 106
2 jumps found. (Code = 44) Position 1 = 108, Position 2 = 111
Branch analysis from position: 108
2 jumps found. (Code = 44) Position 1 = 110, Position 2 = 139
Branch analysis from position: 110
1 jumps found. (Code = 42) Position 1 = 154
Branch analysis from position: 154
Branch analysis from position: 139
Branch analysis from position: 111
Branch analysis from position: 155
5 jumps found. (Code = 188) Position 1 = 163, Position 2 = 171, Position 3 = 179, Position 4 = 204, Position 5 = 156
Branch analysis from position: 163
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
Branch analysis from position: 171
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
Branch analysis from position: 179
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
Branch analysis from position: 204
Branch analysis from position: 156
2 jumps found. (Code = 44) Position 1 = 158, Position 2 = 163
Branch analysis from position: 158
2 jumps found. (Code = 44) Position 1 = 160, Position 2 = 171
Branch analysis from position: 160
2 jumps found. (Code = 44) Position 1 = 162, Position 2 = 179
Branch analysis from position: 162
1 jumps found. (Code = 42) Position 1 = 204
Branch analysis from position: 204
Branch analysis from position: 179
Branch analysis from position: 171
Branch analysis from position: 163
Branch analysis from position: 205
5 jumps found. (Code = 188) Position 1 = 213, Position 2 = 542, Position 3 = 667, Position 4 = 765, Position 5 = 206
Branch analysis from position: 213
2 jumps found. (Code = 46) Position 1 = 221, Position 2 = 225
Branch analysis from position: 221
2 jumps found. (Code = 43) Position 1 = 226, Position 2 = 246
Branch analysis from position: 226
1 jumps found. (Code = 42) Position 1 = 250
Branch analysis from position: 250
2 jumps found. (Code = 46) Position 1 = 254, Position 2 = 258
Branch analysis from position: 254
2 jumps found. (Code = 43) Position 1 = 259, Position 2 = 279
Branch analysis from position: 259
1 jumps found. (Code = 42) Position 1 = 283
Branch analysis from position: 283
2 jumps found. (Code = 46) Position 1 = 287, Position 2 = 291
Branch analysis from position: 287
2 jumps found. (Code = 43) Position 1 = 292, Position 2 = 312
Branch analysis from position: 292
1 jumps found. (Code = 42) Position 1 = 316
Branch analysis from position: 316
2 jumps found. (Code = 46) Position 1 = 320, Position 2 = 324
Branch analysis from position: 320
2 jumps found. (Code = 43) Position 1 = 325, Position 2 = 345
Branch analysis from position: 325
1 jumps found. (Code = 42) Position 1 = 349
Branch analysis from position: 349
4 jumps found. (Code = 188) Position 1 = 355, Position 2 = 425, Position 3 = 541, Position 4 = 350
Branch analysis from position: 355
1 jumps found. (Code = 42) Position 1 = 541
Branch analysis from position: 541
1 jumps found. (Code = 42) Position 1 = 765
Branch analysis from position: 765
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
Branch analysis from position: 425
2 jumps found. (Code = 43) Position 1 = 426, Position 2 = 506
Branch analysis from position: 426
1 jumps found. (Code = 42) Position 1 = 504
Branch analysis from position: 504
2 jumps found. (Code = 44) Position 1 = 506, Position 2 = 428
Branch analysis from position: 506
1 jumps found. (Code = 42) Position 1 = 541
Branch analysis from position: 541
Branch analysis from position: 428
2 jumps found. (Code = 44) Position 1 = 506, Position 2 = 428
Branch analysis from position: 506
Branch analysis from position: 428
Branch analysis from position: 506
Branch analysis from position: 541
Branch analysis from position: 350
2 jumps found. (Code = 44) Position 1 = 352, Position 2 = 355
Branch analysis from position: 352
2 jumps found. (Code = 44) Position 1 = 354, Position 2 = 425
Branch analysis from position: 354
1 jumps found. (Code = 42) Position 1 = 541
Branch analysis from position: 541
Branch analysis from position: 425
Branch analysis from position: 355
Branch analysis from position: 345
2 jumps found. (Code = 43) Position 1 = 347, Position 2 = 349
Branch analysis from position: 347
4 jumps found. (Code = 188) Position 1 = 355, Position 2 = 425, Position 3 = 541, Position 4 = 350
Branch analysis from position: 355
Branch analysis from position: 425
Branch analysis from position: 541
Branch analysis from position: 350
Branch analysis from position: 349
Branch analysis from position: 324
Branch analysis from position: 312
2 jumps found. (Code = 43) Position 1 = 314, Position 2 = 316
Branch analysis from position: 314
2 jumps found. (Code = 46) Position 1 = 320, Position 2 = 324
Branch analysis from position: 320
Branch analysis from position: 324
Branch analysis from position: 316
Branch analysis from position: 291
Branch analysis from position: 279
2 jumps found. (Code = 43) Position 1 = 281, Position 2 = 283
Branch analysis from position: 281
2 jumps found. (Code = 46) Position 1 = 287, Position 2 = 291
Branch analysis from position: 287
Branch analysis from position: 291
Branch analysis from position: 283
Branch analysis from position: 258
Branch analysis from position: 246
2 jumps found. (Code = 43) Position 1 = 248, Position 2 = 250
Branch analysis from position: 248
2 jumps found. (Code = 46) Position 1 = 254, Position 2 = 258
Branch analysis from position: 254
Branch analysis from position: 258
Branch analysis from position: 250
Branch analysis from position: 225
Branch analysis from position: 542
2 jumps found. (Code = 46) Position 1 = 547, Position 2 = 551
Branch analysis from position: 547
2 jumps found. (Code = 43) Position 1 = 552, Position 2 = 572
Branch analysis from position: 552
1 jumps found. (Code = 42) Position 1 = 576
Branch analysis from position: 576
4 jumps found. (Code = 188) Position 1 = 582, Position 2 = 637, Position 3 = 666, Position 4 = 577
Branch analysis from position: 582
1 jumps found. (Code = 42) Position 1 = 666
Branch analysis from position: 666
1 jumps found. (Code = 42) Position 1 = 765
Branch analysis from position: 765
Branch analysis from position: 637
1 jumps found. (Code = 42) Position 1 = 666
Branch analysis from position: 666
Branch analysis from position: 666
Branch analysis from position: 577
2 jumps found. (Code = 44) Position 1 = 579, Position 2 = 582
Branch analysis from position: 579
2 jumps found. (Code = 44) Position 1 = 581, Position 2 = 637
Branch analysis from position: 581
1 jumps found. (Code = 42) Position 1 = 666
Branch analysis from position: 666
Branch analysis from position: 637
Branch analysis from position: 582
Branch analysis from position: 572
2 jumps found. (Code = 43) Position 1 = 574, Position 2 = 576
Branch analysis from position: 574
4 jumps found. (Code = 188) Position 1 = 582, Position 2 = 637, Position 3 = 666, Position 4 = 577
Branch analysis from position: 582
Branch analysis from position: 637
Branch analysis from position: 666
Branch analysis from position: 577
Branch analysis from position: 576
Branch analysis from position: 551
Branch analysis from position: 667
2 jumps found. (Code = 43) Position 1 = 677, Position 2 = 751
Branch analysis from position: 677
1 jumps found. (Code = 42) Position 1 = 752
Branch analysis from position: 752
1 jumps found. (Code = 42) Position 1 = 765
Branch analysis from position: 765
Branch analysis from position: 751
1 jumps found. (Code = 42) Position 1 = 765
Branch analysis from position: 765
Branch analysis from position: 765
Branch analysis from position: 206
2 jumps found. (Code = 44) Position 1 = 208, Position 2 = 213
Branch analysis from position: 208
2 jumps found. (Code = 44) Position 1 = 210, Position 2 = 542
Branch analysis from position: 210
2 jumps found. (Code = 44) Position 1 = 212, Position 2 = 667
Branch analysis from position: 212
1 jumps found. (Code = 42) Position 1 = 765
Branch analysis from position: 765
Branch analysis from position: 667
Branch analysis from position: 542
Branch analysis from position: 213
Branch analysis from position: 766
1 jumps found. (Code = 42) Position 1 = 767
Branch analysis from position: 767
Branch analysis from position: 49
2 jumps found. (Code = 44) Position 1 = 51, Position 2 = 60
Branch analysis from position: 51
2 jumps found. (Code = 44) Position 1 = 53, Position 2 = 67
Branch analysis from position: 53
2 jumps found. (Code = 44) Position 1 = 55, Position 2 = 105
Branch analysis from position: 55
2 jumps found. (Code = 44) Position 1 = 57, Position 2 = 155
Branch analysis from position: 57
2 jumps found. (Code = 44) Position 1 = 59, Position 2 = 205
Branch analysis from position: 59
1 jumps found. (Code = 42) Position 1 = 766
Branch analysis from position: 766
Branch analysis from position: 205
Branch analysis from position: 155
Branch analysis from position: 105
Branch analysis from position: 67
Branch analysis from position: 60
Branch analysis from position: 808
3 jumps found. (Code = 188) Position 1 = 812, Position 2 = 1070, Position 3 = 809
Branch analysis from position: 812
2 jumps found. (Code = 43) Position 1 = 815, Position 2 = 1070
Branch analysis from position: 815
2 jumps found. (Code = 43) Position 1 = 828, Position 2 = 991
Branch analysis from position: 828
2 jumps found. (Code = 43) Position 1 = 833, Position 2 = 837
Branch analysis from position: 833
1 jumps found. (Code = 42) Position 1 = 842
Branch analysis from position: 842
2 jumps found. (Code = 46) Position 1 = 847, Position 2 = 858
Branch analysis from position: 847
2 jumps found. (Code = 44) Position 1 = 859, Position 2 = 838
Branch analysis from position: 859
2 jumps found. (Code = 43) Position 1 = 870, Position 2 = 873
Branch analysis from position: 870
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 873
2 jumps found. (Code = 77) Position 1 = 880, Position 2 = 904
Branch analysis from position: 880
2 jumps found. (Code = 78) Position 1 = 881, Position 2 = 904
Branch analysis from position: 881
2 jumps found. (Code = 43) Position 1 = 889, Position 2 = 890
Branch analysis from position: 889
2 jumps found. (Code = 43) Position 1 = 892, Position 2 = 893
Branch analysis from position: 892
2 jumps found. (Code = 43) Position 1 = 895, Position 2 = 896
Branch analysis from position: 895
2 jumps found. (Code = 43) Position 1 = 898, Position 2 = 899
Branch analysis from position: 898
2 jumps found. (Code = 43) Position 1 = 901, Position 2 = 902
Branch analysis from position: 901
1 jumps found. (Code = 42) Position 1 = 880
Branch analysis from position: 880
Branch analysis from position: 902
Branch analysis from position: 899
Branch analysis from position: 896
Branch analysis from position: 893
Branch analysis from position: 890
Branch analysis from position: 904
1 jumps found. (Code = 42) Position 1 = 983
Branch analysis from position: 983
2 jumps found. (Code = 44) Position 1 = 988, Position 2 = 918
Branch analysis from position: 988
2 jumps found. (Code = 77) Position 1 = 1004, Position 2 = 1046
Branch analysis from position: 1004
2 jumps found. (Code = 78) Position 1 = 1005, Position 2 = 1046
Branch analysis from position: 1005
2 jumps found. (Code = 43) Position 1 = 1017, Position 2 = 1021
Branch analysis from position: 1017
1 jumps found. (Code = 42) Position 1 = 1045
Branch analysis from position: 1045
1 jumps found. (Code = 42) Position 1 = 1004
Branch analysis from position: 1004
Branch analysis from position: 1021
1 jumps found. (Code = 42) Position 1 = 1004
Branch analysis from position: 1004
Branch analysis from position: 1046
2 jumps found. (Code = 43) Position 1 = 1059, Position 2 = 1069
Branch analysis from position: 1059
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 1069
Branch analysis from position: 1046
Branch analysis from position: 918
2 jumps found. (Code = 43) Position 1 = 929, Position 2 = 983
Branch analysis from position: 929
2 jumps found. (Code = 44) Position 1 = 988, Position 2 = 918
Branch analysis from position: 988
Branch analysis from position: 918
Branch analysis from position: 983
Branch analysis from position: 904
Branch analysis from position: 838
2 jumps found. (Code = 46) Position 1 = 847, Position 2 = 858
Branch analysis from position: 847
Branch analysis from position: 858
Branch analysis from position: 858
Branch analysis from position: 837
Branch analysis from position: 991
Branch analysis from position: 1070
1 jumps found. (Code = 42) Position 1 = 1073
Branch analysis from position: 1073
1 jumps found. (Code = 42) Position 1 = 1074
Branch analysis from position: 1074
Branch analysis from position: 1070
Branch analysis from position: 809
2 jumps found. (Code = 44) Position 1 = 811, Position 2 = 812
Branch analysis from position: 811
1 jumps found. (Code = 42) Position 1 = 1070
Branch analysis from position: 1070
Branch analysis from position: 812
Branch analysis from position: 1074
Branch analysis from position: 43
2 jumps found. (Code = 44) Position 1 = 45, Position 2 = 48
Branch analysis from position: 45
2 jumps found. (Code = 44) Position 1 = 47, Position 2 = 808
Branch analysis from position: 47
1 jumps found. (Code = 42) Position 1 = 1074
Branch analysis from position: 1074
Branch analysis from position: 808
Branch analysis from position: 48
Branch analysis from position: 33
Branch analysis from position: 26
filename:       /in/H9Ile
function name:  (null)
number of ops:  1075
compiled vars:  !0 = $acl, !1 = $my, !2 = $mainframe, !3 = $database, !4 = $act, !5 = $task, !6 = $itemtype, !7 = $idname, !8 = $itemid, !9 = $itemid1, !10 = $itemdetailsid, !11 = $option, !12 = $parentid, !13 = $task2, !14 = $moveid, !15 = $moveid1, !16 = $result, !17 = $catalogid, !18 = $itemname, !19 = $vars, !20 = $deleteimg, !21 = $itemimgfile, !22 = $HTTP_POST_FILES, !23 = $selectimg, !24 = $itemfotofile, !25 = $selectfoto, !26 = $itemdrawingfile, !27 = $selectdrawing, !28 = $itemshemafile, !29 = $selectshema, !30 = $savetype, !31 = $prio, !32 = $sqlquery, !33 = $itemdescript, !34 = $itemarticle, !35 = $itempricefor, !36 = $itemdetailscount, !37 = $i, !38 = $catalogimgfile, !39 = $catalogcaption, !40 = $catalogarticle, !41 = $catalogarticle1, !42 = $catalogpublished, !43 = $itemcode, !44 = $maxprio, !45 = $itemsize, !46 = $itemcolor, !47 = $itemprice1, !48 = $itemprice2, !49 = $itemprice3, !50 = $itemprice4, !51 = $saveerror, !52 = $catalog, !53 = $items, !54 = $handle, !55 = $buffer, !56 = $columns, !57 = $column, !58 = $price1, !59 = $price2, !60 = $price3, !61 = $price4, !62 = $code, !63 = $row, !64 = $out, !65 = $sql, !66 = $rows, !67 = $rows1, !68 = $errors, !69 = $completed
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   DEFINED                                          ~70     '_VALID_MOS'
          1      > JMPNZ_EX                                         ~70     ~70, ->4
          2    > > EXIT                                                     'Direct+Access+to+this+location+is+not+allowed.'
          3*       BOOL                                             ~70     <true>
    6     4    >   INIT_METHOD_CALL                                         !0, 'acl_check'
          5        SEND_VAL_EX                                              'administration'
          6        SEND_VAL_EX                                              'edit'
          7        SEND_VAL_EX                                              'users'
          8        CHECK_FUNC_ARG                                           
          9        FETCH_OBJ_FUNC_ARG                               $71     !1, 'usertype'
         10        SEND_FUNC_ARG                                            $71
         11        SEND_VAL_EX                                              'components'
         12        SEND_VAL_EX                                              'all'
         13        DO_FCALL                                      0  $72     
         14      > JMPNZ_EX                                         ~73     $72, ->26
         15    >   INIT_METHOD_CALL                                         !0, 'acl_check'
         16        SEND_VAL_EX                                              'administration'
         17        SEND_VAL_EX                                              'edit'
         18        SEND_VAL_EX                                              'users'
         19        CHECK_FUNC_ARG                                           
         20        FETCH_OBJ_FUNC_ARG                               $74     !1, 'usertype'
         21        SEND_FUNC_ARG                                            $74
         22        SEND_VAL_EX                                              'components'
         23        SEND_VAL_EX                                              'com_dailymessage'
         24        DO_FCALL                                      0  $75     
         25        BOOL                                             ~73     $75
         26    >   BOOL_NOT                                         ~76     ~73
         27      > JMPZ                                                     ~76, ->33
    7    28    >   INIT_FCALL_BY_NAME                                       'mosRedirect'
         29        SEND_VAL_EX                                              'index2.php'
         30        FETCH_CONSTANT                                   ~77     '_NOT_AUTH'
         31        SEND_VAL_EX                                              ~77
         32        DO_FCALL                                      0          
    9    33    >   INIT_METHOD_CALL                                         !2, 'getPath'
         34        SEND_VAL_EX                                              'admin_html'
         35        DO_FCALL                                      0  $79     
         36        INCLUDE_OR_EVAL                                          $79, REQUIRE_ONCE
   10    37        INIT_STATIC_METHOD_CALL                                  'mosCommonHTML', 'loadOverlib'
         38        DO_FCALL                                      0          
   11    39        INIT_STATIC_METHOD_CALL                                  'HTML_catalog', 'Stylesheet'
         40        DO_FCALL                                      0          
   12    41        BIND_GLOBAL                                              !3, 'database'
   44    42      > SWITCH_STRING                                            !4, [ 'managecatalog':->48, 'updateprice':->808, ], ->1074
   45    43    >   IS_EQUAL                                                 !4, 'managecatalog'
         44      > JMPNZ                                                    ~83, ->48
  236    45    >   IS_EQUAL                                                 !4, 'updateprice'
         46      > JMPNZ                                                    ~83, ->808
         47    > > JMP                                                      ->1074
   47    48    > > SWITCH_STRING                                            !5, [ 'move':->60, 'delete':->67, 'edit':->105, 'new':->155, 'save':->205, ], ->766
   48    49    >   IS_EQUAL                                                 !5, 'move'
         50      > JMPNZ                                                    ~84, ->60
   51    51    >   IS_EQUAL                                                 !5, 'delete'
         52      > JMPNZ                                                    ~84, ->67
   67    53    >   IS_EQUAL                                                 !5, 'edit'
         54      > JMPNZ                                                    ~84, ->105
   89    55    >   IS_EQUAL                                                 !5, 'new'
         56      > JMPNZ                                                    ~84, ->155
  108    57    >   IS_EQUAL                                                 !5, 'save'
         58      > JMPNZ                                                    ~84, ->205
         59    > > JMP                                                      ->766
   49    60    >   INIT_FCALL                                               'exchangeitems'
         61        SEND_VAR                                                 !6
         62        SEND_VAR                                                 !7
         63        SEND_VAR                                                 !8
         64        SEND_VAR                                                 !9
         65        DO_FCALL                                      0          
   50    66      > JMP                                                      ->767
   52    67    > > SWITCH_STRING                                            !6, [ 'catalog':->75, 'item':->79, 'itemdetail':->88, ], ->104
   54    68    >   IS_EQUAL                                                 !6, 'catalog'
         69      > JMPNZ                                                    ~86, ->75
   57    70    >   IS_EQUAL                                                 !6, 'item'
         71      > JMPNZ                                                    ~86, ->79
   61    72    >   IS_EQUAL                                                 !6, 'itemdetail'
         73      > JMPNZ                                                    ~86, ->88
         74    > > JMP                                                      ->104
   55    75    >   INIT_FCALL                                               'deltree'
         76        SEND_VAR                                                 !8
         77        DO_FCALL                                      0          
   56    78      > JMP                                                      ->104
   58    79    >   INIT_METHOD_CALL                                         !3, 'doSQL'
         80        CONCAT                                           ~88     'DELETE+from+%23__itemdetails+where+itemid+%3D+', !8
         81        SEND_VAL_EX                                              ~88
         82        DO_FCALL                                      0          
   59    83        INIT_METHOD_CALL                                         !3, 'doSQL'
         84        CONCAT                                           ~90     'DELETE+from+%23__items+where+itemid%3D', !8
         85        SEND_VAL_EX                                              ~90
         86        DO_FCALL                                      0          
   60    87      > JMP                                                      ->104
   62    88    >   INIT_METHOD_CALL                                         !3, 'doSQL'
         89        CONCAT                                           ~92     'DELETE+from+%23__itemdetails+where+id%3D', !10
         90        SEND_VAL_EX                                              ~92
         91        DO_FCALL                                      0          
   63    92        INIT_FCALL_BY_NAME                                       'mosRedirect'
         93        CONCAT                                           ~94     'index2.php%3Foption%3D', !11
         94        CONCAT                                           ~95     ~94, '%26act%3D'
         95        CONCAT                                           ~96     ~95, !4
         96        CONCAT                                           ~97     ~96, '%26itemid%3D'
         97        CONCAT                                           ~98     ~97, !8
         98        CONCAT                                           ~99     ~98, '%26parentid%3D'
         99        CONCAT                                           ~100    ~99, !12
        100        CONCAT                                           ~101    ~100, '%26task%3Dedit%26itemtype%3Ditem'
        101        SEND_VAL_EX                                              ~101
        102        DO_FCALL                                      0          
   64   103      > JMP                                                      ->104
   66   104    > > JMP                                                      ->767
   68   105    > > SWITCH_STRING                                            !6, [ 'item':->111, 'catalog':->139, ], ->154
        106    >   IS_EQUAL                                                 !6, 'item'
        107      > JMPNZ                                                    ~103, ->111
   81   108    >   IS_EQUAL                                                 !6, 'catalog'
        109      > JMPNZ                                                    ~103, ->139
        110    > > JMP                                                      ->154
   69   111    > > SWITCH_STRING                                            !13, [ 'move':->115, ], ->122
   70   112    >   IS_EQUAL                                                 !13, 'move'
        113      > JMPNZ                                                    ~104, ->115
        114    > > JMP                                                      ->122
   71   115    >   INIT_FCALL                                               'exchangeitems'
        116        SEND_VAL                                                 'itemdetails'
        117        SEND_VAL                                                 'id'
        118        SEND_VAR                                                 !14
        119        SEND_VAR                                                 !15
        120        DO_FCALL                                      0          
   72   121      > JMP                                                      ->123
   74   122    > > JMP                                                      ->123
   76   123    >   INIT_STATIC_METHOD_CALL                                  'HTML_catalog', 'DrawPath'
        124        SEND_VAR_EX                                              !12
        125        DO_FCALL                                      0          
   77   126        INIT_METHOD_CALL                                         !3, 'setQuery'
        127        CONCAT                                           ~107    'SELECT+%23__items.itemid+as+itemid%2C+%23__itemdetails.id+as+itemdetailsid%2C+naim%2C+img%2C+foto%2C+drawing%2C+shema%2C+description%2C+article%2C+pricefor%2C+code%2C+size%2C+color%2C+price1%2C+price2%2C+price3%2C+price4%2C+price5+from+%23__items+left+join+%23__itemdetails+on+%23__items.itemid%3D%23__itemdetails.itemid+where+%23__items.itemid%3D', !8
        128        CONCAT                                           ~108    ~107, '+ORDER+by+%23__itemdetails.prio'
        129        SEND_VAL_EX                                              ~108
        130        DO_FCALL                                      0          
   78   131        INIT_METHOD_CALL                                         !3, 'loadObjectList'
        132        DO_FCALL                                      0  $110    
        133        ASSIGN                                                   !16, $110
   79   134        INIT_STATIC_METHOD_CALL                                  'HTML_catalog', 'ShowItemEditForm'
        135        SEND_VAR_EX                                              !16
        136        SEND_VAL_EX                                              'edit'
        137        DO_FCALL                                      0          
   80   138      > JMP                                                      ->154
   82   139    >   INIT_STATIC_METHOD_CALL                                  'HTML_catalog', 'DrawPath'
        140        SEND_VAR_EX                                              !12
        141        DO_FCALL                                      0          
   83   142        INIT_METHOD_CALL                                         !3, 'setQuery'
        143        CONCAT                                           ~114    'SELECT+%2A+from+%23__catalog+where+id%3D', !17
        144        SEND_VAL_EX                                              ~114
        145        DO_FCALL                                      0          
   84   146        INIT_METHOD_CALL                                         !3, 'loadObjectList'
        147        DO_FCALL                                      0  $116    
        148        ASSIGN                                                   !16, $116
   85   149        INIT_STATIC_METHOD_CALL                                  'HTML_catalog', 'ShowCatalogEditForm'
        150        SEND_VAR_EX                                              !16
        151        SEND_VAL_EX                                              'edit'
        152        DO_FCALL                                      0          
   86   153      > JMP                                                      ->154
   88   154    > > JMP                                                      ->767
   90   155    > > SWITCH_STRING                           

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
160.86 ms | 1422 KiB | 16 Q