| CODENOTIFIER | HelpYou are not signed inSign in |
Project: eStudy
Revision: 828
Author: commana
Date: 30 Aug 2008 11:53:00
Changes:Regeln schicken keine Differenzen mehr sondern nur noch alles
Files:| ... | ...@@ -47,27 +47,21 @@ | |
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | return $rules; |
| 50 | } | |
| 51 | ||
| 52 | private function removeKnownRules( $rules ) { | |
| 53 | return array_diff( $rules, $this->getCache() ); | |
| 54 | 50 | } |
| 55 | 51 | |
| 56 | 52 | private function isAuthor($item) { |
| 57 | 53 | return $item->author == $_SESSION['userid']; |
| 58 | } | |
| 59 | ||
| 60 | ||
| 54 | } | |
| 61 | 55 | |
| 62 | 56 | private function addUserRuleInfo( $pinboardId, $rules ) { |
| 63 | 57 | $objects = $this->ws->getObjects( $pinboardId ); |
| 64 | 58 | $userid = $_SESSION['userid']; |
| 65 | 59 | $objects = array_filter( $objects, array($this, "isAuthor") ); |
| 66 | 60 | foreach ( $rules as &$rule ) { |
| 67 | $objID = ( $rule['objID'] == -1 ) ? "null" : $rule['objID']; | |
| 61 | $objID = ( $rule['objID'] == -1 ) ? "null" : $rule['objID']; | |
| 68 | 62 | $filtered = array_filter( $objects, create_function( '$item', |
| 69 | 63 | 'return ($item->parentId == ' . $objID . ' || $item->parentId == -1) && $item->setRef == '. $rule['setobjID'] .';') ); |
| 70 | $rule["usedByUser"] = count( $filtered ); | |
| 64 | $rule["usedByUser"] = count( $filtered ); | |
| 71 | 65 | } |
| 72 | 66 | return $rules; |
| 73 | 67 | } |
| ... | ...@@ -75,10 +69,8 @@ | |
| 75 | 69 | public function load( $pinboardId ) { |
| 76 | 70 | $rules = json_decode( $this->ws->getRule($pinboardId), true ); |
| 77 | 71 | $rules = $this->addUserRuleInfo( $pinboardId, $rules ); |
| 78 | $filtered = $this->removeKnownRules($rules); | |
| 79 | $this->setCache($rules); | |
| 80 | 72 | |
| 81 | return array_values( $filtered ); | |
| 73 | return array_values( $rules ); | |
| 82 | 74 | } |
| 83 | 75 | |
| 84 | 76 | public function getIdentifier() { |