phpBB Logo File {FILENAME}      

'; $html_skeleton .= '
Back to Contents

'; $html_skeleton .= '
Language Variables :: Includes :: Conditionals
Remaining Vars :: phpBB File Usage :: References'; $html_skeleton .= '

Language Variables

{LANGUAGE_VARIABLES}'; $html_skeleton .= '

Included Files

{INCLUDES}'; $html_skeleton .= '

Used Conditionals

{CONDITIONALS}'; $html_skeleton .= '

Remaining Vars used

{REMAINING_VARS}'; $html_skeleton .= '

This Template File is used by the following phpBB Files

{USED_BY}'; $html_skeleton .= '

References: {SEE_FILES}'; //$html_skeleton .= "\n\n"; $html_skeleton .= '


'; // Open Language File include('../language/en/lang_main.php'); include('../language/en/lang_admin.php'); $files_to_parse = $php_files = array(); $dhandler = opendir($directory); if (!$dhandler) { die("Unable to open $directory"); } $num = 0; while ($file = readdir($dhandler)) { if (is_file($directory . $file) && preg_match('#\.' . $ext . '$#i', $file)) { $files_to_parse[$num]['filename'] = $directory . $file; $files_to_parse[$num]['single_filename'] = $file; $files_to_parse[$num]['destfile'] = str_replace(".{$ext}", '', $file) . '_' . $num . '.html'; $file_to_destfile[$file] = $files_to_parse[$num]['destfile']; $num++; } } closedir($dhandler); $num = 0; foreach ($phpfiles_directories as $directory) { $dhandler = opendir($directory); if (!$dhandler) { die("Unable to open $directory"); } while ($file = readdir($dhandler)) { if (is_file($directory . $file) && preg_match('#\.php$#i', $file)) { $php_files[$num]['filename'] = $directory . $file; $php_files[$num]['single_filename'] = $file; $num++; } } closedir($dhandler); } $php_files_includes = $lang_references = array(); //$php_files_includes['viewtopic_attach_body.html'][0] = filename echo '
Parsing PHP Files'; // Parse PHP Files and get our filenames foreach ($php_files as $file_num => $data) { echo '.'; flush(); $contents = implode('', file($data['filename'], filesize($data['filename']))); $html_files = array(); preg_match_all('#([a-zA-Z0-9\-_]*?)\.' . $ext . '#s', $contents, $html_files); $html_files = array_unique($html_files[1]); foreach ($html_files as $html_file) { $html_file = trim($html_file); if ($html_file != '') { $php_files_includes[$html_file . '.' . $ext][] = $data['filename']; } } } echo '
Parsing HTML Files'; foreach ($files_to_parse as $file_num => $data) { echo '.'; flush(); $contents = implode('', file($data['filename'], filesize($data['filename']))); // Language Variables -> [0]:tpl [1]:lang $lang_vars = array(); preg_match_all('#{L_([a-z0-9\-_]*?)\}#is', $contents, $lang_vars); $contents = preg_replace('#{L_([a-z0-9\-_]*?)\}#is', '', $contents); $lang_vars[0] = array_unique($lang_vars[0]); $lang_vars[1] = array_unique($lang_vars[1]); // Includes $includes = array(); preg_match_all('##s', $contents, $includes); $contents = preg_replace('##', '', $contents); $includes = $includes[1]; $includes = array_unique($includes); // IF Conditions $switches = array(); preg_match_all('##', $contents, $switches); $contents = preg_replace('##s', '', $contents); $switches[0] = array_unique($switches[1]); // No resorting please $switches[1] = $switches[2]; unset($switches[2]); // Remaining Vars $remaining_vars = array(); preg_match_all('#{([a-z0-9\-_\.]*?)\}#is', $contents, $remaining_vars); $contents = preg_replace('#{([a-z0-9\-_]*?)\}#is', '', $contents); $remaining_vars = array_unique($remaining_vars[1]); sort($remaining_vars, SORT_STRING); // Now build the filename specific site $fp = fopen($store_dir . $data['destfile'], 'w'); $html_data = $html_skeleton; $html_data = str_replace('{FILENAME}', $data['single_filename'], $html_data); // Write up the Language Variables if (count($lang_vars[0])) { $lang_data = ''; } else { $lang_data = 'NONE
' . "\n"; } $html_data = str_replace('{LANGUAGE_VARIABLES}', $lang_data, $html_data); // Write up the Includes echo '.'; flush(); if (count($includes)) { $includes_data = ''; } else { $includes_data = 'NONE
' . "\n"; $see_files = 'NONE'; } $html_data = str_replace('{INCLUDES}', $includes_data, $html_data); $html_data = str_replace('{SEE_FILES}', $see_files, $html_data); // Write up Conditionals echo '.'; flush(); if (count($switches[0])) { $conditionals = ''; } else { $conditionals = 'NONE
' . "\n"; } $html_data = str_replace('{CONDITIONALS}', $conditionals, $html_data); // Write up Remaining Vars echo '.'; flush(); if (count($remaining_vars)) { $remaining = ''; } else { $remaining = 'NONE
' . "\n"; } $html_data = str_replace('{REMAINING_VARS}', $remaining, $html_data); if (isset($php_files_includes[$data['single_filename']]) && count($php_files_includes[$data['single_filename']])) { $usedby = ''; } else { $usedby = 'NONE
' . "\n"; } $html_data = str_replace('{USED_BY}', $usedby, $html_data); fwrite($fp, $html_data); fclose($fp); } echo '
Store Files'; $fp = fopen($store_dir . 'index.html', 'w'); $html_data = ' Contents
phpBB Logo Available Template Files      


