Changeset 389
- Timestamp:
- 04/05/08 12:29:38 (5 years ago)
- Location:
- buddyloo
- Files:
-
- 10 modified
-
de-informal.xml (modified) (2 diffs)
-
de.xml (modified) (2 diffs)
-
en.xml (modified) (2 diffs)
-
files/js/buddylooSocial.js (modified) (6 diffs)
-
files/lib/action/BuddylooSocialAction.class.php (modified) (3 diffs)
-
files/lib/data/user/BuddylooSocialData.class.php (modified) (4 diffs)
-
fr.xml (modified) (2 diffs)
-
install.sql (modified) (1 diff)
-
templates/buddylooSocial.tpl (modified) (3 diffs)
-
update.sql (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
buddyloo/de-informal.xml
r363 r389 60 60 Ihr {PAGE_TITLE} Team]]></item> 61 61 <item name="wcf.buddyloo.invitation.register_invitation"><![CDATA[Wir nehmen Neumitglieder nur ÃŒber Einladungen auf. Daher mÃŒssen Sie auch diese E-Mail zur Registrierung verwenden.]]></item> 62 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item>63 62 64 63 <!-- gadgets //--> … … 75 74 76 75 <!-- social pages //--> 76 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item> 77 77 <item name="wcf.buddyloo.social.column.add"><![CDATA[Spalte hinzufÃŒgen]]></item> 78 78 <item name="wcf.buddyloo.social.page.add"><![CDATA[Page hinzufÃŒgen]]></item> 79 79 <item name="wcf.buddyloo.social.page.rename"><![CDATA[Bitte gib den neuen Namen der Social Page ein]]></item> 80 80 <item name="wcf.buddyloo.social.page.delete"><![CDATA[Willst du die Social Page wirklich löschen?]]></item> 81 82 <item name="wcf.buddyloo.social.page.access.0"><![CDATA[Nur du hast Zugriff auf diese Seite.]]></item> 83 <item name="wcf.buddyloo.social.page.access.1"><![CDATA[Die Seite kann von allen Mitgliedern abgerufen werden (abhÀngig von der Admin-Konfiguration).]]></item> 84 <item name="wcf.buddyloo.social.page.access.2"><![CDATA[Nur deine Freunde haben Zugriff auf diese Seite.]]></item> 81 85 </category> 82 86 <category name="wcf.user.whitelist"> -
buddyloo/de.xml
r363 r389 60 60 Ihr {PAGE_TITLE} Team]]></item> 61 61 <item name="wcf.buddyloo.invitation.register_invitation"><![CDATA[Wir nehmen Neumitglieder nur ÃŒber Einladungen auf. Daher mÃŒssen Sie auch diese E-Mail zur Registrierung verwenden.]]></item> 62 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item>63 62 64 63 <!-- gadgets //--> … … 75 74 76 75 <!-- social pages //--> 76 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item> 77 77 <item name="wcf.buddyloo.social.column.add"><![CDATA[Spalte hinzufÃŒgen]]></item> 78 78 <item name="wcf.buddyloo.social.page.add"><![CDATA[Page hinzufÃŒgen]]></item> 79 79 <item name="wcf.buddyloo.social.page.rename"><![CDATA[Bitte geben Sie den neuen Namen der Social Page ein]]></item> 80 80 <item name="wcf.buddyloo.social.page.delete"><![CDATA[Wollen Sie Sie die Social Page wirklich löschen?]]></item> 81 82 <item name="wcf.buddyloo.social.page.access.0"><![CDATA[Nur Sie haben Zugriff auf diese Seite.]]></item> 83 <item name="wcf.buddyloo.social.page.access.1"><![CDATA[Die Seite kann von allen Mitgliedern abgerufen werden (abhÀngig von der Admin-Konfiguration).]]></item> 84 <item name="wcf.buddyloo.social.page.access.2"><![CDATA[Nur Ihre Freunde haben Zugriff auf diese Seite.]]></item> 81 85 </category> 82 86 <category name="wcf.user.whitelist"> -
buddyloo/en.xml
r369 r389 60 60 Your {PAGE_TITLE} Team]]></item> 61 61 <item name="wcf.buddyloo.invitation.register_invitation"><![CDATA[New registrations are just possible after being invited from one of our members. That's why you have to use this email for your registration.]]></item> 62 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item>63 62 64 63 <!-- gadgets //--> … … 75 74 76 75 <!-- social pages //--> 76 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item> 77 77 <item name="wcf.buddyloo.social.column.add"><![CDATA[Add column]]></item> 78 78 <item name="wcf.buddyloo.social.page.add"><![CDATA[Add page]]></item> 79 79 <item name="wcf.buddyloo.social.page.rename"><![CDATA[Please enter the new title of the social page]]></item> 80 80 <item name="wcf.buddyloo.social.page.delete"><![CDATA[Do you really want to delete this social page?]]></item> 81 82 <item name="wcf.buddyloo.social.page.access.0"><![CDATA[This social page is visible just for you.]]></item> 83 <item name="wcf.buddyloo.social.page.access.1"><![CDATA[This social page can be viewed from everyone (depending on the admin-configuration).]]></item> 84 <item name="wcf.buddyloo.social.page.access.2"><![CDATA[This social page is visible just for your friends.]]></item> 81 85 </category> 82 86 <category name="wcf.user.whitelist"> -
buddyloo/files/js/buddylooSocial.js
r375 r389 1 1 var buddylooConfigCache = new Array(); 2 var buddylooAccessIcons = new Array('passwordS','packageTypePluginS','buddiesS'); 3 4 onloadEvents.push(function() { 5 $('.mainHeadline > img').attr('src',RELATIVE_WCF_DIR + 'icon/buddylooSocialL.png'); 6 $('#socialLock').attr('src',RELATIVE_WCF_DIR+'icon/'+buddylooAccessIcons[locked]+'.png'); 7 }); 8 9 /** 10 * 11 */ 12 function buddylooMessage(dest, text) { 13 var socialInfo = document.getElementById('social'+dest); 14 $(socialInfo).text(text); 15 socialInfo.parentNode.style.display = 'block'; 16 } 17 18 /** 19 * 20 */ 21 function buddylooLockSocial(ob) { 22 locked = (locked+1) % 3; 23 $.post('index.php?action=BuddylooSocial&handle=lockSocial&userID='+userID+'&socialID='+socialID, 'locked='+locked, function(data) { 24 buddylooMessage('Info', language['wcf.buddyloo.social.page.access.'+locked]); 25 ob.src = RELATIVE_WCF_DIR+'icon/'+buddylooAccessIcons[locked]+'.png'; 26 }); 27 } 2 28 3 29 /** … … 20 46 if (input) { 21 47 $.get('index.php?action=BuddylooSocial&handle=deleteSocial&userID='+userID+'&socialID='+socialID, function(data) { 48 buddylooMessage('Info', language['wcf.buddyloo.social.page.delete.success']); 22 49 if(data == 0) { 23 location.href='index.php?page=User&userID='+userID;50 window.setTimeout("location.href='index.php?page=User&userID="+userID+"'", 1000); 24 51 } else { 25 location.href='index.php?page=Social&userID='+userID+'&socialID='+data;52 window.setTimeout("location.href='index.php?page=Social&userID="+userID+"&socialID="+data+"'", 1000); 26 53 } 27 54 }); … … 128 155 function gadgetConfig(x) { 129 156 // save config 130 //$.post('index.php?action=BuddylooSocial&handle=configGadget&userID='+userID+'&socialID='+socialID, 'gadgetID='+this.parentNode.parentNode.id);157 $.post('index.php?action=BuddylooSocial&handle=configGadget&userID='+userID+'&socialID='+socialID, 'boxID='+this.parentNode.parentNode.id); 131 158 x.slideToggle(750); 132 159 return false; … … 138 165 var configContent = function(e) { 139 166 var parent = this.parentNode.parentNode; 140 var gadgetID = parent.id.substr(3);167 var boxID = parent.id.substr(3); 141 168 var x = $(parent).find('.containerConfig'); 142 169 … … 144 171 buddylooConfigCache[socialID] = new Array(); 145 172 } 146 if(!buddylooConfigCache[socialID][ gadgetID]) {173 if(!buddylooConfigCache[socialID][boxID]) { 147 174 148 175 // load custom config 149 $.post('index.php?action=BuddylooSocial&handle=configGadget&userID='+userID+'&socialID='+socialID, 'gadgetID='+this.parentNode.parentNode.id, function(data) { 150 buddylooConfigCache 151 176 $.post('index.php?action=BuddylooSocial&handle=configGadget&userID='+userID+'&socialID='+socialID, 'boxID='+this.parentNode.parentNode.id, function(data) { 152 177 var form = document.createElement('form'); 178 form.onsubmit = function() { 179 return gadgetConfig(x); 180 } 153 181 154 182 var submit = document.createElement('input'); … … 157 185 158 186 form.appendChild(submit); 159 form.onsubmit = function() {160 return gadgetConfig(x);161 }162 187 163 buddylooConfigCache[socialID][ gadgetID] = form;164 165 x.append(buddylooConfigCache[socialID][ gadgetID]);188 buddylooConfigCache[socialID][boxID] = form; 189 190 x.append(buddylooConfigCache[socialID][boxID]); 166 191 }); 167 192 } -
buddyloo/files/lib/action/BuddylooSocialAction.class.php
r375 r389 115 115 WCF::getDB()->sendQuery($sql); 116 116 117 // finds the next best fitting socialpage to switch there 118 $sql = 'SELECT socialID, 119 IF(icolumn>icolumnOld,icolumn-icolumnOld,icolumnOld-icolumn) AS diff 120 FROM wcf'.WCF_N.'_buddyloo_user_to_social 121 JOIN ( 122 SELECT icolumn AS icolumnOld 123 FROM wcf'.WCF_N.'_buddyloo_user_to_social 124 WHERE socialID ='.$this->socialID.' 125 ) X 126 WHERE userID='.$this->userID.' 127 ORDER BY diff ASC, 128 icolumn DESC 129 LIMIT 1 130 OFFSET 1'; 131 $row = WCF::getDB()->getFirstRow($sql); 132 echo $row ? $row['socialID'] : 0; 133 117 134 $sql = 'DELETE FROM wcf'.WCF_N.'_buddyloo_user_to_social 118 135 WHERE socialID = '.$this->socialID; 119 136 WCF::getDB()->sendQuery($sql); 120 137 138 // finds the first socialpage to set as new default 121 139 $sql = 'SELECT IF(ISNULL(MIN(socialID)),0,MIN(socialID)) AS socialID 122 140 FROM wcf'.WCF_N.'_buddyloo_user_to_social … … 130 148 'socialID'=>$this->socialID 131 149 )); 132 133 echo $this->socialID;134 150 break; 135 151 … … 188 204 } 189 205 break; 206 case 'configGadget': 207 208 break; 190 209 } 191 210 -
buddyloo/files/lib/data/user/BuddylooSocialData.class.php
r373 r389 20 20 public $socialID; 21 21 public $columns=array(); 22 public $access = 0; 22 23 23 24 /** … … 31 32 $this->socialID = $socialID; 32 33 33 $this->fetchColumns(); 34 $sql = 'SELECT s.socialAccess 35 FROM wcf'.WCF_N.'_buddyloo_user_to_social us 36 NATURAL JOIN wcf'.WCF_N.'_buddyloo_social s 37 WHERE su.socialID = '.$this->socialID.' 38 AND su.userID = '.$this->userID; 39 $row = WCF::getDB()->getFirstRow($sql); 40 $this->access = $row['socialAccess']; 41 42 $access = $this->getPermission(); 43 if(!$access) $access = $this->access>0 && $this->isFriend($this->userID); 44 if(!$access) $access = $this->access>1 && WCF::getUser()->getPermission('user.profile.canSocial'); 45 if($access) $this->fetchColumns(); 34 46 } 35 47 … … 40 52 return $this->columns; 41 53 } 42 54 55 /** 56 * 57 */ 58 public function getPermission() { 59 return WCF::getUser()->userID == $this->userID || $this->userID === null; 60 } 61 62 /** 63 * checks if i am in the friendlist of the user 64 */ 65 protected function isFriend($userID) { 66 WCF::getCache()->addResource('buddyloo.friendships', 67 WCF_DIR.'cache/cache.buddyloo.friendships.php', 68 WCF_DIR.'lib/system/cache/CacheBuilderBuddylooFriendships.class.php'); 69 70 $cache = WCF::getCache()->get('buddyloo.friendships'); 71 return isset($cache[$userID]) && in_array(WCF::getUser()->userID, $cache[$userID]); 72 } 73 43 74 /** 44 75 * demo 45 76 */ 46 p ublicfunction fetchColumns() {77 protected function fetchColumns() { 47 78 $sql = 'SELECT ( 48 79 SELECT COUNT(*) … … 98 129 } 99 130 } 100 101 /**102 *103 */104 public function getPermission() {105 return WCF::getUser()->userID == $this->userID || $this->userID === null;106 }107 131 } 108 132 ?> -
buddyloo/fr.xml
r365 r389 60 60 Lâéquipe {PAGE_TITLE}]]></item> 61 61 <item name="wcf.buddyloo.invitation.register_invitation"><![CDATA[De nouvelles inscriptions ne sont possible seulement aprÚs avoir été invité par un de nos membres. Câest la raison pour laquelle vous devez utiliser cette e-mail pour votre inscription.]]></item> 62 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item>63 62 64 63 <!-- gadgets //--> … … 75 74 76 75 <!-- social pages //--> 76 <item name="wcf.buddyloo.social.title"><![CDATA[Buddyloo]]></item> 77 77 <item name="wcf.buddyloo.social.column.add"><![CDATA[Ajout de colonnes]]></item> 78 78 <item name="wcf.buddyloo.social.page.add"><![CDATA[Ajout de pages]]></item> 79 79 <item name="wcf.buddyloo.social.page.rename"><![CDATA[Veuillez entrer le nouveau nom de la page sociale]]></item> 80 80 <item name="wcf.buddyloo.social.page.delete"><![CDATA[Ãtes-vous sûr de vouloir supprimer cette page sociale ?]]></item> 81 82 <item name="wcf.buddyloo.social.page.access.0"><![CDATA[TODO]]></item> 83 <item name="wcf.buddyloo.social.page.access.1"><![CDATA[TODO]]></item> 84 <item name="wcf.buddyloo.social.page.access.2"><![CDATA[TODO]]></item> 81 85 </category> 82 86 <category name="wcf.user.whitelist"> -
buddyloo/install.sql
r376 r389 19 19 socialID int(10) unsigned NOT NULL auto_increment, 20 20 socialTitle varchar(80) NOT NULL, 21 socialAccess tinyint(1) NOT NULL DEFAULT 0, 21 22 PRIMARY KEY (socialID) 22 23 ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -
buddyloo/templates/buddylooSocial.tpl
r375 r389 13 13 var userID = {$user->userID}; 14 14 var language = new Array(); 15 var locked = {$social->socialAccess}; 16 language['wcf.buddyloo.social.page.access.0'] = '{lang}wcf.buddyloo.social.page.access.0{/lang}'; 17 language['wcf.buddyloo.social.page.access.1'] = '{lang}wcf.buddyloo.social.page.access.1{/lang}'; 18 language['wcf.buddyloo.social.page.access.2'] = '{lang}wcf.buddyloo.social.page.access.2{/lang}'; 15 19 language['wcf.buddyloo.social.page.rename'] = '{lang}wcf.buddyloo.social.page.rename{/lang}'; 16 20 language['wcf.buddyloo.social.page.delete'] = '{lang}wcf.buddyloo.social.page.delete{/lang}'; 21 language['wcf.buddyloo.social.page.delete.success'] = '{lang}wcf.buddyloo.social.page.delete.success{/lang}'; 17 22 language['wcf.global.button.submit'] = '{lang}wcf.global.button.submit{/lang}'; 18 23 //]]> … … 42 47 <p class="warning">{lang}wcf.user.profile.protectedProfile{/lang}</p> 43 48 {/if} 44 <p class="info" id="socialInfo" style="display:none"></p> 45 <p class="error" id="socialError" style="display:none"></p> 46 <p class="warning" id="socialWarning" style="display:none"></p> 49 <div class="info" style="display:none"><a class="close" onclick="this.parentNode.style.display='none'"> 50 <img alt="" src="{@RELATIVE_WCF_DIR}icon/pmCancelS.png"/></a> 51 <p id="socialInfo"></p> 52 </div> 53 <div class="error" id="socialError" style="display:none"></div> 54 <div class="warning" id="socialWarning" style="display:none"></div> 55 {if $social->getPermission()} 47 56 <div style="float:right;"> 48 <a href="#" onclick="return buddylooEditSocial('{$socialTitle}')"><img src="wcf/icon/editS.png"/></a> 49 <a href="#" onclick="return buddylooDeleteSocial()"><img src="wcf/icon/deleteS.png"/></a> 57 <a href="#" onclick="this.blur();return buddylooLockSocial(this.firstChild)"><img src="{@RELATIVE_WCF_DIR}icon/passwordS.png" alt="" id="socialLock"/></a> 58 <a href="#" onclick="this.blur();return buddylooEditSocial('{$socialTitle}')"><img src="{@RELATIVE_WCF_DIR}icon/editS.png" alt=""/></a> 59 <a href="#" onclick="this.blur();return buddylooDeleteSocial()"><img src="{@RELATIVE_WCF_DIR}icon/deleteS.png" alt=""/></a> 50 60 </div> 61 {/if} 51 62 {/capture} 52 63 … … 66 77 {/if} 67 78 <div class="containerIcon"><img alt="" src="{@$box.img}"/></div> 68 <h3 class="containerContent">{ @$box.title}</h3>79 <h3 class="containerContent">{lang}{@$box.title}{/lang}</h3> 69 80 </div> 70 81 <div class="containerHead containerConfig"></div> -
buddyloo/update.sql
r376 r389 4 4 socialID int(10) unsigned NOT NULL auto_increment, 5 5 socialTitle varchar(80) NOT NULL, 6 socialAccess tinyint(1) NOT NULL DEFAULT 0, 6 7 PRIMARY KEY (socialID) 7 8 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
