Send to GitHub.
This commit is contained in:
		
							
								
								
									
										6
									
								
								ubercart_order_hide.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ubercart_order_hide.info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					name = Ubercart Order Hide
 | 
				
			||||||
 | 
					description = Hide Ubercart order details from people who shouldn't see them  Custom module installed by MBK.
 | 
				
			||||||
 | 
					package = Other
 | 
				
			||||||
 | 
					core = 7.x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					files[] = ubercart_order_hide.module
 | 
				
			||||||
							
								
								
									
										38
									
								
								ubercart_order_hide.module
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								ubercart_order_hide.module
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					/** Custom module from https://www.drupal.org/node/1851116#comment-6994474
 | 
				
			||||||
 | 
					* Denies all roles but admin from viewing Ubercart order pages.
 | 
				
			||||||
 | 
					* Using this because Path Access doesn't work.  https://www.drupal.org/node/1851116
 | 
				
			||||||
 | 
					*
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Implements hook_init().
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * This is a method to limit access to certain paths based on role.
 | 
				
			||||||
 | 
					 * http://drupal.org/node/1851116#comment-6779762
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					function ubercart_order_hide_init() {
 | 
				
			||||||
 | 
					  // This array will be keyed by path and contain an array of allowed roles for that path
 | 
				
			||||||
 | 
					  $restrictions = array(
 | 
				
			||||||
 | 
					    'admin/store/orders/*' => array('administrator', 'editor'),
 | 
				
			||||||
 | 
					  );
 | 
				
			||||||
 | 
					  $path_alias = drupal_get_path_alias($_GET['q']);
 | 
				
			||||||
 | 
					  global $user;
 | 
				
			||||||
 | 
					  foreach ($restrictions as $path => $roles) {
 | 
				
			||||||
 | 
					    // See if the current path matches any of the patterns provided.
 | 
				
			||||||
 | 
					    if (drupal_match_path($path_alias, $path)) {
 | 
				
			||||||
 | 
					      // It matches, check the current user has any of the required roles
 | 
				
			||||||
 | 
					      $valid = FALSE;
 | 
				
			||||||
 | 
					      foreach ($roles as $role) {
 | 
				
			||||||
 | 
					        if (in_array($role, $user->roles)) {
 | 
				
			||||||
 | 
					          $valid = TRUE;
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if (!$valid) {
 | 
				
			||||||
 | 
					        drupal_goto('access-denied'); // Or whatever the URL is for your site's access denied/403 page.
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					?>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user