Skip to content
Extraits de code Groupes Projets
Valider c76b1e77 rédigé par mattab's avatar mattab
Parcourir les fichiers

missing files for build

parent 6803f676
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -153,25 +153,6 @@ class Piwik_SegmentEditor_API ...@@ -153,25 +153,6 @@ class Piwik_SegmentEditor_API
return $db->lastInsertId(); return $db->lastInsertId();
} }
public function getSegmentsToAutoArchive($idSite = false)
{
Piwik::checkUserIsSuperUser();
$sqlRestrictSite = '';
$bind = array();
if ($idSite) {
$sqlRestrictSite = 'OR enable_only_idsite = ?';
$bind = array($idSite);
}
$segments = Zend_Registry::get('db')->fetchAll("SELECT *
FROM " . Piwik_Common::prefixTable("segment") . "
WHERE auto_archive = 1
AND deleted = 0
AND (enable_only_idsite IS NULL " . $sqlRestrictSite . " )", $bind
);
return $segments;
}
public function get($idSegment) public function get($idSegment)
{ {
Piwik::checkUserHasSomeViewAccess(); Piwik::checkUserHasSomeViewAccess();
...@@ -188,7 +169,8 @@ class Piwik_SegmentEditor_API ...@@ -188,7 +169,8 @@ class Piwik_SegmentEditor_API
try { try {
Piwik::checkUserIsSuperUserOrTheUser($segment['login']); Piwik::checkUserIsSuperUserOrTheUser($segment['login']);
} catch (Exception $e) { } catch (Exception $e) {
throw new Exception("You can only manage your own segments (unless you are Super User)."); throw new Exception("You can only edit the custom segments you have created yourself. This segment was created and 'shared with you' by the Super User. " .
"To modify this segment, you can create a new one, by clicking on 'Add new segment' where you can then further customize the segment's definition.");
} }
if ($segment['deleted']) { if ($segment['deleted']) {
...@@ -211,17 +193,33 @@ class Piwik_SegmentEditor_API ...@@ -211,17 +193,33 @@ class Piwik_SegmentEditor_API
return $segment; return $segment;
} }
public function getAll($idSite) public function getAll($idSite = false, $returnAutoArchived = false)
{ {
Piwik::checkUserHasViewAccess($idSite); if(!empty($idSite) ) {
Piwik::checkUserHasViewAccess($idSite);
} else {
Piwik::checkUserHasSomeViewAccess();
}
$extraWhere = '';
if($returnAutoArchived) {
$extraWhere = ' AND auto_archive = 1';
}
$whereIdSite = '';
$bind = array(Piwik::getCurrentUserLogin());
if(!empty($idSite)) {
$whereIdSite = 'enable_only_idsite = ? OR ';
$bind = array($idSite, Piwik::getCurrentUserLogin());
}
$sql = "SELECT * " . $sql = "SELECT * " .
" FROM " . Piwik_Common::prefixTable("segment") . " FROM " . Piwik_Common::prefixTable("segment") .
" WHERE (enable_only_idsite = ? OR enable_only_idsite IS NULL) " WHERE ($whereIdSite enable_only_idsite IS NULL)
AND (enable_all_users = 1 OR login = ?) AND (enable_all_users = 1 OR login = ?)
AND deleted = 0 AND deleted = 0
$extraWhere
ORDER BY name ASC"; ORDER BY name ASC";
$bind = array($idSite, Piwik::getCurrentUserLogin());
$segments = Zend_Registry::get('db')->fetchAll($sql, $bind); $segments = Zend_Registry::get('db')->fetchAll($sql, $bind);
return $segments; return $segments;
......
...@@ -45,7 +45,7 @@ class Piwik_SegmentEditor extends Piwik_Plugin ...@@ -45,7 +45,7 @@ class Piwik_SegmentEditor extends Piwik_Plugin
public function getKnownSegmentsToArchiveAllSites($notification) public function getKnownSegmentsToArchiveAllSites($notification)
{ {
$segments =& $notification->getNotificationObject(); $segments =& $notification->getNotificationObject();
$segmentToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getSegmentsToAutoArchive(); $segmentToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getAll($idSite = false, $returnAutoArchived = true);
if (!empty($segmentToAutoArchive)) { if (!empty($segmentToAutoArchive)) {
$segments = array_merge($segments, $segmentToAutoArchive); $segments = array_merge($segments, $segmentToAutoArchive);
} }
...@@ -55,7 +55,7 @@ class Piwik_SegmentEditor extends Piwik_Plugin ...@@ -55,7 +55,7 @@ class Piwik_SegmentEditor extends Piwik_Plugin
{ {
$segments =& $notification->getNotificationObject(); $segments =& $notification->getNotificationObject();
$idSite = $notification->getNotificationInfo(); $idSite = $notification->getNotificationInfo();
$segmentToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getSegmentsToAutoArchive($idSite); $segmentToAutoArchive = Piwik_SegmentEditor_API::getInstance()->getAll($idSite, $returnAutoArchived = true);
foreach ($segmentToAutoArchive as $segmentInfo) { foreach ($segmentToAutoArchive as $segmentInfo) {
$segments[] = $segmentInfo['definition']; $segments[] = $segmentInfo['definition'];
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter