21 parent::__construct($oConfig);
23 $this->_sTableMain =
'products';
24 $this->_sTableMediaPrefix =
'product_';
25 $this->_sFieldId =
'id';
26 $this->_sFieldAuthorId =
'author_id';
27 $this->_sFieldUri =
'uri';
28 $this->_sFieldTitle =
'title';
29 $this->_sFieldDescription =
'desc';
30 $this->_sFieldTags =
'tags';
31 $this->_sFieldThumb =
'thumb';
32 $this->_sFieldStatus =
'status';
33 $this->_sFieldFeatured =
'featured';
34 $this->_sFieldCreated =
'created';
35 $this->_sTableFans =
'';
36 $this->_sTableAdmins =
'';
37 $this->_sFieldAllowViewTo =
'allow_view_product_to';
42 if ($iRet = parent::deleteEntryByIdAndOwner(
$iId, $iOwner, $isAdmin)) {
55 $a = $this->
getRow(
"SELECT `hidden`, `entry_id` FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` WHERE `id` = ?",
57 $iHiddenNew = $a[
'hidden'] ? 0 : 1;
58 if (!$this->
query(
"UPDATE `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` SET `hidden` = $iHiddenNew WHERE `id` = ?",
70 $aRange = $this->
getRow(
"SELECT MIN(`price`) AS `min`, MAX(`price`) AS `max` FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` WHERE `entry_id` = ? AND `hidden` = 0",
72 if (!$aRange || (
'' == $aRange[
'min'] &&
'' == $aRange[
'max'])) {
74 } elseif (0 == $aRange[
'min'] && 0 == $aRange[
'max']) {
75 $sPriceRange =
'Free';
76 } elseif ($aRange[
'min'] == $aRange[
'max']) {
77 $sPriceRange =
'%s' . $aRange[
'min'];
79 $sPriceRange =
'%s' . $aRange[
'min'] .
'-' .
'%s' . $aRange[
'max'];
81 $this->
query(
"UPDATE `" . $this->_sPrefix . $this->_sTableMain .
"` SET `price_range` = '$sPriceRange' WHERE `id` = '$iEntryId'");
89 foreach ($aMedia
as $r) {
90 $i += $this->
query(
"INSERT INTO `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` VALUES (NULL, '$iProfileId', '$iEntryId', '{$r['id']}', '{$r['price']}', '{$r['privacy']}', 0)") ? 1 : 0;
101 $aEntries = $this->
getAll(
"SELECT `entry_id` FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"{$sMediaType}` WHERE `media_id` = '$iMediaId'");
102 if (parent::deleteMediaFile($iMediaId, $sMediaType)) {
103 $this->
query(
"DELETE FROM `" . $this->_sPrefix .
"customers` WHERE `file_id` = $iMediaId");
105 foreach ($aEntries
as $r) {
118 $aMedia = $this->
getAll(
"SELECT `media_id` FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"{$sMediaType}` WHERE `entry_id` = '$iEntryId'");
119 foreach ($aMedia
as $r) {
126 return $this->
getRow(
"SELECT `ti`.* FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` AS `ti` WHERE `media_id` = ? AND `entry_id` = ? LIMIT 1",
127 [$iMediaId, $iEntryId]);
132 return $this->
getRow(
"SELECT `ti`.*, `tp`.`{$this->_sFieldTitle}`, `tp`.`{$this->_sFieldUri}`
133 FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` AS `ti` LEFT JOIN `" . $this->_sPrefix . $this->_sTableMain .
"`
134 AS `tp` ON (`ti`.`entry_id` = `tp`.`{$this->_sFieldId}`) WHERE `ti`.`id` = ? LIMIT 1", [
$iId]);
137 function getFiles($iEntryId, $isFilterHidden =
false)
140 if ($isFilterHidden) {
141 $sWhere =
' AND `hidden` = 0';
144 return $this->
getAll(
"SELECT * FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` WHERE `entry_id` = ? $sWhere", [$iEntryId]);
149 return $this->
getAll(
"SELECT `ti`.*, `tp`.`{$this->_sFieldTitle}`, `tp`.`{$this->_sFieldUri}`
150 FROM `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` AS `ti` LEFT JOIN `" . $this->_sPrefix . $this->_sTableMain .
"`
151 AS `tp` ON (`ti`.`entry_id` = `tp`.`id`) WHERE `ti`.`{$this->_sFieldAuthorId}` = ?", [$iAuthorId]);
156 return $this->
query(
"INSERT INTO `" . $this->_sPrefix .
"customers` SET `file_id` = '$iItemId', `client_id` = '$iClientId', `order_id` = '$sOrderId', `count` = '$iCount', `date` = '$iDate'");
161 return $this->
query(
"DELETE FROM `" . $this->_sPrefix .
"customers` WHERE `file_id` = '$iItemId' AND `client_id` = '$iClientId' AND `order_id` = '$sOrderId'");
166 return $this->
query(
"SELECT 1 FROM `" . $this->_sPrefix .
"customers` AS `tc` INNER JOIN `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` AS `tf` ON (`tf`.`id` = `tc`.`file_id` AND `tf`.`entry_id` = '$iProductId') WHERE `tc`.`client_id` = '$iClientId' LIMIT 1");
171 return $this->
getOne(
"SELECT 1 FROM `" . $this->_sPrefix .
"customers` WHERE `file_id` = '$iFileId' AND `client_id` = '$iClientId' LIMIT 1") ?
true :
false;
181 return $this->
query(
"DELETE FROM `" . $this->_sPrefix .
"customers` WHERE `client_id` = " .
$iProfileId);
186 return $this->
getAll(
"SELECT DISTINCT `p`.`ID`, `p`.`Email` FROM `" . $this->_sPrefix .
"customers` AS `tc` INNER JOIN `" . $this->_sPrefix . $this->_sTableMediaPrefix .
"files` AS `tf` ON (`tf`.`id` = `tc`.`file_id` AND `tf`.`entry_id` = '$iProductId') INNER JOIN `Profiles` as `p` ON (`p`.`ID` = `tc`.`client_id` AND `p`.`Status` = 'Active')");