Index: typo3/mod/tools/em/class.em_index.php =================================================================== --- typo3/mod/tools/em/class.em_index.php (revision 3975) +++ typo3/mod/tools/em/class.em_index.php (working copy) @@ -249,6 +249,7 @@ 'experimental' => 'Experimental', 'test' => 'Test', 'obsolete' => 'Obsolete', + 'write_protected' => 'Writeprotected' ); /** @@ -261,6 +262,7 @@ 'experimental' => '#007eba', 'test' => '#979797', 'obsolete' => '#000000', + 'write_protected' => '#cf7307' ); /** @@ -896,9 +898,14 @@ if ($inst_list[$extKey]['type']!='S' && (!isset($inst_list[$extKey]) || $this->versionDifference($version,$inst_list[$extKey]['EM_CONF']['version'],$this->versionDiffFactor))) { if (isset($inst_list[$extKey])) { // update - $loc= ($inst_list[$extKey]['type']=='G'?'G':'L'); - $aUrl = 'index.php?CMD[importExt]='.$extKey.'&CMD[extVersion]='.$version.'&CMD[loc]='.$loc; - $loadUnloadLink.= ''; + if ($inst_list[$extKey]['EM_CONF']['state'] != 'write_protected') { + $loc= ($inst_list[$extKey]['type']=='G'?'G':'L'); + $aUrl = 'index.php?CMD[importExt]='.$extKey.'&CMD[extVersion]='.$version.'&CMD[loc]='.$loc; + $loadUnloadLink.= ''; + } else { + // extension is marked as write protected + $loadUnloadLink.= 'WP'; + } } else { // import $aUrl = 'index.php?CMD[importExt]='.$extKey.'&CMD[extVersion]='.$version.'&CMD[loc]=L'; @@ -927,13 +934,13 @@ $content.= '
'. @@ -5312,7 +5319,7 @@ ' | '.$LANG->sL('LLL:EXT:lang/locallang_mod_tools_em.xml:tab_mod_comment').' | '. '||||
'.$icon.' | '. -''.$data[EM_CONF][title].' | '. +'' . ($data['EM_CONF']['state'] == 'write_protected' ? '' . $data['EM_CONF']['title'] . ' (write-protected)' : ''.$data[EM_CONF][title].'') . ' | '. ''.$name.' | '. ''.$data[EM_CONF][version].' | '. ''.$lastversion.' | '.