This Style Document is 100% auto-generated... no human interaction included. :D

phpBB 2.2 Template


    '; sort($files_to_parse); foreach ($files_to_parse as $file_num => $data) { echo '.'; flush(); $var = $data['single_filename']; $html_data .= '
  1. ' . $var . '

  2. ' . "\n"; } $html_data .= '
  3. Appendix A: Language Variable Index

  4. '; $html_data .= '



'; fwrite($fp, $html_data); fclose($fp); // Not only write down all language files, place them into a specific array, named by the template file // All Language vars assigned to more than one template will be placed into a common file $entry = array(); $common_fp = fopen($store_dir . 'lang_common.php', 'w'); fwrite($common_fp, " Appendix A :: Language Variable Index
phpBB Logo Language Variable Index      


Back to Contents


'; echo '
Write Language Files'; asort($lang_references); ksort($lang_references); $_index = ''; $old_char = ''; foreach ($lang_references as $lang_var => $filenames) { $var = preg_replace('#^L_(.*?)#', '\1', $lang_var); $char = $var{0}; if ($old_char != $char) { $old_char = $char; $_index .= ($_index != '') ? ' :: ' : ''; $_index .= '' . $char . ''; } } $html_data .= $_index . '


'; $old_char = ''; foreach ($lang_references as $lang_var => $filenames) { echo '.'; flush(); $var = preg_replace('#^L_(.*?)#', '\1', $lang_var); $char = $var{0}; if ($old_char != $char) { $old_char = $char; $html_data .= '


Letter ' . $char . '



'; } $html_data .= '' . $lang_var . '
    '; if (sizeof($filenames) != 1) { fwrite($common_fp, (($entry['common']) ? ",\n" : '') . "\t'$var' => '" . $lang[$var] . "'"); $entry['common'] = true; } else if (sizeof($filenames) == 1) { // Merge logical - hardcoded $fname = (preg_match('#^(' . implode('|', $merge) . ')#', $filenames[0], $match)) ? $match[0] . '.php' : str_replace($ext, 'php', $filenames[0]); if (!$lang_fp[$fname]) { $lang_fp[$fname] = fopen($store_dir . 'lang_' . $fname, 'w'); fwrite($lang_fp[$fname], " '" . $lang[$var] . "'"); $entry[$fname] = true; } foreach ($filenames as $f_name) { $var = trim($f_name); $html_data .= '
  • ' . $var . '

  • ' . "\n"; } $html_data .= '


'; } fwrite($common_fp, ")\n);\n?>"); fclose($common_fp); foreach ($lang_fp as $filepointer) { fwrite($filepointer, ")\n);\n?>"); fclose($filepointer); } $html_data .= '


'; fwrite($fp, $html_data); fclose($fp); echo '
Finished!'; flush(); ?>> 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447
package list_modules;

use MDK::Common;

our @ISA = qw(Exporter);
our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories);

# the categories have 2 purposes
# - choosing modules to include on stage1's (cf update_kernel and mdk-stage1/pci-resource/update-pci-ids.pl)
# - performing a load_category or probe_category (detect_devices.pm and many files in perl-install)

