comparison owners/ad_owners.module @ 2:e5584a19768b ad

maj module ad
author sly
date Wed, 15 Apr 2009 07:58:32 +0000
parents 948362c2a207
children
comparison
equal deleted inserted replaced
1:948362c2a207 2:e5584a19768b
1 <?php 1 <?php
2 // $Id: ad_owners.module,v 1.1.2.8.2.6 2009/03/31 04:41:03 jeremy Exp $ 2 // $Id: ad_owners.module,v 1.1.2.8.2.8 2009/03/31 21:01:31 jeremy Exp $
3 3
4 /** 4 /**
5 * @file 5 * @file
6 * Enhances the ad module to support ad owners. 6 * Enhances the ad module to support ad owners.
7 * 7 *
558 * Determine whether the user has a given privilege. 558 * Determine whether the user has a given privilege.
559 */ 559 */
560 function ad_owners_permission($aid, $string, $account) { 560 function ad_owners_permission($aid, $string, $account) {
561 static $permissions = array(); 561 static $permissions = array();
562 562
563 if (!isset($permissions[$aid][$account->uid])) { 563 if (!isset($permissions[$aid]) || !isset($permissions[$aid][$account->uid])) {
564 $oid = db_result(db_query("SELECT oid FROM {ad_owners} WHERE aid = %d and uid = %d", $aid, $account->uid)); 564 $oid = db_result(db_query("SELECT oid FROM {ad_owners} WHERE aid = %d and uid = %d", $aid, $account->uid));
565 if ($oid) { 565 if ($oid) {
566 $permissions[$aid][$account->uid] = explode('|,|', db_result(db_query("SELECT permissions FROM {ad_permissions} WHERE oid = %d", $oid))); 566 $permissions[$aid][$account->uid] = explode('|,|', db_result(db_query("SELECT permissions FROM {ad_permissions} WHERE oid = %d", $oid)));
567 } 567 }
568 else { 568 else {
569 $account = user_load($account->uid); 569 $account = user_load($account->uid);
570 if (user_access('grant default per ad type permissions')) { 570 if (user_access('grant default per ad type permissions')) {
571 $perms = ad_owners_default_permissions(); 571 $perms = ad_owners_default_permissions();
572 $permissions[$aid][$account->uid] = $perms['default']; 572 $permissions[$aid][$account->uid] = $perms['default'];
573 } 573 }
574 else {
575 $permissions[$aid][$account->uid] = array();
576 }
574 } 577 }
575 } 578 }
576 579
577 return (in_array("$string", $permissions[$aid][$account->uid])); 580 return (in_array("$string", $permissions[$aid][$account->uid]));
578 } 581 }