diff options
| author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-04-15 19:01:51 +0000 | 
|---|---|---|
| committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-04-15 19:01:51 +0000 | 
| commit | eb3f65345410313a6b87149fdea504d0a66e53af (patch) | |
| tree | f2013a420db7d201634a6fea0d18761c1d5e3eb4 | |
| parent | c852d9e9e0fd64d70dcaace105f2bf7e7d3c1b95 (diff) | |
| download | elgg-eb3f65345410313a6b87149fdea504d0a66e53af.tar.gz elgg-eb3f65345410313a6b87149fdea504d0a66e53af.tar.bz2 | |
Added ability for ECML keyword definitions to restrict themselves to specific views.
git-svn-id: http://code.elgg.org/elgg/trunk@5750 36083f99-b078-4883-b0ff-0f9b5a30f544
| -rw-r--r-- | mod/ecml/ecml_functions.php | 6 | ||||
| -rw-r--r-- | mod/ecml/views/default/ecml/admin/ecml_admin.php | 14 | 
2 files changed, 16 insertions, 4 deletions
| diff --git a/mod/ecml/ecml_functions.php b/mod/ecml/ecml_functions.php index 58395aa7b..7a30cde16 100644 --- a/mod/ecml/ecml_functions.php +++ b/mod/ecml/ecml_functions.php @@ -203,6 +203,12 @@ function ecml_is_valid_keyword($keyword, $view = NULL) {  		return FALSE;  	} +	// this keyword is restricted to certain views +	if (isset($CONFIG->ecml_keywords[$keyword]['restricted']) +	&& !in_array($view, $CONFIG->ecml_keywords[$keyword]['restricted'])) { +		return FALSE; +	} +  	$views = $CONFIG->ecml_permissions;  	// this is a blacklist, so return TRUE by default. diff --git a/mod/ecml/views/default/ecml/admin/ecml_admin.php b/mod/ecml/views/default/ecml/admin/ecml_admin.php index bb2cd7f05..2a5663327 100644 --- a/mod/ecml/views/default/ecml/admin/ecml_admin.php +++ b/mod/ecml/views/default/ecml/admin/ecml_admin.php @@ -40,11 +40,17 @@ foreach ($views as $view => $desc) {  		<td class=\"ecml_view_desc\">$desc</td>  ";  	foreach ($keywords as $keyword => $info) { -		$checked = (in_array($keyword, $perms[$view])) ? 'checked="checked"' : ''; +		// if this is restricted and we're not on the specified view don't allow changes +		// since we don't save this, no need to pass a name +		if (isset($info['restricted']) && !in_array($view, $info['restricted'])) { +			$form_body .= "<td><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\"/></td>"; +		} else { +			$checked = (in_array($keyword, $perms[$view])) ? 'checked="checked"' : ''; -		// ooook. input/checkboxes isn't overly useful. -		// do it ourself. -		$form_body .= "<td><input type=\"checkbox\" name=\"perms[$view][]\" value=\"$keyword\" $checked /></td>"; +			// ooook. input/checkboxes isn't overly useful. +			// do it ourself. +			$form_body .= "<td><input type=\"checkbox\" name=\"perms[$view][]\" value=\"$keyword\" $checked /></td>"; +		}  	}  	$form_body .= '</tr>'; | 