our %l = (
  ################################################################################
  network => 
  {
    atm => [ qw(ambassador eni firestream fore_200e he horizon idt77252 iphase lanai nicstar solos-pci zatm) ],
    main => [
        qw(3c501 3c503 3c505 3c507 3c509 3c515 3c990 3c990fx),
        qw(82596 ac3200 acenic aironet4500_card altera_tse amd8111e at1700 atl2 atp),
        qw(bcm4400 cassini cs89x0 cx82310_eth de600 de620),
        qw(depca dmfe dwc-xlgmac e2100 ec_bhf eepro eexpress enic eth16i),
        qw(ewrk3 fm10k bcmgenet hp hp-plus hp100 i40e i40evf ice),
        qw(iph5526), #- fibre channel
        qw(i40evf jme lance ne nfp ni5010 ni52 ni65 nvnet),
        qw(prism2_plx qlge r6040 rcpci rhineget),
        qw(sb1000 sc92031 sh_eth smc-ultra smsc911x smc9194 smsc9420 smsc95xx),
        qw(tc35815 tlan uli526x ),
        qw(b44 com20020-pci de2104x),
        qw(defxx), # most unused
        qw(dgrs e100 eepro100 epic100 fealnx hamachi mlx5_core mlxsw_pci natsemi),
        qw(ne2k-pci pcnet32 plip qede sis900 skfp starfire stmmac-platform tulip),
        qw(typhoon via-rhine winbond-840 xgene-enet forcedeth),
        qw(sungem sunhme), # drivers for ultrasparc, but compiled in ix86 kernels...
      qw(3c59x 8139too 8139cp cpmac niu sundance), #rtl8139
      # add all phys
      qw(amd aquantia at803x bcm7xxx bcm87xx broadcom cicada cortina davicom dp83848 dp83867 et1011c fixed_phy icplus intel-xway),
      qw(lxt marwell macb macb_pci marwell10g mdio-bcm-unimac mdio-bitbang mdio-cavium mdio-gpio mdio-i2c),
      qw(mdio-mscc-mii mdio-thunder micrel microchip microchip_t1 mscc national phylink),
      qw(phy-bcm-kona-usb2 phy-cpcap-usb phy-exynos-usb2 phy-pxa-28nm-hsic),
      qw(phy-pxa-28nm-usb2 phy-qcom-usb-hs phy-qcom-usb-hsic phy-tusb1210),
      qw(qsemi r8152 r815x realtek rockchip sfp smsc spi_ks8995 ste10Xp teranetics vitesse xilinx_gmii2rgmii),
    ],
    firewire => [ qw(eth1394 pcilynx) ],
    gigabit => [
      qw(amd-xgbe alx aqc111 atl1 atl1c atl1e atlantic at91_ether ax88179_178a bcmsysport be2net bna bnx2 bnx2x bnxt_en cxgb cxgb3 cxgb4 dl2k dwc-xlgmac e1000 e1000e et131x),
      qw(hinic hfi1 igb ipg ixgb ixgbe lan78xx liquidio liquidio_vf macb mlx4_core mlx4_en mlx5_core mvmdio myri_sbus myri10ge netxen_nic ns83820 pch_gbe),
      qw(qla3xxx r8169 s2io samsung-sxgbe sfc sfc-falcon sxg_nic sis190 sk98lin skge sky2 slicoss spidernet stmmac tehuti tg3 via-velocity vxge yellowfin),
      qw(bcm5820 bcm5700), #- encrypted
    ],

    raw => [
      qw(ppp_generic ppp_async ppp_deflate bsd_comp thunderbolt-net),
    ],
    pcmcia => [ 
      qw(3c574_cs 3c589_cs axnet_cs fmvj18x_cs),
      qw(ibmtr_cs libertas_cs nmclan_cs pcnet_cs smc91c92_cs),
      qw(xirc2ps_cs xircom_cb xircom_tulip_cb),
    ],
   #- generic NIC detection for USB seems broken (class, subclass, 
   #- protocol reported are not accurate) so we match network adapters against
   #- known drivers :-(
    usb => [ 
      qw(asix catc cdc_ether ch9200 dm9601 huawei_cdc_ncm kaweth mcs7830 pegasus rtl8150 smsc75xx smsc95xx usbnet),
    ],
    wireless => [
      qw(8812au acx-pci acx-usb adm8211 agnx airo airo_cs aironet4500_cs),
      qw(aironet_cs ar5523 ar9170usb arlan arusb_lnx at76c50x_usb ath10k_pci ath10k_sdio ath10k_usb ath5k ath6kl ath6kl_sdio ath6kl_usb ath9k ath9k_htc),
      qw(ath_pci atmel_cs atmel_pci b43 b43legacy bcm43xx bcm_wimax bcma brcm80211 brcmsmac brcmfmac carl9170 com20020_cs),
      qw(dyc_ar5 hostap_cs hostap_pci hostap_plx i2400m_usb ipw2100),
      qw(ipw2200 ipw3945 iwl3945 iwl4965 iwlagn iwldvm iwlmvm iwlwifi libertas_spi madwifi_pci),
      qw(mt76x0 mt76x2e mt76x2u mt7601u mwifiex_pcie mwifiex_sdio mwifiex_usb mwl8k ndiswrapper netwave_cs orinoco orinoco_cs),
      qw(orinoco_nortel orinoco_pci orinoco_plx orinoco_tmd orinoco_usb p54pci p54spi),
      qw(p54usb prism2_cs prism2_pci prism2_usb prism54 qmi_wwan qtnfmac qtnfmac_pcie r8180),
      qw(r8187se rtl8188ee rtl8192ce r8192_pci r8192s_usb r8192u_usb r8712u r8723bs r8822be ray_cs rndis_wlan rsi_sdio rsi_usb rt2400 rt2400pci rt2500),
      qw(rt2500pci rt2500usb rt2570 rt2800pci rt2800usb rt2860 rt2860sta rt2870),
      qw(rt3070sta rt61 rt61pci rt73 rt73usb rtl8180 rtl8187 rtl8187se rtl818x_pci r8188eu r8192ee r8723au rtl_pci rtl_usb rtusb),
      qw(rtl8192se rtl8192cu rtl8192de rtl8192ee rtl8723ae rtl8723be rtl8821ae rtl8xxxu spectrum_cs sr9700 sr9800 ssb usb8xxx usbvnet_rfmd vt6655_stage vt6656_stage vt_ar5k w35und),
      qw(wavelan_cs wcn36xx wil6210 wl wl1251_sdio wl1251_spi wl12xx wl18xx wl3501_cs wlcore_sdio wvlan_cs zd1201 zd1211rw),
    ],
    isdn => [
      qw(avmfritz c4 cdc-acm b1pci divas hfc4s8s_l1 hfc_usb hfc4s8s_l1 hisax hisax_st5481 hisax_fcpcipnp hysdn sedlfax t1pci tpam w6692pci),
      qw(avmfritz hfcpci hfcmulti hfcsusb mISDNinfineon netjet), # mISDN
      qw(fcpci fcdsl fcdsl fcdsl2 fcdslsl fcdslslusb fcdslusb fcdslusba fcusb fcusb2 fxusb fxusb_CZ)
    ],
    cellular => [
      qw(cdc_mbim hso nozomi option sierra),
    ],
    modem => [
      qw(ltmodem mwave sm56 ft1000),
    ],
    slmodem => [
      qw(slamr slusb snd-ali5451 snd-atiixp-modem snd-intel8x0m snd-via82xx-modem),
    ],
    wan => [ qw(c101 cosa cyclomx cycx_drv dlci dscc4 farsync hdlc hostess_sv11 lapbether lmc n2 pc300 pci200syn sbni sdla sdladrv sealevel syncppp wanxl z85230) ],
    usb_dsl => [ qw(cxacru speedtch ueagle-atm usbatm xusbatm) ],
    virtual => [ qw(ena hv_netvsc vboxdrv virtio_net vmxnet3 xen-netfront) ],
  },

  ################################################################################
  disk => 
  {
    # ide drivers compiled as modules:
    ide => [
        qw(aec62xx alim15x3 amd74xx atiixp cmd64x),
        qw(delkin_cb dtc2278 hpt34x hpt366 ns87415 ht6560b it8172 it8213 it821x jmicron),
        qw(opti621 pdc202xx_new pdc202xx_old piix qd65xx rz1000 sc1200 serverworks siimage sis5513 slc90e66),
        qw(tc86c001 triflex trm290 tx4938ide tx4939ide umc8672 via82cxxx ide-pci-generic ide-generic),
    ],
    scsi => [
	'53c7,8xx',
        qw(a100u2w advansys aha152x aha1542 aha1740 am53c974 atp870u),
        qw(be2iscsi bfa BusLogic dc395x dc395x_trm dmx3191d dtc eata eata_dma),
        qw(eata_pio fdomain g_NCR5380 in2000 initio mpt2sas mpt3sas mvsas NCR53c406a),
        qw(nsp32 pas16 pci2220i pm80xx pm8001 psi240i qla1280 qla2x00 qla2xxx),
        qw(qlogicfas qlogicfc rsxx seagate shasta skd sim710 snic stex sym53c416),
        qw(t128 tmscsim u14-34f ultrastor wd7000 xen-scsiback xen-scsifront),
      qw(aic7xxx aic7xxx_old aic79xx pci2000 qlogicfas408 sym53c8xx wd719x lpfc lpfcdd), # ncr53c8xx
    ],
    sata => [
      # note that ata_piix manage RAID devices on ICH6R
      qw(ahci aic94xx ata_adma ata_piix pata_pdc2027x pdc_adma),
      qw(sata_fsl sata_inic162x sata_mv sata_nv sata_promise),
      qw(sata_qstor sata_rcar sata_sil sata_sil24 sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sx8),
      # new drivers: old ide drivers ported over libata: