First post

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@50105 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Geoff Munn 2008-02-25 01:06:39 +00:00
parent f640e12242
commit 4475726ad6
81 changed files with 810 additions and 1931 deletions

View File

@ -1,12 +1,11 @@
<?php <?php
/** /**
* URL rules for the CMS module * URL rules for the CMS module
* @package cms
*/ */
Director::addRules(50, array( Director::addRules(50, array(
'processes/$Action/$ID/$Batch' => 'BatchProcess_Controller', 'processes/$Action/$ID/$Batch' => 'BatchProcess_Controller',
'silverstripe' => '->admin', 'silverstripe/' => '->admin/',
'cms' => '->admin', 'cms/' => '->admin/',
'admin/statistics/$Action/$ID' => 'StatisticsAdmin', 'admin/statistics/$Action/$ID' => 'StatisticsAdmin',
'admin/security/$Action/$ID/$OtherID' => 'SecurityAdmin', 'admin/security/$Action/$ID/$OtherID' => 'SecurityAdmin',
'admin/help/$Action/$ID' => 'CMSHelp', 'admin/help/$Action/$ID' => 'CMSHelp',
@ -18,7 +17,8 @@ Director::addRules(50, array(
'admin/bulkload/$Action/$ID/$OtherID' => 'BulkLoaderAdmin', 'admin/bulkload/$Action/$ID/$OtherID' => 'BulkLoaderAdmin',
'admin/ImageEditor/$Action' => 'ImageEditor', 'admin/ImageEditor/$Action' => 'ImageEditor',
'admin/$Action/$ID/$OtherID' => 'CMSMain', 'admin/$Action/$ID/$OtherID' => 'CMSMain',
'unsubscribe/$Email/$MailingList' => 'Unsubscribe_Controller' 'unsubscribe/$Email/$MailingList' => 'Unsubscribe_Controller',
'membercontrolpanel/$Email' => 'MemberControlPanel'
)); ));
?> ?>

View File

@ -1,34 +1,12 @@
<?php <?php
/**
* @package cms
* @subpackage assets
*/
/** /**
* AssetAdmin is the 'file store' section of the CMS. * AssetAdmin is the 'file store' section of the CMS.
* It provides an interface for maniupating the File and Folder objects in the system. * It provides an interface for maniupating the File and Folder objects in the system.
* @package cms
* @subpackage assets
*/ */
class AssetAdmin extends LeftAndMain { class AssetAdmin extends LeftAndMain {
static $tree_class = "File"; static $tree_class = "File";
static $allowed_actions = array(
'addfolder',
'deletefolder',
'deletemarked',
'deleteUnusedThumbnails',
'doUpload',
'getfile',
'getsubtree',
'movemarked',
'removefile',
'save',
'savefile',
'uploadiframe',
);
public function Link($action=null) { public function Link($action=null) {
if(!$action) $action = "index"; if(!$action) $action = "index";
return "admin/assets/$action/" . $this->currentPageID(); return "admin/assets/$action/" . $this->currentPageID();
@ -86,6 +64,15 @@ class AssetAdmin extends LeftAndMain {
Requirements::css("cms/css/AssetAdmin.css"); Requirements::css("cms/css/AssetAdmin.css");
} }
/**
* Display the upload form. Returns an iframe tag that will show admin/assets/uploadiframe.
*/
function getUploadIframe() {
return <<<HTML
<iframe name="AssetAdmin_upload" src="admin/assets/uploadiframe/{$this->urlParams['ID']}" id="AssetAdmin_upload" border="0" style="border-style: none; width: 100%; height: 200px">
</iframe>
HTML;
}
function index() { function index() {
File::sync(); File::sync();
@ -168,7 +155,7 @@ class AssetAdmin extends LeftAndMain {
foreach($processedFiles as $file) { foreach($processedFiles as $file) {
if($file['error'] == UPLOAD_ERR_NO_TMP_DIR) { if($file['error'] == UPLOAD_ERR_NO_TMP_DIR) {
$status = 'bad'; $status = 'bad';
$statusMessage = _t('AssetAdmin.NOTEMP', 'There is no temporary folder for uploads. Please set upload_tmp_dir in php.ini.'); $statusMessage = 'There is no temporary folder for uploads. Please set upload_tmp_dir in php.ini.';
break; break;
} }
@ -217,24 +204,8 @@ class AssetAdmin extends LeftAndMain {
$statusMessage = _t('AssetAdmin.NOTHINGTOUPLOAD','There was nothing to upload'); $statusMessage = _t('AssetAdmin.NOTHINGTOUPLOAD','There was nothing to upload');
$status = ""; $status = "";
} }
$fileIDs = array();
$fileNames = array();
foreach($newFiles as $newFile) {
$fileIDs[] = $newFile;
$fileObj = DataObject::get_one('File', "`File`.ID=$newFile");
$fileNames[] = $fileObj->Name;
}
$sFileIDs = implode(',', $fileIDs);
$sFileNames = implode(',', $fileNames);
echo <<<HTML echo <<<HTML
<script type="text/javascript"> <script type="text/javascript">
/* IDs: $sFileIDs */
/* Names: $sFileNames */
var form = parent.document.getElementById('Form_EditForm'); var form = parent.document.getElementById('Form_EditForm');
form.getPageFromServer(form.elements.ID.value); form.getPageFromServer(form.elements.ID.value);
parent.statusMessage("{$statusMessage}","{$status}"); parent.statusMessage("{$statusMessage}","{$status}");
@ -259,8 +230,62 @@ HTML;
$record = singleton("Folder"); $record = singleton("Folder");
} }
$fileList = new AssetTableField(
$this,
"Files",
"File",
array("Title" => _t('AssetAdmin.TITLE', "Title"), "LinkedURL" => _t('AssetAdmin.FILENAME', "Filename")),
""
);
$fileList->setFolder($record);
$fileList->setPopupCaption(_t('AssetAdmin.VIEWEDITASSET', "View/Edit Asset"));
if($record) { if($record) {
$fields = $record->getCMSFields(); $nameField = ($id != "root") ? new TextField("Name", "Folder Name") : new HiddenField("Name");
if( $record->userCanEdit() ) {
$deleteButton = new InlineFormAction('deletemarked',_t('AssetAdmin.DELSELECTED','Delete selected files'), 'delete');
$deleteButton->includeDefaultJS(false);
} else {
$deleteButton = new HiddenField('deletemarked');
}
$fields = new FieldSet(
new HiddenField("Title"),
new TabSet("Root",
new Tab(_t('AssetAdmin.FILESTAB', "Files"),
$nameField,
$fileList,
$deleteButton,
new HiddenField("FileIDs"),
new HiddenField("DestFolderID")
),
new Tab(_t('AssetAdmin.DETAILSTAB', "Details"),
new ReadonlyField("URL"),
new ReadonlyField("ClassName", _t('AssetAdmin.TYPE','Type')),
new ReadonlyField("Created", _t('AssetAdmin.CREATED','First Uploaded')),
new ReadonlyField("LastEdited", _t('AssetAdmin.LASTEDITED','Last Updated'))
),
new Tab(_t('AssetAdmin.UPLOADTAB', "Upload"),
new LiteralField("UploadIframe",
$this->getUploadIframe()
)
),
new Tab(_t('AssetAdmin.UNUSEDFILESTAB', "Unused files"),
new LiteralField("UnusedAssets",
"<div id=\"UnusedAssets\"><h2>"._t('AssetAdmin.UNUSEDFILESTITLE', 'Unused files')."</h2>"
),
$this->getAssetList(),
new LiteralField("UnusedThumbnails",
"</div>
<div id=\"UnusedThumbnails\">
<h2>"._t('AssetAdmin.UNUSEDTHUMBNAILSTITLE', 'Unused thumbnails')."</h2>
<button class=\"action\">"._t('AssetAdmin.DELETEUNUSEDTHUMBNAILS', 'Delete unused thumbnails')."</button>
</div>"
)
)
),
new HiddenField("ID")
);
$actions = new FieldSet(); $actions = new FieldSet();
@ -343,7 +368,7 @@ HTML;
$brokenPageList = ''; $brokenPageList = '';
if($fileList != "''") { if($fileList != "''") {
$files = DataObject::get("File", "`File`.ID IN ($fileList)"); $files = DataObject::get("File", "ID IN ($fileList)");
if($files) { if($files) {
foreach($files as $file) { foreach($files as $file) {
if($file instanceof Image) { if($file instanceof Image) {
@ -421,7 +446,8 @@ JS;
/** /**
* Return the entire site tree as a nested set of ULs * Return the entire site tree as a nested set of ULs
*/
*/
public function SiteTreeAsUL() { public function SiteTreeAsUL() {
$obj = singleton('Folder'); $obj = singleton('Folder');
$obj->setMarkingFilter("ClassName", "Folder"); $obj->setMarkingFilter("ClassName", "Folder");
@ -435,7 +461,7 @@ JS;
' "<li id=\"record-$child->ID\" class=\"$child->class" . $child->markingClasses() . ($extraArg->isCurrentPage($child) ? " current" : "") . "\">" . ' . ' "<li id=\"record-$child->ID\" class=\"$child->class" . $child->markingClasses() . ($extraArg->isCurrentPage($child) ? " current" : "") . "\">" . ' .
' "<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" class=\"" . ($child->hasChildren() ? " contents" : "") . "\" >" . $child->TreeTitle() . "</a>" ', ' "<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" class=\"" . ($child->hasChildren() ? " contents" : "") . "\" >" . $child->Title . "</a>" ',
$this, true); $this, true);
@ -465,7 +491,7 @@ JS;
' "<li id=\"record-$child->ID\" class=\"$child->class" . $child->markingClasses() . ($extraArg->isCurrentPage($child) ? " current" : "") . "\">" . ' . ' "<li id=\"record-$child->ID\" class=\"$child->class" . $child->markingClasses() . ($extraArg->isCurrentPage($child) ? " current" : "") . "\">" . ' .
' "<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" >" . $child->TreeTitle() . "</a>" ', ' "<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" >" . $child->Title . "</a>" ',
$this, true); $this, true);
@ -493,7 +519,7 @@ JS;
$p->ParentID = $parent; $p->ParentID = $parent;
$p->Title = _t('AssetAdmin.NEWFOLDER',"NewFolder"); $p->Title = _t('AssetAdmin.NEWFOLDER',"NewFolder");
$p->Name = _t('AssetAdmin.NEWFOLDER', 'NewFolder'); $p->Name = "NewFolder";
// Get the folder to be created // Get the folder to be created
if(isset($parentObj->ID)) $filename = $parentObj->FullPath . $p->Name; if(isset($parentObj->ID)) $filename = $parentObj->FullPath . $p->Name;
@ -619,24 +645,12 @@ if(!$record)
}*/ }*/
/*
$s = (sizeof($ids) > 1) ? "s" :""; $s = (sizeof($ids) > 1) ? "s" :"";
$message = sizeof($ids) . " folder$s deleted."; $message = sizeof($ids) . " folder$s deleted.";
// //
if(isset($brokenPageList)) $message .= " The following pages now have broken links:<ul>" . addslashes($brokenPageList) . "</ul>Their owners have been emailed and they will fix up those pages."; if(isset($brokenPageList)) $message .= " The following pages now have broken links:<ul>" . addslashes($brokenPageList) . "</ul>Their owners have been emailed and they will fix up those pages.";
*/
$size = sizeof($ids);
if($size > 1)
$message = $size.' '._t('AssetAdmin.FOLDERSDELETED', 'folders deleted.');
else
$message = $size.' '._t('AssetAdmin.FOLDERDELETED', 'folder deleted.');
if(isset($brokenPageList))
$message .= ' '._t('AssetAdmin.NOWBROKEN', 'The following pages now have broken links:').'<ul>'.addslashes($brokenPageList).'</ul>'.
_t('AssetAdmin.NOWBROKEN2', 'Their owners have been emailed and they will fix up those pages.');
$script .= "statusMessage('$message');"; $script .= "statusMessage('$message');";
echo $script; echo $script;
} }
@ -693,7 +707,7 @@ JS;
foreach($this->getUnusedThumbnailsArray() as $file) { foreach($this->getUnusedThumbnailsArray() as $file) {
unlink("../assets/" . $file); unlink("../assets/" . $file);
} }
echo "statusMessage('"._t('AssetAdmin.THUMBSDELETED', 'All unused thumbnails have been deleted')."','good')"; echo "statusMessage('All unused thumbnails have been deleted','good')";
} }
/** /**

View File

@ -1,14 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage assets
*/
/**
* A special kind of complex table field for manipulating assets.
* @package cms
* @subpackage assets
*/
class AssetTableField extends ComplexTableField { class AssetTableField extends ComplexTableField {
protected $folder; protected $folder;
@ -70,13 +60,13 @@ class AssetTableField extends ComplexTableField {
} }
$urlLink = "<div class='field readonly'>"; $urlLink = "<div class='field readonly'>";
$urlLink .= "<label class='left'>"._t('AssetTableField.URL','URL')."</label>"; $urlLink .= "<label class='left'>URL</label>";
$urlLink .= "<span class='readonly'><a href='{$childData->Link()}'>{$childData->RelativeLink()}</a></span>"; $urlLink .= "<span class='readonly'><a href='{$childData->Link()}'>{$childData->RelativeLink()}</a></span>";
$urlLink .= "</div>"; $urlLink .= "</div>";
$detailFormFields = new FieldSet( $detailFormFields = new FieldSet(
new TabSet("BottomRoot", new TabSet("BottomRoot",
new Tab(_t('AssetTableField.MAIN', 'Main'), new Tab("Main",
new TextField("Title", _t('AssetTableField.TITLE','Title')), new TextField("Title", _t('AssetTableField.TITLE','Title')),
new TextField("Name", _t('AssetTableField.FILENAME','Filename')), new TextField("Name", _t('AssetTableField.FILENAME','Filename')),
new LiteralField("AbsoluteURL", $urlLink), new LiteralField("AbsoluteURL", $urlLink),
@ -93,16 +83,15 @@ class AssetTableField extends ComplexTableField {
$big = $childData->URL; $big = $childData->URL;
$thumbnail = $childData->getFormattedImage('AssetLibraryPreview')->URL; $thumbnail = $childData->getFormattedImage('AssetLibraryPreview')->URL;
// Hmm this required the translated string to be appended to BottomRoot to add this to the Main tab $detailFormFields->addFieldToTab("BottomRoot.Main",
$detailFormFields->addFieldToTab("BottomRoot."._t('AssetTableField.MAIN','Main'),
new ReadonlyField("Dimensions", _t('AssetTableField.DIM','Dimensions')), new ReadonlyField("Dimensions", _t('AssetTableField.DIM','Dimensions')),
"Created" "Created"
); );
$detailFormFields->addFieldToTab("BottomRoot", $detailFormFields->addFieldToTab("BottomRoot",
new Tab(_t('AssetTableField.IMAGE', 'Image'), new Tab("Image",
new LiteralField("ImageFull", new LiteralField("ImageFull",
'<a id="ImageEditorActivator" href="javascript: void(0)">' . "<img id='thumbnailImage' src='{$thumbnail}?r=" . rand(1,100000) . "' alt='{$childData->Name}' /><p>"._t('AssetTableField.EDITIMAGE', 'Edit this image')."</p>" . '</a>' . '<a id="ImageEditorActivator" href="javascript: void(0)">' . "<img id='thumbnailImage' src='{$thumbnail}?r=" . rand(1,100000) . "' alt='{$childData->Name}' /><p>Edit this image</p>" . '</a>' .
'<script type="text/javascript" src="cms/javascript/ImageEditor/Activator.js"></script><script type="text/javascript">var imageActivator = new ImageEditor.Activator.initialize();Event.observe("ImageEditorActivator","click",imageActivator.onOpen);</script>' '<script type="text/javascript" src="cms/javascript/ImageEditor/Activator.js"></script><script type="text/javascript">var imageActivator = new ImageEditor.Activator.initialize();Event.observe("ImageEditorActivator","click",imageActivator.onOpen);</script>'
) )
), ),
@ -111,8 +100,8 @@ class AssetTableField extends ComplexTableField {
if(class_exists('GalleryFile')) { if(class_exists('GalleryFile')) {
$detailFormFields->addFieldToTab("BottomRoot", $detailFormFields->addFieldToTab("BottomRoot",
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'), new Tab("Gallery Options",
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') ) new TextField( "Content", "Caption" )
) )
); );
} }
@ -120,22 +109,22 @@ class AssetTableField extends ComplexTableField {
else if (class_exists('GalleryFile')) { else if (class_exists('GalleryFile')) {
if( $childData->Extension == 'swf' ) { if( $childData->Extension == 'swf' ) {
$detailFormFields->addFieldToTab("BottomRoot", $detailFormFields->addFieldToTab("BottomRoot",
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'), new Tab("Gallery Options",
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') ), new TextField( "Content", "Caption" ),
new TextField( 'PopupWidth', _t('AssetTableField.POPUPWIDTH', 'Popup Width') ), new TextField( 'PopupWidth', 'Popup Width' ),
new TextField( 'PopupHeight', _t('AssetTableField.POPUPHEIGHT', 'Popup Height') ), new TextField( 'PopupHeight', 'Popup Height' ),
new HeaderField( _t('AssetTableField.SWFFILEOPTIONS', 'SWF File Options') ), new HeaderField( 'SWF File Options' ),
new CheckboxField( 'Embed', _t('AssetTableField.ISFLASH', 'Is A Flash Document') ), new CheckboxField( 'Embed', 'Is A Flash Document' ),
new CheckboxField( 'LimitDimensions', _t('AssetTableField.DIMLIMT', 'Limit The Dimensions In The Popup Window') ) new CheckboxField( 'LimitDimensions', 'Limit The Dimensions In The Popup Window' )
) )
); );
} }
else { else {
$detailFormFields->addFieldToTab("BottomRoot", $detailFormFields->addFieldToTab("BottomRoot",
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'), new Tab("Gallery Options",
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') ), new TextField( "Content", "Caption" ),
new TextField( 'PopupWidth', _t('AssetTableField.POPUPWIDTH', 'Popup Width') ), new TextField( 'PopupWidth', 'Popup Width' ),
new TextField( 'PopupHeight', _t('AssetTableField.POPUPHEIGHT', 'Popup Height') ) new TextField( 'PopupHeight', 'Popup Height' )
) )
); );
} }

View File

@ -1,16 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage bulkloading
*/
/**
* An abstract base for bulk loaders of content into the SilverStripe database.
* Bulk loaders give SilverStripe authors the ability to do large-scale CSV uploads into their Sapphire databases.
* @package cms
* @subpackage bulkloading
*/
abstract class BulkLoader extends ViewableData { abstract class BulkLoader extends ViewableData {
/** /**
* Override this on subclasses to give the specific functions names * Override this on subclasses to give the specific functions names

View File

@ -1,18 +1,11 @@
<?php <?php
/**
* @package cms
* @subpackage bulkloading
*/
/** /**
* Class to provide batch-update facilities to CMS users. * Class to provide batch-update facilities to CMS users.
* The BulkLoaderAdmin class provides an interface for accessing all of the subclasses of BulkLoader, * The BulkLoaderAdmin class provides an interface for accessing all of the subclasses of BulkLoader,
* each of which defines a particular bulk loading operation. * each of which defines a particular bulk loading operation.
* *
* @package cms * This code was originally developed for Per Week in collaboration with Brian Calhoun.
* @subpackage bulkloading
* @deprecated This class has never been used in production; if we're going to continue to support it we should increase its usefulness.
*/ */
class BulkLoaderAdmin extends LeftAndMain { class BulkLoaderAdmin extends LeftAndMain {

View File

@ -1,15 +1,8 @@
<?php <?php
/**
* @package cms
* @subpackage core
*/
/** /**
* A special kind of form used to make the action dialogs that appear just underneath the top-right * A special kind of form used to make the action dialogs that appear just underneath the top-right
* buttons in the CMS * buttons in the CMS
* @package cms
* @subpackage core
*/ */
class CMSActionOptionsForm extends Form { class CMSActionOptionsForm extends Form {
function FormAttributes() { function FormAttributes() {

8
code/CMSHelp.php Executable file
View File

@ -0,0 +1,8 @@
<?php
class CMSHelp extends Controller {
}
?>

View File

@ -1,15 +1,8 @@
<?php <?php
/**
* @package cms
* @subpackage content
*/
/** /**
* The main "content" area of the CMS. * The main "content" area of the CMS.
* This class creates a 2-frame layout - left-tree and right-form - to sit beneath the main * This class creates a 2-frame layout - left-tree and right-form - to sit beneath the main
* admin menu. * admin menu.
* @package cms
* @subpackage content
* @todo Create some base classes to contain the generic functionality that will be replicated. * @todo Create some base classes to contain the generic functionality that will be replicated.
*/ */
class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionProvider { class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionProvider {
@ -18,36 +11,6 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
static $subitem_class = "Member"; static $subitem_class = "Member";
static $allowed_actions = array(
'addmember',
'addpage',
'buildbrokenlinks',
'canceldraftchangesdialog',
'compareversions',
'createtranslation',
'delete',
'deletefromlive',
'deleteitems',
'dialog',
'duplicate',
'duplicatewithchildren',
'getpagecount',
'getpagemembers',
'getversion',
'publishall',
'publishitems',
'restorepage',
'revert',
'rollback',
'sidereport',
'submit',
'switchlanguage',
'tasklist',
'unpublish',
'versions',
'waitingon',
);
/** /**
* SiteTree Columns that can be filtered using the the Site Tree Search button * SiteTree Columns that can be filtered using the the Site Tree Search button
*/ */
@ -272,7 +235,7 @@ JS;
$classes = ClassInfo::getValidSubClasses(); $classes = ClassInfo::getValidSubClasses();
array_shift($classes); array_shift($classes);
$result = new DataObjectSet(); $result = new DataObjectSet();
$kill_ancestors = array(); $kill_ancestors[] = null;
// figure out if there are any classes we don't want to appear // figure out if there are any classes we don't want to appear
foreach($classes as $class) { foreach($classes as $class) {
@ -289,8 +252,7 @@ JS;
if ($kill_ancestors) { if ($kill_ancestors) {
foreach ($kill_ancestors as $mark) { foreach ($kill_ancestors as $mark) {
// unset from $classes // unset from $classes
$idx = array_search($mark, $classes); unset($classes[$mark]);
unset($classes[$idx]);
} }
} }
@ -303,26 +265,20 @@ JS;
// skip this type if it is restricted // skip this type if it is restricted
if($instance->stat('need_permission') && !$this->can( singleton($class)->stat('need_permission') ) ) continue; if($instance->stat('need_permission') && !$this->can( singleton($class)->stat('need_permission') ) ) continue;
/*
* Since i18n_singular_name() this is not necessary
$addAction = $instance->uninherited('add_action', true); $addAction = $instance->uninherited('add_action', true);
if($addAction) { if($addAction) {
// backwards compatibility for actions like "a page" (instead of "page") // backwards compatibility for actions like "a page" (instead of "page")
$addAction = preg_replace('/^a /','',$addAction); $addAction = preg_replace('/^a /','',$addAction);
$addAction = ucfirst($addAction); $addAction = ucfirst($addAction);
} else { } else {
$addAction = $instance->i18n_singular_name(); $addAction = $class;
} }
*/
$addAction = $instance->i18n_singular_name();
$result->push(new ArrayData(array( $result->push(new ArrayData(array(
"ClassName" => $class, "ClassName" => $class,
"AddAction" => $addAction, "AddAction" => $addAction,
))); )));
} }
$result->sort('AddAction');
return $result; return $result;
} }
@ -471,9 +427,7 @@ JS;
$newItem->ClassName = $className; $newItem->ClassName = $className;
$newItem->ParentID = $parentID; $newItem->ParentID = $parentID;
// DataObject::fieldExists only checks the current class, not the hierarchy if($newItem->fieldExists('Sort')) {
// This allows the CMS to set the correct sort value
if($newItem->castingHelperPair('Sort')) {
$newItem->Sort = DB::query("SELECT MAX(Sort) FROM SiteTree WHERE ParentID = '" . Convert::raw2sql($parentID) . "'")->value() + 1; $newItem->Sort = DB::query("SELECT MAX(Sort) FROM SiteTree WHERE ParentID = '" . Convert::raw2sql($parentID) . "'")->value() + 1;
} }
@ -482,9 +436,6 @@ JS;
if($setID) $newItem->ID = $id; if($setID) $newItem->ID = $id;
# Some modules like subsites add extra fields that need to be set when the new item is created
$this->extend('augmentNewSiteTreeItem', $newItem);
return $newItem; return $newItem;
} }
@ -519,13 +470,13 @@ JS;
if(isset($descendantsRemoved)) { if(isset($descendantsRemoved)) {
$descRemoved = " and $descendantsRemoved descendants"; $descRemoved = " and $descendantsRemoved descendants";
$descRemoved = sprintf(' '._t('CMSMain.DESCREMOVED', 'and %s descendants'), $descendantsRemoved);
} else { } else {
$descRemoved = ''; $descRemoved = '';
} }
$title = Convert::raw2js($record->Title);
FormResponse::add($this->deleteTreeNodeJS($record)); FormResponse::add($this->deleteTreeNodeJS($record));
FormResponse::status_message(sprintf(_t('CMSMain.REMOVED', 'Deleted \'%s\'%s from live site'), $record->Title, $descRemoved), 'good'); FormResponse::status_message("Deleted '$title'$descRemoved from live site", 'good');
return FormResponse::respond(); return FormResponse::respond();
} }
@ -717,7 +668,7 @@ HTML;
foreach($reports as $report) { foreach($reports as $report) {
if($report != 'SideReport') $options[$report] = singleton($report)->title(); if($report != 'SideReport') $options[$report] = singleton($report)->title();
} }
return new DropdownField("ReportSelector", _t('CMSMain.REPORT', 'Report'),$options); return new DropdownField("ReportSelector","Report",$options);
} }
/** /**
* Get the content for a side report * Get the content for a side report
@ -883,7 +834,7 @@ HTML;
$form->loadDataFrom($record); $form->loadDataFrom($record);
$form->loadDataFrom(array( $form->loadDataFrom(array(
"ID" => $id, "ID" => $id,
"Version" => $fromVersion, "Version" => $version,
)); ));
$form->makeReadonly(); $form->makeReadonly();
foreach($form->Fields()->dataFields() as $field) { foreach($form->Fields()->dataFields() as $field) {
@ -1172,23 +1123,14 @@ HTML;
ini_set('max_execution_time', 300); ini_set('max_execution_time', 300);
if(isset($_POST['confirm'])) { if(isset($_POST['confirm'])) {
$start = 0; $pages = DataObject::get("SiteTree");
$pages = DataObject::get("SiteTree", "", "", "", "$start,30");
$count = 0; $count = 0;
while(true) {
foreach($pages as $page) { foreach($pages as $page) {
$this->performPublish($page); $this->performPublish($page);
$page->destroy(); $page->destroy();
unset($page); unset($page);
$count++; $count++;
echo "<li>$count</li>"; echo "<li>$count";
}
if($pages->Count() > 29) {
$start += 30;
$pages = DataObject::get("SiteTree", "", "", "", "$start,30");
} else {
break;
}
} }
echo sprintf(_t('CMSMain.PUBPAGES',"Done: Published %d pages"), $count); echo sprintf(_t('CMSMain.PUBPAGES',"Done: Published %d pages"), $count);
@ -1226,24 +1168,6 @@ HTML;
$newPage = $page->duplicate(); $newPage = $page->duplicate();
// ParentID can be hard-set in the URL. This is useful for pages with multiple parents
if($_GET['parentID'] && is_numeric($_GET['parentID'])) {
$newPage->ParentID = $_GET['parentID'];
$newPage->write();
}
return $this->returnItemToUser($newPage);
} else {
user_error("CMSMain::duplicate() Bad ID: '$id'", E_USER_WARNING);
}
}
function duplicatewithchildren() {
if(($id = $this->urlParams['ID']) && is_numeric($id)) {
$page = DataObject::get_by_id("SiteTree", $id);
$newPage = $page->duplicateWithChildren();
return $this->returnItemToUser($newPage); return $this->returnItemToUser($newPage);
} else { } else {
user_error("CMSMain::duplicate() Bad ID: '$id'", E_USER_WARNING); user_error("CMSMain::duplicate() Bad ID: '$id'", E_USER_WARNING);
@ -1354,6 +1278,29 @@ JS
return $this->returnItemToUser($newrecord); return $this->returnItemToUser($newrecord);
} }
// HACK HACK HACK - Dont remove without telling simon ;-)
/**
* This is only used by parents inc.
* TODO Work out a better way of handling control to the individual page objects.
*/
function sethottip($data,$form) {
$page = DataObject::get_by_id("SiteTree", $_REQUEST['ID']);
return $page->sethottip($data,$form);
}
/**
* This is only used by parents inc.
* TODO Work out a better way of handling control to the individual page objects.
*/
function notifyInvitation($data,$form) {
$page = DataObject::get_by_id("SiteTree", $_REQUEST['ID']);
return $page->notifyInvitation($data,$form);
}
function testInvitation($data,$form) {
$page = DataObject::get_by_id("SiteTree", $_REQUEST['ID']);
return $page->testInvitation($data,$form);
}
/** /**
* Provide the permission codes used by LeftAndMain. * Provide the permission codes used by LeftAndMain.
* Can't put it on LeftAndMain since that's an abstract base class. * Can't put it on LeftAndMain since that's an abstract base class.
@ -1362,7 +1309,7 @@ JS
$classes = ClassInfo::subclassesFor('LeftAndMain'); $classes = ClassInfo::subclassesFor('LeftAndMain');
foreach($classes as $class) { foreach($classes as $class) {
$perms["CMS_ACCESS_" . $class] = sprintf(_t('CMSMain.ACCESS', "Access to %s in CMS"), $class); $perms["CMS_ACCESS_" . $class] = "Access to $class in CMS";
} }
return $perms; return $perms;
} }

View File

@ -1,30 +1,12 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/**
* Comment administration system within the CMS
* @package cms
* @subpackage comments
*/
class CommentAdmin extends LeftAndMain { class CommentAdmin extends LeftAndMain {
static $allowed_actions = array(
'approvedmarked',
'deleteall',
'deletemarked',
'hammarked',
'showtable',
'spammarked',
);
public function init() { public function init() {
parent::init(); parent::init();
Requirements::javascript('cms/javascript/CommentAdmin_right.js'); Requirements::javascript("cms/javascript/CommentAdmin_right.js");
Requirements::css('cms/css/CommentAdmin.css'); Requirements::css("cms/css/CommentAdmin.css");
} }
public function Link($action = null) { public function Link($action = null) {
@ -54,27 +36,27 @@ class CommentAdmin extends LeftAndMain {
if($section == 'approved') { if($section == 'approved') {
$filter = 'IsSpam=0 AND NeedsModeration=0'; $filter = 'IsSpam=0 AND NeedsModeration=0';
$title = "<h2>". _t('CommentAdmin.APPROVEDCOMMENTS', 'Approved Comments')."</h2>"; $title = "<h2>Approved Comments</h2>";
} else if($section == 'unmoderated') { } else if($section == 'unmoderated') {
$filter = 'NeedsModeration=1'; $filter = 'NeedsModeration=1';
$title = "<h2>"._t('CommentAdmin.COMMENTSAWAITINGMODERATION', 'Comments Awaiting Moderation')."</h2>"; $title = "<h2>Comments Awaiting Moderation</h2>";
} else { } else {
$filter = 'IsSpam=1'; $filter = 'IsSpam=1';
$title = "<h2>"._t('CommentAdmin.SPAM', 'Spam')."</h2>"; $title = "<h2>Spam</h2>";
} }
$filter .= ' AND ParentID>0'; $filter .= ' AND ParentID>0';
$tableFields = array( $tableFields = array(
"Name" => _t('CommentAdmin.AUTHOR', 'Author'), "Name" => "Author",
"Comment" => _t('CommentAdmin.COMMENT', 'Comment'), "Comment" => "Comment",
"PageTitle" => _t('CommentAdmin.PAGE', 'Page'), "PageTitle" => "Page",
"Created" => _t('CommentAdmin.DATEPOSTED', 'Date Posted') "Created" => "Date Posted"
); );
$popupFields = new FieldSet( $popupFields = new FieldSet(
new TextField('Name', _t('CommentAdmin.NAME', 'Name')), new TextField("Name"),
new TextareaField('Comment', _t('CommentAdmin.COMMENT', 'Comment')) new TextareaField("Comment", "Comment")
); );
$idField = new HiddenField('ID', '', $section); $idField = new HiddenField('ID', '', $section);
@ -83,7 +65,7 @@ class CommentAdmin extends LeftAndMain {
$fields = new FieldSet( $fields = new FieldSet(
new TabSet( 'Root', new TabSet( 'Root',
new Tab(_t('CommentAdmin.COMMENTS', 'Comments'), new Tab('Comments',
new LiteralField("Title", $title), new LiteralField("Title", $title),
$idField, $idField,
$table $table
@ -94,21 +76,21 @@ class CommentAdmin extends LeftAndMain {
$actions = new FieldSet(); $actions = new FieldSet();
if($section == 'unmoderated') { if($section == 'unmoderated') {
$actions->push(new FormAction('acceptmarked', _t('CommentAdmin.ACCEPT', 'Accept'))); $actions->push(new FormAction('acceptmarked', 'Accept'));
} }
if($section == 'approved' || $section == 'unmoderated') { if($section == 'approved' || $section == 'unmoderated') {
$actions->push(new FormAction('spammarked', _t('CommentAdmin.SPAMMARKED', 'Mark as spam'))); $actions->push(new FormAction('spammarked', 'Mark as spam'));
} }
if($section == 'spam') { if($section == 'spam') {
$actions->push(new FormAction('hammarked', _t('CommentAdmin.MARKASNOTSPAM', 'Mark as not spam'))); $actions->push(new FormAction('hammarked', 'Mark as not spam'));
} }
$actions->push(new FormAction('deletemarked', _t('CommentAdmin.DELETE', 'Delete'))); $actions->push(new FormAction('deletemarked', 'Delete'));
if($section == 'spam') { if($section == 'spam') {
$actions->push(new FormAction('deleteall', _t('CommentAdmin.DELETEALL', 'Delete All'))); $actions->push(new FormAction('deleteall', 'Delete All'));
} }
$form = new Form($this, "EditForm", $fields, $actions); $form = new Form($this, "EditForm", $fields, $actions);
@ -142,7 +124,7 @@ JS;
function deleteall() { function deleteall() {
$numComments = 0; $numComments = 0;
$spam = DataObject::get('PageComment', 'PageComment.IsSpam=1'); $spam = DataObject::get('PageComment', "PageComment.IsSpam=1");
if($spam) { if($spam) {
$numComments = $spam->Count(); $numComments = $spam->Count();
@ -152,10 +134,9 @@ JS;
} }
} }
$msg = sprintf(_t('CommentAdmin.DELETED', 'Deleted %s comments.'), $numComments);
echo <<<JS echo <<<JS
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value); $('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
statusMessage("$msg"); statusMessage("Deleted $numComments comments.");
JS; JS;
} }
@ -191,11 +172,10 @@ JS;
user_error("No comments in $commentList could be found!", E_USER_ERROR); user_error("No comments in $commentList could be found!", E_USER_ERROR);
} }
$msg = sprintf(_t('CommentAdmin.MARKEDSPAM', 'Marked %s comments as spam.'), $numComments);
echo <<<JS echo <<<JS
$deleteList $deleteList
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value); $('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
statusMessage("$msg"); statusMessage("Marked $numComments comments as spam.");
JS; JS;
} }
@ -231,11 +211,10 @@ JS;
user_error("No comments in $commentList could be found!", E_USER_ERROR); user_error("No comments in $commentList could be found!", E_USER_ERROR);
} }
$msg = sprintf(_t('CommentAdmin.MARKEDNOTSPAM', 'Marked %s comments as not spam.'), $numComments);
echo <<<JS echo <<<JS
$deleteList $deleteList
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value); $('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
statusMessage("$msg"); statusMessage("Marked $numComments comments as not spam.");
JS; JS;
} }
@ -258,7 +237,6 @@ JS;
user_error("No comments in $commentList could be found!", E_USER_ERROR); user_error("No comments in $commentList could be found!", E_USER_ERROR);
} }
$msg = sprintf(_t('CommentAdmin.APPROVED', 'Accepted %s comments.'), $numComments);
echo <<<JS echo <<<JS
$deleteList $deleteList
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value); $('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/**
* Special kind of ComplexTableField for managing comments.
* @package cms
* @subpackage comments
*/
class CommentTableField extends ComplexTableField { class CommentTableField extends ComplexTableField {
protected $template = "CommentTableField"; protected $template = "CommentTableField";
protected $mode; protected $mode;
@ -143,12 +133,12 @@ class CommentTableField extends ComplexTableField {
function SearchForm() { function SearchForm() {
$searchFields = new FieldGroup( $searchFields = new FieldGroup(
new TextField('CommentSearch', _t('CommentTableField.SEARCH', 'Search')), new TextField('CommentSearch', 'Search'),
new HiddenField("ctf[ID]",'',$this->mode), new HiddenField("ctf[ID]",'',$this->mode),
new HiddenField('CommentFieldName','',$this->name) new HiddenField('CommentFieldName','',$this->name)
); );
$actionFields = new LiteralField('CommentFilterButton','<input type="submit" name="CommentFilterButton" value="'. _t('CommentTableField.FILTER', 'Filter') .'" id="CommentFilterButton"/>'); $actionFields = new LiteralField('CommentFilterButton','<input type="submit" class="action" name="CommentFilterButton" value="Filter" id="CommentFilterButton"/>');
$fieldContainer = new FieldGroup( $fieldContainer = new FieldGroup(
$searchFields, $searchFields,
@ -159,11 +149,7 @@ class CommentTableField extends ComplexTableField {
} }
} }
/**
* Single row of a {@link CommentTableField}
* @package cms
* @subpackage comments
*/
class CommentTableField_Item extends ComplexTableField_Item { class CommentTableField_Item extends ComplexTableField_Item {
function HasSpamButton() { function HasSpamButton() {
return $this->parent()->HasSpamButton(); return $this->parent()->HasSpamButton();

View File

@ -1,11 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage core
* A PHP diff engine
*/
// difflib.php // difflib.php
// //
// A PHP diff engine for phpwiki. // A PHP diff engine for phpwiki.
@ -17,15 +11,8 @@
// FIXME: possibly remove assert()'s for production version? // FIXME: possibly remove assert()'s for production version?
// PHP3 does not have assert() // PHP3 does not have assert()
/**
*/
define('USE_ASSERTS', function_exists('assert')); define('USE_ASSERTS', function_exists('assert'));
/**
* @package cms
* @subpackage core
* @access private
*/
class _DiffOp { class _DiffOp {
var $type; var $type;
var $orig; var $orig;
@ -44,11 +31,6 @@ class _DiffOp {
} }
} }
/**
* @package cms
* @subpackage core
* @access private
*/
class _DiffOp_Copy extends _DiffOp { class _DiffOp_Copy extends _DiffOp {
var $type = 'copy'; var $type = 'copy';
@ -64,11 +46,6 @@ class _DiffOp_Copy extends _DiffOp {
} }
} }
/**
* @package cms
* @subpackage core
* @access private
*/
class _DiffOp_Delete extends _DiffOp { class _DiffOp_Delete extends _DiffOp {
var $type = 'delete'; var $type = 'delete';
@ -82,11 +59,6 @@ class _DiffOp_Delete extends _DiffOp {
} }
} }
/**
* @package cms
* @subpackage core
* @access private
*/
class _DiffOp_Add extends _DiffOp { class _DiffOp_Add extends _DiffOp {
var $type = 'add'; var $type = 'add';
@ -100,11 +72,6 @@ class _DiffOp_Add extends _DiffOp {
} }
} }
/**
* @package cms
* @subpackage core
* @access private
*/
class _DiffOp_Change extends _DiffOp { class _DiffOp_Change extends _DiffOp {
var $type = 'change'; var $type = 'change';
@ -138,8 +105,6 @@ class _DiffOp_Change extends _DiffOp {
* *
* @author Geoffrey T. Dairiki * @author Geoffrey T. Dairiki
* @access private * @access private
* @package cms
* @subpackage core
*/ */
class _DiffEngine class _DiffEngine
{ {
@ -524,8 +489,6 @@ class _DiffEngine
/** /**
* Class representing a 'diff' between two sequences of strings. * Class representing a 'diff' between two sequences of strings.
* @package cms
* @subpackage core
*/ */
class Diff class Diff
{ {
@ -774,9 +737,7 @@ class Diff
/** /**
* Computes diff between sequences of strings. * FIXME: bad name.
* @package cms
* @subpackage core
*/ */
class MappedDiff class MappedDiff
extends Diff extends Diff

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage assets
*/
/**
* A FormField showing a list of files
* @package cms
* @subpackage assets
*/
class FileList extends TableListField { class FileList extends TableListField {
// bdc: added sort by Title as default behaviour // bdc: added sort by Title as default behaviour
protected $folder; protected $folder;

View File

@ -1,26 +1,14 @@
<?php <?php
/**
* @package cms
* @subpackage core
*/
/** /**
* Provides a common interface for searching, viewing and editing DataObjects. * Provides a common interface for searching, viewing and editing DataObjects.
* Extend the class to adjust functionality to your specific DataObjects. * Extend the class to adjust functionality to your specific DataObjects.
* *
* @package cms * @var $data_type DataObject The base class
* @subpackage core * @var $data_type_extra Array Additional DataObjects which are included in the search.
* @var $resultColumnts Array Columnnames shown in the result-table.
*/ */
abstract class GenericDataAdmin extends LeftAndMain { abstract class GenericDataAdmin extends LeftAndMain {
static $allowed_actions = array(
'createRecord',
'delete',
'export',
'getResults',
'save',
'show',
);
public $filter; public $filter;
@ -64,7 +52,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
function __construct() { function __construct() {
$this->result_actions = new FieldSet( $this->result_actions = new FieldSet(
new FormAction('export', _t('GenericDataAdmin.EXPORTCSV', 'Export as CSV')) new FormAction("export","Export as CSV")
); );
parent::__construct(); parent::__construct();
@ -128,10 +116,9 @@ abstract class GenericDataAdmin extends LeftAndMain {
* @return Form * @return Form
*/ */
function CreationForm() { function CreationForm() {
// is this plural name used ?? $plural_name = singleton($this->stat('data_type'))->plural_name();
$plural_name = singleton($this->stat('data_type'))->i18n_plural_name(); $singular_name = singleton($this->stat('data_type'))->singular_name();
$singular_name = singleton($this->stat('data_type'))->i18_nsingular_name(); return new Form($this, 'CreationForm', new FieldSet(), new FieldSet(new FormAction("createRecord", "Create {$singular_name}")));
return new Form($this, 'CreationForm', new FieldSet(), new FieldSet(new FormAction("createRecord", _t('GenericDataAdmin.CREATE', 'Create').' '.$singular_name)));
} }
/** /**
@ -146,14 +133,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
// legacy // legacy
function ExportForm() { function ExportForm() {
return $form = new Form( return $this->EditForm();
$this,
"ExportForm",
new FieldSet(
new HiddenField("csvIDs","csvIDs",$_REQUEST[csvIDs])
),
$this->result_actions
);
} }
/** /**
@ -162,7 +142,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
function SearchForm() { function SearchForm() {
$fields = $this->getSearchFields(); $fields = $this->getSearchFields();
$actions = new FieldSet($action = new FormAction("getResults", _t('GenericDataAdmin.GO', 'Go'))); $actions = new FieldSet($action = new FormAction("getResults", "Go"));
$searchForm = new Form($this, "SearchForm", $fields, $actions); $searchForm = new Form($this, "SearchForm", $fields, $actions);
$searchForm->loadDataFrom($_REQUEST); $searchForm->loadDataFrom($_REQUEST);
@ -202,10 +182,10 @@ abstract class GenericDataAdmin extends LeftAndMain {
$actions = (method_exists($genericData, 'getCMSActions')) ? $genericData->getCMSActions() : new FieldSet(); $actions = (method_exists($genericData, 'getCMSActions')) ? $genericData->getCMSActions() : new FieldSet();
if(!$actions->fieldByName('action_save')) { if(!$actions->fieldByName('action_save')) {
$actions->push(new FormAction('save', _t('GenericDataAdmin.SAVE', 'Save'),'ajaxAction-save')); $actions->push(new FormAction('save', 'Save','ajaxAction-save'));
} }
if(!$actions->fieldByName('action_delete')) { if(!$actions->fieldByName('action_delete')) {
$actions->push(new FormAction('delete', _t('GenericDataAdmin.DELETE', 'Delete'),'ajaxAction-delete')); $actions->push(new FormAction('delete', 'Delete','ajaxAction-delete'));
} }
$required = (method_exists($genericData, 'getCMSRequiredField')) ? $genericData->getCMSRequiredField() : new RequiredFields(); $required = (method_exists($genericData, 'getCMSRequiredField')) ? $genericData->getCMSRequiredField() : new RequiredFields();
@ -240,8 +220,8 @@ abstract class GenericDataAdmin extends LeftAndMain {
function Results() { function Results() {
$ret = ""; $ret = "";
$singular_name = singleton($this->stat('data_type'))->i18n_singular_name(); $singular_name = singleton($this->stat('data_type'))->singular_name();
$plural_name = singleton($this->stat('data_type'))->i18n_plural_name(); $plural_name = singleton($this->stat('data_type'))->plural_name();
if (!$this->filter) { if (!$this->filter) {
$this->filter = array( $this->filter = array(
"ClassName" => $this->stat('data_type') "ClassName" => $this->stat('data_type')
@ -253,7 +233,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
$results = $this->performSearch(); $results = $this->performSearch();
if($results) { if($results) {
$name = ($results->Count() > 1) ? $plural_name : $singular_name; $name = ($results->Count() > 1) ? $plural_name : $singular_name;
$ret .= "<H2>{$results->Count()} {$name} "._t('GenericDataAdmin.FOUND', 'found:')."</H2>"; $ret .= "<H2>{$results->Count()} {$name} found:</H2>";
switch($this->stat('result_format')) { switch($this->stat('result_format')) {
case 'table': case 'table':
@ -266,9 +246,9 @@ abstract class GenericDataAdmin extends LeftAndMain {
$ret .= $this->getResultActionsForm($results); $ret .= $this->getResultActionsForm($results);
} else { } else {
if($this->hasMethod('isEmptySearch') && $this->isEmptySearch()) { if($this->hasMethod('isEmptySearch') && $this->isEmptySearch()) {
$ret .='<h3>'._t('GenericDataAdmin.CHOOSECRIT', 'Please choose some search criteria and press \'Go\'.').'</h3>'; $ret .="<h3>Please choose some search criteria and press 'Go'.</h3>";
} else { } else {
$ret .='<h3>'.sprintf(_t('GenericDataAdmin.NORESULTS', 'Sorry, no %s found by this search.'), $plural_name).'</h3>'; $ret .="<h3>Sorry, no {$plural_name} found by this search.</h3>";
} }
} }
return $ret; return $ret;
@ -501,8 +481,8 @@ HTML;
} }
} }
} }
$this->getActionUpdateJS($generic);
FormResponse::status_message(_t('GenericDataAdmin.SAVED', 'Saved'), 'good'); FormResponse::status_message('Saved', 'good');
FormResponse::update_status($generic->Status); FormResponse::update_status($generic->Status);
if (method_exists($this, "saveAfterCall")) { if (method_exists($this, "saveAfterCall")) {
@ -564,7 +544,7 @@ HTML;
// clear session data // clear session data
Session::clear('currentPage'); Session::clear('currentPage');
FormResponse::status_message(_t('GenericDataAdmin.DELETEDSUCCESS', 'Successfully deleted'), 'good'); FormResponse::status_message('Successfully deleted', 'good');
FormResponse::add("$('Form_EditForm').deleteEffect();"); FormResponse::add("$('Form_EditForm').deleteEffect();");
return FormResponse::respond(); return FormResponse::respond();

View File

@ -1,16 +1,10 @@
<?php <?php
/**
* @package cms
* @subpackage assets
*/
/** /**
* This Controller handles all operation needed for ImageEditor to work(expect for GD operations). * This Controller handles all operation needed for ImageEditor to work(expect for GD operations).
* @package cms *
* @subpackage assets */
*/
class ImageEditor extends Controller { class ImageEditor extends Controller {
public $fileToEdit = ""; public $fileToEdit = "";
@ -242,4 +236,4 @@ class ImageEditor extends Controller {
$path = pathinfo($url); $path = pathinfo($url);
return $path['filename'] . "." . substr($path['extension'],0,strpos($path['extension'],'?')); return $path['filename'] . "." . substr($path['extension'],0,strpos($path['extension'],'?'));
} }
} }

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage livesite
*/
/**
* Module to provide imprint statistics integration.
* @package cms
* @subpackage livesite
*/
class ImprintStats extends ViewableData { class ImprintStats extends ViewableData {
protected static $imprintID; protected static $imprintID;

View File

@ -1,34 +1,14 @@
<?php <?php
/**
* @package cms
* @subpackage core
*/
/** /**
* LeftAndMain is the parent class of all the two-pane views in the CMS. * LeftAndMain is the parent class of all the two-pane views in the CMS.
* If you are wanting to add more areas to the CMS, you can do it by subclassing LeftAndMain. * If you are wanting to add more areas to the CMS, you can do it by subclassing LeftAndMain.
* @package cms
* @subpackage core
*/ */
abstract class LeftAndMain extends Controller { abstract class LeftAndMain extends Controller {
static $tree_class = null; static $tree_class = null;
static $extra_menu_items = array(), $removed_menu_items = array(), $replaced_menu_items = array(); static $extra_menu_items = array(), $removed_menu_items = array(), $replaced_menu_items = array();
static $ForceReload; static $ForceReload;
static $allowed_actions = array(
'ajaxupdateparent',
'ajaxupdatesort',
'callPageMethod',
'deleteitems',
'getitem',
'getsubtree',
'myprofile',
'printable',
'save',
'show',
);
function init() { function init() {
Director::set_site_mode('cms'); Director::set_site_mode('cms');
@ -39,8 +19,8 @@ abstract class LeftAndMain extends Controller {
} }
// set reading lang // set reading lang
if(Translatable::is_enabled()) { if(Translatable::is_enabled() && !Director::is_ajax()) {
Translatable::choose_site_lang(i18n::get_existing_content_languages('SiteTree')); Translatable::choose_site_lang(array_keys(i18n::get_existing_content_languages('SiteTree')));
} }
parent::init(); parent::init();
@ -110,7 +90,7 @@ abstract class LeftAndMain extends Controller {
Requirements::css('sapphire/css/Form.css'); Requirements::css('sapphire/css/Form.css');
// Requirements::javascript('cms/javascript/MemberList.js'); Requirements::javascript('cms/javascript/MemberList.js');
Requirements::javascript('cms/javascript/ForumAdmin.js'); Requirements::javascript('cms/javascript/ForumAdmin.js');
Requirements::javascript('cms/javascript/SideTabs.js'); Requirements::javascript('cms/javascript/SideTabs.js');
Requirements::javascript('cms/javascript/TaskList.js'); Requirements::javascript('cms/javascript/TaskList.js');
@ -154,9 +134,6 @@ abstract class LeftAndMain extends Controller {
Requirements::javascript('jsparty/SWFUpload/SWFUpload.js'); Requirements::javascript('jsparty/SWFUpload/SWFUpload.js');
Requirements::javascript('cms/javascript/Upload.js'); Requirements::javascript('cms/javascript/Upload.js');
Requirements::javascript('sapphire/javascript/HasManyFileField.js');
Requirements::css('sapphire/css/HasManyFileField.css');
Requirements::themedCSS('typography'); Requirements::themedCSS('typography');
// For Widgets // For Widgets
@ -387,7 +364,7 @@ abstract class LeftAndMain extends Controller {
// getChildrenAsUL is a flexible and complex way of traversing the tree // getChildrenAsUL is a flexible and complex way of traversing the tree
$siteTree = $obj->getChildrenAsUL("", ' $siteTree = $obj->getChildrenAsUL("", '
"<li id=\"record-$child->ID\" class=\"" . $child->CMSTreeClasses($extraArg) . "\">" . "<li id=\"record-$child->ID\" class=\"" . $child->CMSTreeClasses($extraArg) . "\">" .
"<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" class=\"" . $child->CMSTreeClasses($extraArg) . "\" title=\"' . _t('LeftAndMain.PAGETYPE','Page type: ') . '".$child->class."\" >" . "<a href=\"" . Director::link(substr($extraArg->Link(),0,-1), "show", $child->ID) . "\" " . (($child->canEdit() || $child->canAddChildren()) ? "" : "class=\"disabled\"") . " title=\"' . _t('LeftAndMain.PAGETYPE','Page type: ') . '".$child->class."\" >" .
($child->TreeTitle()) . ($child->TreeTitle()) .
"</a>" "</a>"
' '
@ -554,6 +531,12 @@ JS;
FormResponse::add("$('Form_EditForm').getPageFromServer($record->ID);"); FormResponse::add("$('Form_EditForm').getPageFromServer($record->ID);");
} }
if( ($record->class != 'VirtualPage') && $originalURLSegment != $record->URLSegment) {
$message .= sprintf(_t('LeftAndMain.CHANGEDURL'," Changed URL to '%s'"),$record->URLSegment);
FormResponse::add("\$('Form_EditForm').elements.URLSegment.value = \"$record->URLSegment\";");
FormResponse::add("\$('Form_EditForm_StageURLSegment').value = \"{$record->URLSegment}\";");
}
// After reloading action // After reloading action
if($originalStatus != $record->Status) { if($originalStatus != $record->Status) {
$message .= sprintf(_t('LeftAndMain.STATUSTO'," Status changed to '%s'"),$record->Status); $message .= sprintf(_t('LeftAndMain.STATUSTO'," Status changed to '%s'"),$record->Status);
@ -561,12 +544,6 @@ JS;
$record->write(); $record->write();
if( ($record->class != 'VirtualPage') && $originalURLSegment != $record->URLSegment) {
$message .= sprintf(_t('LeftAndMain.CHANGEDURL'," Changed URL to '%s'"),$record->URLSegment);
FormResponse::add("\$('Form_EditForm').elements.URLSegment.value = \"$record->URLSegment\";");
FormResponse::add("\$('Form_EditForm_StageURLSegment').value = \"{$record->URLSegment}\";");
}
// If the 'Save & Publish' button was clicked, also publish the page // If the 'Save & Publish' button was clicked, also publish the page
if (isset($urlParams['publish']) && $urlParams['publish'] == 1) { if (isset($urlParams['publish']) && $urlParams['publish'] == 1) {
$this->performPublish($record); $this->performPublish($record);
@ -871,7 +848,7 @@ JS;
self::$application_logo_text = ""; self::$application_logo_text = "";
} }
function LogoStyle() { function LogoStyle() {
return "background: url(" . self::$application_logo . ") no-repeat; " . self::$application_logo_style; return "background-image: url(" . self::$application_logo . ") no-repeat; " . self::$application_logo_style;
} }
/** /**

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage security
*/
/**
* Form field showing a list of members.
* @package cms
* @subpackage security
*/
class MemberList extends FormField { class MemberList extends FormField {
protected $members; protected $members;
protected $hidePassword; protected $hidePassword;
@ -251,16 +241,16 @@ class MemberList extends FormField {
function OrderByField() { function OrderByField() {
$fields = new FieldGroup( new DropdownField('MemberListOrderByField','', array( $fields = new FieldGroup( new DropdownField('MemberListOrderByField','', array(
'FirstName' => _t('MemberList.FN', 'FirstName'), 'FirstName' => 'FirstName',
'Surname' => _t('MemberList.SN', 'Surname'), 'Surname' => 'Surname',
'Email' => _t('MemberList.EMAIL', 'Email') 'Email' => 'Email'
)), )),
new DropdownField('MemberListOrderByOrder','',array( new DropdownField('MemberListOrderByOrder','',array(
'ASC' => _t('MemberList.ASC', 'Ascending'), 'ASC' => 'Ascending',
'DESC' => _t('MemberList.DESC', 'Descending') 'DESC' => 'Descending'
))); )));
$field = new FieldGroup( new LabelField(_t('MemberList.ORDERBY', 'Order by')), $fields ); $field = new FieldGroup( new LabelField( 'Order by' ), $fields );
return $field->FieldHolder(); return $field->FieldHolder();
} }
@ -268,7 +258,7 @@ class MemberList extends FormField {
$groups = DataObject::get('Group'); $groups = DataObject::get('Group');
$groupArray = array( '' => _t('MemberList.ANYGROUP', 'Any group')); $groupArray = array( '' => 'Any group' );
foreach( $groups as $group ) foreach( $groups as $group )
$groupArray[$group->ID] = $group->Title; $groupArray[$group->ID] = $group->Title;

View File

@ -1,10 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage security
*/
/** /**
* Enhances {ComplexTableField} with the ability to list groups and given members. * Enhances {ComplexTableField} with the ability to list groups and given members.
* It is based around groups, so it deletes Members from a Group rather than from the entire system. * It is based around groups, so it deletes Members from a Group rather than from the entire system.
@ -17,25 +11,16 @@
* - members of a provided group * - members of a provided group
* - all members * - all members
* - members based on a search-query * - members based on a search-query
* @package cms
* @subpackage security
*/ */
class MemberTableField extends ComplexTableField { class MemberTableField extends ComplexTableField {
protected $members; protected $members;
protected $hidePassword; protected $hidePassword;
protected $pageSize; protected $pageSize;
protected $detailFormValidator; protected $detailFormValidator;
protected $group; protected $group;
protected $template = "MemberTableField"; protected $template = "MemberTableField";
public $popupClass = 'MemberTableField_Popup';
static $data_class = "Member"; static $data_class = "Member";
protected $permissions = array( protected $permissions = array(
@ -78,9 +63,9 @@ class MemberTableField extends ComplexTableField {
array_push( $this->permissions, $permission ); array_push( $this->permissions, $permission );
$fieldList = array( $fieldList = array(
"FirstName" => _t('MemberTableField.FIRSTNAME', 'Firstname'), "FirstName" => "Firstname",
"Surname" => _t('MemberTableField.SURNAME', 'Surname'), "Surname" => "Surname",
"Email" => _t('MemberTableField.EMAIL', 'Email') "Email" => "Email"
); );
$csvFieldList = $fieldList; $csvFieldList = $fieldList;
@ -93,11 +78,9 @@ class MemberTableField extends ComplexTableField {
} }
if(!$hidePassword) { if(!$hidePassword) {
$fieldList["SetPassword"] = "Password"; $fieldList["Password"] = "Password";
} }
// $detailFormFields = singleton(Object::getCustomClass($this->stat("data_class")))->getCMSFields();
if(isset($_REQUEST['ctf']['childID']) && $memberID = $_REQUEST['ctf']['childID']) { if(isset($_REQUEST['ctf']['childID']) && $memberID = $_REQUEST['ctf']['childID']) {
$SNG_member = DataObject::get_by_id($this->stat("data_class"),$_REQUEST['ctf']['childID']); $SNG_member = DataObject::get_by_id($this->stat("data_class"),$_REQUEST['ctf']['childID']);
} else { } else {
@ -115,23 +98,23 @@ class MemberTableField extends ComplexTableField {
$this->hidePassword = $hidePassword; $this->hidePassword = $hidePassword;
parent::__construct($controller, $name, $sourceClass, $fieldList); parent::__construct($controller, $name, $sourceClass, $fieldList, $detailFormFields);
Requirements::javascript('cms/javascript/MemberTableField.js'); Requirements::javascript("cms/javascript/MemberTableField.js");
// construct the filter and sort // construct the filter and sort
if(isset($_REQUEST['MemberOrderByField'])) { if(isset($_REQUEST['MemberOrderByField'])) {
$this->sourceSort = '`' . Convert::raw2sql($_REQUEST['MemberOrderByField']) . '`' . Convert::raw2sql( $_REQUEST['MemberOrderByOrder'] ); $this->sourceSort = "`" . Convert::raw2sql($_REQUEST['MemberOrderByField']) . "`" . Convert::raw2sql( $_REQUEST['MemberOrderByOrder'] );
} }
// search // search
$search = isset($_REQUEST['MemberSearch']) ? Convert::raw2sql($_REQUEST['MemberSearch']) : null; $search = isset($_REQUEST['MemberSearch']) ? Convert::raw2sql($_REQUEST['MemberSearch']) : null;
if(!empty($_REQUEST['MemberSearch'])) { if(!empty($_REQUEST['MemberSearch'])) {
//$this->sourceFilter[] = "( `Email` LIKE '%$search%' OR `FirstName` LIKE '%$search%' OR `Surname` LIKE '%$search%' )"; //$this->sourceFilter[] = "( `Email` LIKE '%$search%' OR `FirstName` LIKE '%$search%' OR `Surname` LIKE '%$search%' )";
$sourceF = '( '; $sourceF = "( ";
foreach( $fieldList as $k => $v ) foreach( $fieldList as $k => $v )
$sourceF .= '`$k` LIKE '%$search%' OR '; $sourceF .= "`$k` LIKE '%$search%' OR ";
$this->sourceFilter[] = substr( $sourceF, 0, -3 ) . ')'; $this->sourceFilter[] = substr( $sourceF, 0, -3 ) . ")";
} }
// filter by groups // filter by groups
@ -145,6 +128,7 @@ class MemberTableField extends ComplexTableField {
} }
$this->sourceJoin = " INNER JOIN `Group_Members` ON `MemberID`=`Member`.`ID`"; $this->sourceJoin = " INNER JOIN `Group_Members` ON `MemberID`=`Member`.`ID`";
$this->setFieldListCsv( $csvFieldList ); $this->setFieldListCsv( $csvFieldList );
} }
@ -161,37 +145,78 @@ class MemberTableField extends ComplexTableField {
return "{$this->PopupBaseLink()}&methodName=add"; return "{$this->PopupBaseLink()}&methodName=add";
} }
function DetailForm() {
$ID = Convert::raw2xml(isset($_REQUEST['ctf']['ID'])
? $_REQUEST['ctf']['ID']
: '');
$childID = isset($_REQUEST['ctf']['childID']) ? Convert::raw2xml($_REQUEST['ctf']['childID']) : 0;
$childClass = Convert::raw2xml($_REQUEST['fieldName']);
$methodName = isset($_REQUEST['methodName']) ? $_REQUEST['methodName'] : '';
if($methodName == "add") {
$parentIdName = $this->getParentIdName($childClass,$this->getParentClass());
if(!$parentIdName) {
user_error("ComplexTableField::DetailForm() Dataobject does not seem to have an 'has-one'-relationship", E_USER_WARNING);
return;
}
$this->detailFormFields->push(new HiddenField('parentClass'," ",$this->getParentClass()));
}
// the ID field confuses the Controller-logic in finding the right view for ReferencedField
$this->detailFormFields->removeByName('ID');
$this->detailFormFields->push(new HiddenField("ctf[ID]"," ",$ID));
// add a namespaced ID instead thats "converted" by saveComplexTableField()
$this->detailFormFields->push(new HiddenField("ctf[childID]","",$childID));
$this->detailFormFields->push(new HiddenField("ClassName","",$this->sourceClass));
$form = new MemberTableField_Popup($this, "DetailForm", $this->detailFormFields, $this->sourceClass, $methodName == "show", $this->detailFormValidator);
if (is_numeric($childID)) {
if ($methodName == "show" || $methodName == "edit") {
$childData = DataObject::get_by_id($this->sourceClass, $childID);
$form->loadDataFrom($childData);
}
}
if ($methodName == "show") {
$form->makeReadonly();
}
return $form;
}
function SearchForm() { function SearchForm() {
$searchFields = new FieldGroup( $searchFields = new FieldGroup(
new TextField('MemberSearch', _t('MemberTableField.SEARCH', 'Search')), new TextField('MemberSearch', 'Search'),
new HiddenField("ctf[ID]",'',$this->group->ID), new HiddenField("ctf[ID]",'',$this->group->ID),
new HiddenField('MemberFieldName','',$this->name), new HiddenField('MemberFieldName','',$this->name),
new HiddenField('MemberDontShowPassword','',$this->hidePassword) new HiddenField('MemberDontShowPassword','',$this->hidePassword)
); );
$orderByFields = new FieldGroup( $orderByFields = new FieldGroup(
new LabelField(_t('MemberTableField.ORDERBY', 'Order by')), new LabelField('Order by'),
new FieldSet( new FieldSet(
new DropdownField('MemberOrderByField','', array( new DropdownField('MemberOrderByField','', array(
'FirstName' => _t('MemberTableField.FIRSTNAME', 'FirstName'), 'FirstName' => 'FirstName',
'Surname' => _t('MemberTableField.SURNAME', 'Surname'), 'Surname' => 'Surname',
'Email' => _t('MemberTableField.EMAIL', 'Email') 'Email' => 'Email'
)), )),
new DropdownField('MemberOrderByOrder','',array( new DropdownField('MemberOrderByOrder','',array(
'ASC' => _t('MemberTableField.ASC', 'Ascending'), 'ASC' => 'Ascending',
'DESC' => _t('MemberTableField.DESC', 'Descending') 'DESC' => 'Descending'
)) ))
) )
); );
$groups = DataObject::get('Group'); $groups = DataObject::get('Group');
$groupArray = array('' => _t('MemberTableField.ANYGROUP', 'Any group')); $groupArray = array('' => 'Any group');
foreach( $groups as $group ) { foreach( $groups as $group ) {
$groupArray[$group->ID] = $group->Title; $groupArray[$group->ID] = $group->Title;
} }
$groupFields = new DropdownField('MemberGroup', _t('MemberTableField.FILTERBYGROUP', 'Filter by group'),$groupArray ); $groupFields = new DropdownField('MemberGroup','Filter by group',$groupArray );
$actionFields = new LiteralField('MemberFilterButton','<input type="submit" class="action" name="MemberFilterButton" value="'._t('MemberTableField.FILTER', 'Filter').'" id="MemberFilterButton"/>'); $actionFields = new LiteralField('MemberFilterButton','<input type="submit" class="action" name="MemberFilterButton" value="Filter" id="MemberFilterButton"/>');
$fieldContainer = new FieldGroup( $fieldContainer = new FieldGroup(
$searchFields, $searchFields,
@ -212,7 +237,7 @@ class MemberTableField extends ComplexTableField {
unset($data['ID']); unset($data['ID']);
if(!is_numeric($data['ctf']['ID'])) { if(!is_numeric($data['ctf']['ID'])) {
FormResponse::status_messsage(_t('MemberTableField.ADDINGFIELD', 'Adding failed'), 'bad'); FormResponse::status_messsage('Adding failed', 'bad');
} }
$className = $this->stat('data_class'); $className = $this->stat('data_class');
@ -240,8 +265,8 @@ class MemberTableField extends ComplexTableField {
* Remove member from group rather than from the database * Remove member from group rather than from the database
*/ */
function delete() { function delete() {
$groupID = Convert::raw2sql($_REQUEST['ctf']['ID']); $groupID = Convert::raw2sql($_REQUEST["ctf"]["ID"]);
$memberID = Convert::raw2sql($_REQUEST['ctf']['childID']); $memberID = Convert::raw2sql($_REQUEST["ctf"]["childID"]);
if(is_numeric($groupID) && is_numeric($memberID)) { if(is_numeric($groupID) && is_numeric($memberID)) {
$member = DataObject::get_by_id('Member', $memberID); $member = DataObject::get_by_id('Member', $memberID);
$member->Groups()->remove($groupID); $member->Groups()->remove($groupID);
@ -261,11 +286,11 @@ class MemberTableField extends ComplexTableField {
* ################################# * #################################
*/ */
function getParentClass() { function getParentClass() {
return 'Group'; return "Group";
} }
function getParentIdName($childClass,$parentClass){ function getParentIdName($childClass,$parentClass){
return 'GroupID'; return "GroupID";
} }
@ -277,7 +302,7 @@ class MemberTableField extends ComplexTableField {
function memberListWithGroupID($members, $group) { function memberListWithGroupID($members, $group) {
$newMembers = new DataObjectSet(); $newMembers = new DataObjectSet();
foreach($members as $member) { foreach($members as $member) {
$newMembers->push($member->customise(array('GroupID' => $group->ID))); $newMembers->push($member->customise(array("GroupID" => $group->ID)));
} }
return $newMembers; return $newMembers;
} }
@ -301,12 +326,12 @@ class MemberTableField extends ComplexTableField {
foreach($this->FieldList() as $fieldName=>$fieldTitle) { foreach($this->FieldList() as $fieldName=>$fieldTitle) {
$fields->push(new TextField($fieldName)); $fields->push(new TextField($fieldName));
} }
$fields->push(new HiddenField('ctf[ID]', null, $this->group->ID)); $fields->push(new HiddenField("ctf[ID]", null, $this->group->ID));
return new TabularStyle(new Form($this->controller,'AddRecordForm', return new TabularStyle(new Form($this->controller,'AddRecordForm',
$fields, $fields,
new FieldSet( new FieldSet(
new FormAction('addtogroup', _t('MemberTableField.ADD','Add')) new FormAction("addtogroup", _t('MemberTableField.ADD','Add'))
) )
)); ));
} }
@ -323,7 +348,7 @@ class MemberTableField extends ComplexTableField {
} }
// Setup limits // Setup limits
$limitClause = ''; $limitClause = "";
if(isset($_REQUEST['ctf'][$this->Name()]['start']) && is_numeric($_REQUEST['ctf'][$this->Name()]['start'])) { if(isset($_REQUEST['ctf'][$this->Name()]['start']) && is_numeric($_REQUEST['ctf'][$this->Name()]['start'])) {
$limitClause = ($_REQUEST['ctf'][$this->Name()]['start']) . ", {$this->pageSize}"; $limitClause = ($_REQUEST['ctf'][$this->Name()]['start']) . ", {$this->pageSize}";
} else { } else {
@ -339,7 +364,7 @@ class MemberTableField extends ComplexTableField {
$this->sourceFilter, $this->sourceFilter,
$this->sourceSort $this->sourceSort
); );
$this->unpagedSourceItems = $this->group->Members( '', '', $this->sourceFilter, $this->sourceSort ); $this->unpagedSourceItems = $this->group->Members( "", "", $this->sourceFilter, $this->sourceSort );
$this->totalCount = ($this->sourceItems) ? $this->sourceItems->TotalItems() : 0; $this->totalCount = ($this->sourceItems) ? $this->sourceItems->TotalItems() : 0;
return $this->sourceItems; return $this->sourceItems;
} }
@ -350,40 +375,38 @@ class MemberTableField extends ComplexTableField {
} }
} }
/**
* Popup window for {@link MemberTableField}.
* @package cms
* @subpackage security
*/
class MemberTableField_Popup extends ComplexTableField_Popup {
class MemberTableField_Popup extends ComplexTableField_Popup {
function __construct($controller, $name, $fields, $sourceClass, $readonly=false, $validator = null) { function __construct($controller, $name, $fields, $sourceClass, $readonly=false, $validator = null) {
// DO NOT CHANGE THE ORDER OF THESE JS FILES. THESE ARE ONLY REQUIRED FOR THIS INSTANCE !!!11onetwo
parent::__construct($controller, $name, $fields, $sourceClass, $readonly, $validator); parent::__construct($controller, $name, $fields, $sourceClass, $readonly, $validator);
Requirements::javascript('cms/javascript/MemberTableField.js'); Requirements::javascript("cms/javascript/MemberTableField.js");
Requirements::javascript('cms/javascript/MemberTableField_popup.js'); Requirements::javascript("cms/javascript/MemberTableField_popup.js");
} }
function saveComplexTableField() { function saveComplexTableField() {
$id = (isset($_REQUEST['ctf']['childID'])) ? Convert::raw2sql($_REQUEST['ctf']['childID']) : false; $id = Convert::raw2sql($_REQUEST['ctf']['childID']);
if (is_numeric($id)) { if (is_numeric($id)) {
$childObject = DataObject::get_by_id($this->sourceClass, $id); $childObject = DataObject::get_by_id($this->sourceClass, $id);
} else { } else {
$childObject = new $this->sourceClass(); $childObject = new $this->sourceClass();
$this->fields->removeByName('ID');
} }
$this->saveInto($childObject); $this->saveInto($childObject);
$childObject->write(); $childObject->write();
// add member to current group $childObject->Groups()->add($_REQUEST['ctf']['ID']);
$childObject->Groups()->add($_REQUEST['GroupID']);
// if ajax-call in an iframe, close window by javascript, else redirect to referrer // if ajax-call in an iframe, close window by javascript, else redirect to referrer
if(!Director::is_ajax()) { if(!Director::is_ajax()) {
Director::redirect(substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],'?'))); Director::redirect(substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],"?")));
} }
} }

View File

@ -1,14 +1,6 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/** /**
* Create a process in session which is incremented to calls from the client * Create a process in session which is incremented to calls from the client
* @package cms
* @subpackage newsletter
*/ */
class BatchProcess extends Object { class BatchProcess extends Object {
@ -76,11 +68,6 @@ class BatchProcess extends Object {
} }
} }
/**
* Controller for calling the batch processes via Ajax.
* @package cms
* @subpackage newsletter
*/
class BatchProcess_Controller extends Controller { class BatchProcess_Controller extends Controller {
function next() { function next() {
@ -88,13 +75,13 @@ class BatchProcess_Controller extends Controller {
$processID = $this->urlParams['ID']; $processID = $this->urlParams['ID'];
if( !$processID ) { if( !$processID ) {
return _t('BatchProcess_Controller.ERROR', 'ERROR: Could not continue process'); return "ERROR: Could not continue process";
} }
$process = unserialize(Session::get('BatchProcesses.' . ($this->urlParams['ID'] - 1))); $process = unserialize(Session::get('BatchProcesses.' . ($this->urlParams['ID'] - 1)));
if( !$process ) { if( !$process ) {
return _t('BatchProcess_Controller.ERROR', 'ERROR:Could not continue process'); return "ERROR:Could not continue process";
} }
if( $this->urlParams['Batch'] ) if( $this->urlParams['Batch'] )

View File

@ -1,15 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Form field showing a list of bounced addresses
* @package cms
* @subpackage newsletter
*/
class BouncedList extends FormField { class BouncedList extends FormField {
protected $nlType; protected $nlType;

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Single newsletter instance. Each Newsletter belongs to a NewsletterType.
* @package cms
* @subpackage newsletter
*/
class Newsletter extends DataObject { class Newsletter extends DataObject {
/** /**
@ -24,18 +14,18 @@ class Newsletter extends DataObject {
$sent_status_report = $this->renderWith("Newsletter_SentStatusReport"); $sent_status_report = $this->renderWith("Newsletter_SentStatusReport");
$ret = new FieldSet( $ret = new FieldSet(
new TabSet("Root", new TabSet("Root",
$mailTab = new Tab(_t('Newsletter.NEWSLETTER', 'Newsletter'), $mailTab = new Tab("Newsletter",
new TextField("Subject", _t('Newsletter.SUBJECT', 'Subject'), $this->Subject), new TextField("Subject", "Subject", $this->Subject),
new HtmlEditorField("Content", _t('Newsletter.CONTENT', 'Content')) new HtmlEditorField("Content", "Content")
), ),
$sentToTab = new Tab(_t('Newsletter.SENTREPORT', 'Sent Status Report'), $sentToTab = new Tab("Sent Status Report",
new LiteralField("Sent Status Report", $sent_status_report) new LiteralField("Sent Status Report", $sent_status_report)
) )
) )
); );
if( $this->Status != 'Draft' ) { if( $this->Status != 'Draft' ) {
$mailTab->push( new ReadonlyField("SendDate", _t('Newsletter.SENTAT', 'Sent at'), $this->SendDate) ); $mailTab->push( new ReadonlyField("SendDate", "Sent at", $this->SendDate) );
} }
@ -128,11 +118,6 @@ class Newsletter extends DataObject {
} }
} }
/**
* Database record for recipients that have had the newsletter sent to them.
* @package cms
* @subpackage newsletter
*/
class Newsletter_SentRecipient extends DataObject { class Newsletter_SentRecipient extends DataObject {
/** /**
* The DB schema for Newsletter_SentRecipient. * The DB schema for Newsletter_SentRecipient.
@ -151,12 +136,6 @@ class Newsletter_SentRecipient extends DataObject {
"Member" => "Member", "Member" => "Member",
); );
} }
/**
* Single recipient of the newsletter
* @package cms
* @subpackage newsletter
*/
class Newsletter_Recipient extends DataObject { class Newsletter_Recipient extends DataObject {
static $db = array( static $db = array(
"ParentID" => "Int", "ParentID" => "Int",
@ -166,11 +145,6 @@ class Newsletter_Recipient extends DataObject {
); );
} }
/**
* Email object for sending newsletters.
* @package cms
* @subpackage newsletter
*/
class Newsletter_Email extends Email_Template { class Newsletter_Email extends Email_Template {
protected $nlType; protected $nlType;

View File

@ -1,15 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Batch process for sending newsletters.
* @package cms
* @subpackage newsletter
*/
class NewsletterEmailProcess extends BatchProcess { class NewsletterEmailProcess extends BatchProcess {
protected $subject; protected $subject;
@ -22,7 +11,7 @@ class NewsletterEmailProcess extends BatchProcess {
/** /**
* Set up a Newsletter Email Process * Set up a Newsletter Email Process
* *
* @param $recipients DataObjectSet The recipients of this newsletter * @recipients A DataObject containing the addresses of the recipients of this newsletter
*/ */
function __construct( $subject, $body, $from, $newsletter, $nlType, $messageID = null, $recipients) { function __construct( $subject, $body, $from, $newsletter, $nlType, $messageID = null, $recipients) {
@ -72,7 +61,6 @@ class NewsletterEmailProcess extends BatchProcess {
$newsletter->Result = 'BlackListed'; $newsletter->Result = 'BlackListed';
$newsletter->ParentID = $this->newsletter->ID; $newsletter->ParentID = $this->newsletter->ID;
$newsletter->write(); $newsletter->write();
} else { } else {
$e = new Newsletter_Email($this->nlType); $e = new Newsletter_Email($this->nlType);
$e->setBody( $this->body ); $e->setBody( $this->body );
@ -80,10 +68,8 @@ class NewsletterEmailProcess extends BatchProcess {
$e->setFrom( $this->from ); $e->setFrom( $this->from );
$e->setTemplate( $this->nlType->Template ); $e->setTemplate( $this->nlType->Template );
if(method_exists($member, "getNameForEmail"))
$nameForEmail = $member->getNameForEmail();
$e->populateTemplate( array( 'Member' => $member, 'FirstName' => $member->FirstName, 'NameForEmail'=>$nameForEmail ) ); $e->populateTemplate( array( 'Member' => $member, 'FirstName' => $member->FirstName ) );
$this->sendToAddress( $e, $address, $this->messageID, $member); $this->sendToAddress( $e, $address, $this->messageID, $member);
} }
} }

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Simple form field shown when the NewsletterAdmin first loads.
* @package cms
* @subpackage newsletter
*/
class NewsletterList extends FormField { class NewsletterList extends FormField {
function __construct($name, $mailtype, $status = "Draft") { function __construct($name, $mailtype, $status = "Draft") {
if(is_object($mailtype)) $this->mailType = $mailtype; if(is_object($mailtype)) $this->mailType = $mailtype;

View File

@ -1,16 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Represents a type of newsletter, for example the weekly products update.
* The NewsletterType is associated with a recipient list and a bunch of Newsletter objects, which are each either Sent or Draft.
* @package cms
* @subpackage newsletter
*/
class NewsletterType extends DataObject { class NewsletterType extends DataObject {
static $db = array( static $db = array(
@ -54,7 +43,7 @@ class NewsletterType extends DataObject {
if($this->ID){ if($this->ID){
$group = $this->Group(); $group = $this->Group();
if($group->Title != "$this->Title"){ if($group->Title != "$this->Title"){
$group->Title = _t('NewsletterType.MAILINGLIST', 'Mailing List:').' '. $this->Title; $group->Title = "Mailing List: " . $this->Title;
// Otherwise the code would have mailing list in it too :-( // Otherwise the code would have mailing list in it too :-(
$group->Code = SiteTree::generateURLSegment($this->Title); $group->Code = SiteTree::generateURLSegment($this->Title);
$group->write(); $group->write();
@ -73,20 +62,20 @@ class NewsletterType extends DataObject {
} }
$fields = new FieldSet( $fields = new FieldSet(
new TextField("Title", _t('NewsletterType.NEWSLETTERTYPE', 'Newsletter Type')), new TextField("Title", "Newsletter Type"),
new TextField("FromEmail", _t('NewsletterType.SENDFROM', 'Send newsletters from')), new TextField("FromEmail", "Send newsletters from"),
new TabSet("Root", new TabSet("Root",
new Tab(_t('NewsletterType.DRAFTS', 'Drafts'), new Tab("Drafts",
$draftList = new NewsletterList("Draft", $this, _t('NewsletterType.DRAFT', 'Draft')) $draftList = new NewsletterList("Draft", $this, "Draft")
), ),
new TabSet('Sent', new TabSet("Sent",
new Tab(_t('NewsletterType.SENT', 'Sent'), new Tab("Sent",
$sendList = new NewsletterList("Send", $this, _t('NewsletterType.SEND', 'Send')) $sendList = new NewsletterList("Send", $this, "Send")
), ),
new Tab(_t('NewsletterType.UNSUBSCRIBED', 'Unsubscribed'), new Tab("Unsubscribed",
$unsubscribedList = new UnsubscribedList("Unsubscribed", $this) $unsubscribedList = new UnsubscribedList("Unsubscribed", $this)
), ),
new Tab(_t('NewsletterType.BOUNCED', 'Bounced'), new Tab("Bounced",
$bouncedList = new BouncedList("Bounced", $this ) $bouncedList = new BouncedList("Bounced", $this )
) )
) )
@ -96,15 +85,15 @@ class NewsletterType extends DataObject {
if($this->GroupID) { if($this->GroupID) {
$fields->addFieldToTab('Root', $fields->addFieldToTab('Root',
new TabSet("Recipients", new TabSet("Recipients",
new Tab( _t('NewsletterType.RECIPIENTS', 'Recipients'), new Tab( "Recipients",
$recipients = new MemberTableField( $recipients = new MemberTableField(
$this, $this,
"Recipients", "Recipients",
$group $group
) )
), ),
new Tab( _t('NewsletterType.IMPORT', 'Import'), new Tab( "Import",
$importField = new RecipientImportField("ImportFile", _t('NewsletterType.IMPORTFROM', 'Import from file'), $group ) $importField = new RecipientImportField("ImportFile","Import from file", $group )
) )
) )
); );
@ -115,7 +104,7 @@ class NewsletterType extends DataObject {
} }
$fields->addFieldToTab('Root', $fields->addFieldToTab('Root',
new Tab(_t('NewsletterType.TEMPLATE', 'Template'), new Tab("Template",
$templates = new TemplateList("Template","Template", $this->Template, NewsletterAdmin::template_path()) $templates = new TemplateList("Template","Template", $this->Template, NewsletterAdmin::template_path())
) )
); );

View File

@ -1,14 +1,6 @@
<?php <?php
/** /**
* @package cms * Displays a file upload field.
* @subpackage newsletter
*/
/**
* Displays a field for importing recipients.
* @package cms
* @subpackage newsletter
*/ */
class RecipientImportField extends FormField { class RecipientImportField extends FormField {
@ -182,11 +174,6 @@ class RecipientImportField extends FormField {
} }
} }
/**
* Single cell of the recipient import field
* @package cms
* @subpackage newsletter
*/
class RecipientImportField_Cell extends ViewableData { class RecipientImportField_Cell extends ViewableData {
protected $value; protected $value;
@ -199,11 +186,6 @@ class RecipientImportField_Cell extends ViewableData {
} }
} }
/**
* Upload form that appears in the iframe
* @package cms
* @subpackage newsletter
*/
class RecipientImportField_UploadForm extends Form { class RecipientImportField_UploadForm extends Form {
function import( $data, $form ) { function import( $data, $form ) {
$id = $data['ID']; $id = $data['ID'];
@ -226,7 +208,7 @@ class RecipientImportField_UploadForm extends Form {
} }
function isValidCSV( $file ) { function isValidCSV( $file ) {
return preg_match( '/.*\.csv$/i', $file['name'] ) > 0; return preg_match( '/.*\.csv$/', $file['name'] ) > 0;
} }
function confirm( $data, $form ) { function confirm( $data, $form ) {

View File

@ -1,15 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Page type for creating a page that contains a form that visitors can use to subscript to a newsletter.
* @package cms
* @subpackage newsletter
*/
class SubscribeForm extends UserDefinedForm { class SubscribeForm extends UserDefinedForm {
static $add_action = "a newsletter subscription form"; static $add_action = "a newsletter subscription form";
@ -65,19 +54,14 @@ class SubscribeForm extends UserDefinedForm {
$newField->prepopulate( $typeValue ); $newField->prepopulate( $typeValue );
} }
$newField->ParentID = $this->ID; $newField->setField('ID', "new-" . $count);
$newField->Sort = $count; $newField->Sort = $count;
$newField->write(); $f->addWithoutWrite($newField);
$count++; $count++;
} }
} }
public function write($showDebug = false, $forceInsert = false, $forceWrite = false) {
$isNew = (!$this->ID);
parent::write($showDebug, $forceInsert, $forceWrite);
if($isNew) $this->addDefaultFields();
}
public function Newsletters() { public function Newsletters() {
$components = $this->getComponents('Newsletters'); $components = $this->getComponents('Newsletters');
return $components; return $components;
@ -164,11 +148,6 @@ class SubscribeForm extends UserDefinedForm {
} }
} }
/**
* Email for sending subscribe form submissions.
* @package cms
* @subpackage newsletter
*/
class SubscribeForm_SubscribeEmail extends Email_Template { class SubscribeForm_SubscribeEmail extends Email_Template {
protected $to = '$Email'; protected $to = '$Email';
protected $subject = '$Subject'; protected $subject = '$Subject';
@ -176,14 +155,10 @@ class SubscribeForm_SubscribeEmail extends Email_Template {
protected $from = ''; protected $from = '';
} }
/**
* Controller for the SubscribeForm page
* @package cms
* @subpackage newsletter
*/
class SubscribeForm_Controller extends UserDefinedForm_Controller { class SubscribeForm_Controller extends UserDefinedForm_Controller {
function process( $data, $form ) { function process( $data, $form ) {
// Add the user to the mailing list // Add the user to the mailing list
$member = Object::create("Member"); $member = Object::create("Member");
@ -192,6 +167,7 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
// map the editables to the data // map the editables to the data
foreach( $this->Fields() as $editable ) { foreach( $this->Fields() as $editable ) {
$field = $editable->CustomParameter; $field = $editable->CustomParameter;
if( !$field ) if( !$field )
continue; continue;
@ -208,7 +184,7 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
$newsletters = array(); $newsletters = array();
// Add member to the selected newsletters // Add member to the selected newsletters
if( isset($data['Newsletters'])) foreach( $data['Newsletters'] as $listID ) { if( $data['Newsletters'] ) foreach( $data['Newsletters'] as $listID ) {
if( !is_numeric( $listID ) ) if( !is_numeric( $listID ) )
continue; continue;
@ -262,9 +238,13 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
$newsletters = array(); $newsletters = array();
// Debug::show($newsletterList);
// get the newsletter types to display on the form // get the newsletter types to display on the form
foreach( $newsletterList as $newsletter ) foreach( $newsletterList as $newsletter )
$newsletters[$newsletter->ID] = $newsletter->Title; $newsletters[] = $newsletter;
// Debug::show( $newsletters );
$form->Fields()->push( new CheckboxSetField( 'Newsletters', 'Subscribe to lists', $newsletters ) ); $form->Fields()->push( new CheckboxSetField( 'Newsletters', 'Subscribe to lists', $newsletters ) );

View File

@ -1,14 +1,6 @@
<?php <?php
/** /**
* @package cms * This should extend DropdownField
* @subpackage newsletter
*/
/**
* Subclass of DropdownField for showing a list of the newsletter templates available.
* @package cms
* @subpackage newsletter
*/ */
class TemplateList extends DropdownField { class TemplateList extends DropdownField {
@ -20,7 +12,7 @@ class TemplateList extends DropdownField {
} }
private function getTemplates() { private function getTemplates() {
$templates = array( "" => _t('TemplateList.NONE', 'None') ); $templates = array( "" => "None" );
$absPath = Director::baseFolder(); $absPath = Director::baseFolder();
if( $absPath{strlen($absPath)-1} != "/" ) if( $absPath{strlen($absPath)-1} != "/" )

View File

@ -1,15 +1,7 @@
<?php <?php
/** /**
* @package cms * Create a form that a user can use to unsubscribe from a mailing list
* @subpackage newsletter */
*/
/**
* Create a form that a user can use to unsubscribe from a mailing list
* @package cms
* @subpackage newsletter
*/
class Unsubscribe_Controller extends Page_Controller { class Unsubscribe_Controller extends Page_Controller {
function __construct($data = null) { function __construct($data = null) {
} }
@ -45,7 +37,7 @@ class Unsubscribe_Controller extends Page_Controller {
} }
if($this->urlParams['Email'] == "done") if($this->urlParams['Email'] == "done")
$listForm->sessionMessage(_t('Unsubscribe.SUCCESS', 'Thank you. You have been removed from the selected groups'), "good"); $listForm->sessionMessage("Thank you. You have been removed from the selected groups", "good");
return $this->customise( array( 'Content' => $listForm->forTemplate() ) )->renderWith('Page'); return $this->customise( array( 'Content' => $listForm->forTemplate() ) )->renderWith('Page');
} }
@ -101,7 +93,7 @@ class Unsubscribe_Controller extends Page_Controller {
$url = "unsubscribe/done/".$member->Email."/".$nlTypeTitles; $url = "unsubscribe/done/".$member->Email."/".$nlTypeTitles;
Director::redirect($url); Director::redirect($url);
} else { } else {
$form->addErrorMessage('MailingLists', _t('Unsubscribe.NOMLSELECTED', 'You need to select at least one mailing list to unsubscribe from.'), 'bad'); $form->addErrorMessage('MailingLists', 'You need to select at least one mailing list to unsubscribe from.', 'bad');
Director::redirectBack(); Director::redirectBack();
} }
} }
@ -114,12 +106,6 @@ class Unsubscribe_Controller extends Page_Controller {
} }
} }
/**
* 2nd step form for the Unsubcribe page.
* The form will list all the mailing lists that the user is subscribed to.
* @package cms
* @subpackage newsletter
*/
class Unsubscribe_MailingListForm extends Form { class Unsubscribe_MailingListForm extends Form {
protected $memberEmail; protected $memberEmail;
@ -135,15 +121,15 @@ class Unsubscribe_MailingListForm extends Form {
$lists = $this->getMailingLists( $member ); $lists = $this->getMailingLists( $member );
if( $lists ) { if( $lists ) {
$fields->push( new LabelField( _t('Unsubcribe.SUBSCRIBEDTO', 'You are subscribed to the following lists:')) ); $fields->push( new LabelField( 'You are subscribed to the following lists:' ) );
foreach( $lists as $list ) { foreach( $lists as $list ) {
$fields->push( new CheckboxField( "MailingLists[{$list->ID}]", $list->Title ) ); $fields->push( new CheckboxField( "MailingLists[{$list->ID}]", $list->Title ) );
} }
$actions->push( new FormAction('unsubscribe', _t('Unsubscribe.UNSUBSCRIBE', 'Unsubscribe') ) ); $actions->push( new FormAction('unsubscribe', 'Unsubscribe' ) );
} else { } else {
$fields->push( new LabelField(sprintf(_t('Unsubscribe.NOTSUBSCRIBED', 'I\'m sorry, but %s doesn\'t appear to be in any of our mailing lists.'), $email) ) ); $fields->push( new LabelField( "I'm sorry, but $email doesn't appear to be in any of our mailing lists." ) );
} }
parent::__construct( $controller, $name, $fields, $actions ); parent::__construct( $controller, $name, $fields, $actions );
@ -159,22 +145,16 @@ class Unsubscribe_MailingListForm extends Form {
} }
} }
/**
* 1st step form for the Unsubcribe page.
* The form will let people enter an email address and press a button to continue.
* @package cms
* @subpackage newsletter
*/
class Unsubscribe_EmailAddressForm extends Form { class Unsubscribe_EmailAddressForm extends Form {
function __construct( $controller, $name ) { function __construct( $controller, $name ) {
$fields = new FieldSet( $fields = new FieldSet(
new EmailField( 'Email', _t('Unsubscribe.EMAILADDR', 'Email address') ) new EmailField( 'Email', 'Email address' )
); );
$actions = new FieldSet( $actions = new FieldSet(
new FormAction( 'showlists', _t('Unsubscribe.SHOWLISTS', 'Show lists') ) new FormAction( 'showlists', 'Show lists' )
); );
parent::__construct( $controller, $name, $fields, $actions ); parent::__construct( $controller, $name, $fields, $actions );
@ -185,12 +165,6 @@ class Unsubscribe_EmailAddressForm extends Form {
} }
} }
/**
* Final stage form for the Unsubcribe page.
* The form just gives you a success message.
* @package cms
* @subpackage newsletter
*/
class Unsubscribe_Successful extends Form { class Unsubscribe_Successful extends Form {
function __construct($controller, $name){ function __construct($controller, $name){
$fields = new FieldSet(); $fields = new FieldSet();
@ -199,7 +173,7 @@ class Unsubscribe_Successful extends Form {
} }
function setSuccessfulMessage($email, $newsletterTypes) { function setSuccessfulMessage($email, $newsletterTypes) {
Requirements::themedCSS("form"); Requirements::themedCSS("form");
$this->setMessage(sprintf(_t('Unsubscribe.REMOVESUCCESS', 'Thank you. %s will no longer receive the %s.'), $email, $newsletterTypes), "good"); $this->setMessage("Thank you. $email will no longer receive the $newsletterTypes.", "good");
} }
} }

View File

@ -1,15 +1,7 @@
<?php <?php
/** /**
* @package cms * Displays a list of all members that have unsubscribed from the list
* @subpackage newsletter */
*/
/**
* Displays a list of all members that have unsubscribed from the list
* @package cms
* @subpackage newsletter
*/
class UnsubscribedList extends FormField { class UnsubscribedList extends FormField {
protected $nlType; protected $nlType;

View File

@ -1,45 +1,10 @@
<?php <?php
/**
* @package cms
* @subpackage newsletter
*/
/**
* Newsletter administration section
* @package cms
* @subpackage newsletter
*/
class NewsletterAdmin extends LeftAndMain { class NewsletterAdmin extends LeftAndMain {
static $subitem_class = "Member"; static $subitem_class = "Member";
static $template_path = null; // defaults to (project)/templates/email static $template_path = null; // defaults to (project)/templates/email
static $allowed_actions = array(
'adddraft',
'addgroup',
'addtype',
'autocomplete',
'displayfilefield',
'getformcontent',
'getsentstatusreport',
'getsitetree',
'memberblacklisttoggle',
'newmember',
'remove',
'removebouncedmember',
'removenewsletter',
'save',
'savemember',
'savenewsletter',
'sendnewsletter',
'showdrafts',
'showmailtype',
'shownewsletter',
'showrecipients',
'showsent',
);
public function init() { public function init() {
// Check permissions // Check permissions
// if(!Member::currentUser() || !Member::currentUser()->isAdmin()) Security::permissionFailure($this); // if(!Member::currentUser() || !Member::currentUser()->isAdmin()) Security::permissionFailure($this);
@ -258,13 +223,14 @@ class NewsletterAdmin extends LeftAndMain {
if(isset($mailType) && is_object($mailType) && $mailType->GroupID) { if(isset($mailType) && is_object($mailType) && $mailType->GroupID) {
$group = DataObject::get_one("Group", "ID = $mailType->GroupID"); $group = DataObject::get_one("Group", "ID = $mailType->GroupID");
} }
if(isset($mailType)&&$mailType) {
if(isset($mailType)) {
$fields = new FieldSet( $fields = new FieldSet(
new TabSet("Root", new TabSet("Root",
new Tab(_t('NewsletterAdmin.NLSETTINGS', 'Newsletter Settings'), new Tab("Newsletter Settings",
new TextField("Title", _t('NewsletterAdmin.NEWSLTYPE','Newsletter Type')), new TextField("Title", _t('NewsletterAdmin.NEWSLTYPE','Newsletter Type')),
new TextField("FromEmail", _t('NewsletterAdmin.FROMEM','From email address')), new TextField("FromEmail", _t('NewsletterAdmin.FROMEM','From email address')),
$templates = new TemplateList("Template", _t('NewsletterAdmin.TEMPLATE', 'Template'), $mailType->Template, self::template_path()) $templates = new TemplateList("Template","Template", $mailType->Template, self::template_path())
) )
) )
); );
@ -275,7 +241,7 @@ class NewsletterAdmin extends LeftAndMain {
$fields->push( new HiddenField( "executeForm", "", "TypeEditForm" ) ); $fields->push( new HiddenField( "executeForm", "", "TypeEditForm" ) );
$idField->setValue($id); $idField->setValue($id);
$actions = new FieldSet(new FormAction('save', _t('NewsletterAdmin.SAVE', 'Save'))); $actions = new FieldSet(new FormAction('save','Save'));
$form = new Form($this, "EditForm", $fields, $actions); $form = new Form($this, "EditForm", $fields, $actions);
$form->loadDataFrom(array( $form->loadDataFrom(array(
@ -309,20 +275,20 @@ class NewsletterAdmin extends LeftAndMain {
if(isset($mailType) && is_object($mailType)) { if(isset($mailType) && is_object($mailType)) {
$fields = new FieldSet( $fields = new FieldSet(
new TabSet("Root", new TabSet("Root",
new Tab(_t('NewsletterAdmin.RECIPIENTS', 'Recipients'), new Tab( "Recipients",
$recipients = new MemberTableField( $recipients = new MemberTableField(
$this, $this,
"Recipients", "Recipients",
$group $group
) )
), ),
new Tab(_t('NewsletterAdmin.IMPORT', 'Import'), new Tab( "Import",
$importField = new RecipientImportField("ImportFile",_t('NewsletterAdmin.IMPORTFROM', 'Import from file'), $group ) $importField = new RecipientImportField("ImportFile","Import from file", $group )
), ),
new Tab(_t('NewsletterAdmin.UNSUBSCRIBERS', 'Unsubscribers'), new Tab("Unsubscribers",
$unsubscribedList = new UnsubscribedList("Unsubscribed", $mailType) $unsubscribedList = new UnsubscribedList("Unsubscribed", $mailType)
), ),
new Tab(_t('NewsletterAdmin.BOUNCED','Bounced'), $bouncedList = new BouncedList("Bounced", $mailType ) new Tab("Bounced", $bouncedList = new BouncedList("Bounced", $mailType )
) )
) )
); );
@ -375,7 +341,7 @@ class NewsletterAdmin extends LeftAndMain {
} else { } else {
user_error("NewsletterAdmin::removebouncedmember: Bad parameters: Group=$groupID, Member=".$bounceObject->MemberID, E_USER_ERROR); user_error("NewsletterAdmin::removebouncedmember: Bad parameters: Group=$groupID, Member=".$bounceObject->MemberID, E_USER_ERROR);
} }
FormResponse::status_message($memberObject->Email.' '._t('NewsletterAdmin.REMOVEDSUCCESS', 'was removed from the mailing list'), 'good'); FormResponse::status_message($memberObject->Email.' was removed from the mailing list', 'good');
FormResponse::add("$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value, 'recipients');"); FormResponse::add("$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value, 'recipients');");
return FormResponse::respond(); return FormResponse::respond();
} }
@ -454,7 +420,7 @@ class NewsletterAdmin extends LeftAndMain {
$id = isset($_REQUEST['ID']) ? $_REQUEST['ID'] : $_REQUEST['NewsletterID']; $id = isset($_REQUEST['ID']) ? $_REQUEST['ID'] : $_REQUEST['NewsletterID'];
if( !$id ) { if( !$id ) {
FormResponse::status_message(_t('NewsletterAdmin.NONLSPECIFIED', 'No newsletter specified'),'bad'); FormResponse::status_message('No newsletter specified','bad');
return FormResponse::respond(); return FormResponse::respond();
} }
@ -577,11 +543,11 @@ class NewsletterAdmin extends LeftAndMain {
// If the email is currently not blocked, block it // If the email is currently not blocked, block it
if (FALSE == $memberObject->BlacklistedEmail) { if (FALSE == $memberObject->BlacklistedEmail) {
$memberObject->setBlacklistedEmail(TRUE); $memberObject->setBlacklistedEmail(TRUE);
FormResponse::status_message($memberObject->Email.' '._t('NewsletterAdmin.ADDEDTOBL', 'was added to blacklist'), 'good'); FormResponse::status_message($memberObject->Email.' was added to blacklist', 'good');
} else { } else {
// Unblock the email // Unblock the email
$memberObject->setBlacklistedEmail(FALSE); $memberObject->setBlacklistedEmail(FALSE);
FormResponse::status_message($memberObject->Email.' '._t('NewsletterAdmin.REMOVEDFROMBL','was removed from blacklist'), 'good'); FormResponse::status_message($memberObject->Email.' was removed from blacklist', 'good');
} }
return FormResponse::respond(); return FormResponse::respond();
} }

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage pagetypes
*/
/**
* Page type that lets users build a contact form.
* @package cms
* @subpackage pagetypes
*/
class UserDefinedForm extends Page { class UserDefinedForm extends Page {
static $add_action = "a contact form"; static $add_action = "a contact form";
@ -43,9 +33,9 @@ class UserDefinedForm extends Page {
function getCMSFields($cms) { function getCMSFields($cms) {
$fields = parent::getCMSFields($cms); $fields = parent::getCMSFields($cms);
$fields->addFieldToTab("Root."._t('UserDefinedForm.FORM', 'Form'), new FieldEditor("Fields", 'Fields', "", $this )); $fields->addFieldToTab("Root.Form", new FieldEditor("Fields", "Fields", "", $this ));
$fields->addFieldToTab("Root."._t('UserDefinedForm.SUBMISSIONS','Submissions'), new SubmittedFormReportField( "Reports", _t('UserDefinedForm.RECEIVED', 'Received Submissions'), "", $this ) ); $fields->addFieldToTab("Root.Submissions", new SubmittedFormReportField( "Reports", "Received Submissions", "", $this ) );
$fields->addFieldToTab("Root.Content."._t('UserDefinedForm.ONCOMPLETE','On complete'), new HtmlEditorField( "OnCompleteMessage", _t('UserDefinedForm.ONCOMPLETELABEL', 'Show on completion'),3,"",_t('UserDefinedForm.ONCOMPLETEMESSAGE', $this->OnCompleteMessage), $this ) ); $fields->addFieldToTab("Root.Content.On complete", new HtmlEditorField( "OnCompleteMessage", "Show on completion",3,"",$this->OnCompleteMessage, $this ) );
return $fields; return $fields;
} }
@ -61,7 +51,7 @@ class UserDefinedForm extends Page {
// Build actions // Build actions
$actions = new FieldSet( $actions = new FieldSet(
new FormAction( "filter", _t('UserDefinedForm.SUBMIT', 'Submit') ) new FormAction( "filter", "Submit" )
); );
// set the name of the form // set the name of the form
@ -116,12 +106,12 @@ class UserDefinedForm extends Page {
$submittedValues = DataObject::get( 'SubmittedFormField', implode( ' AND ', $filterClause ), "", "INNER JOIN `SubmittedForm` ON `SubmittedFormField`.`ParentID`=`SubmittedForm`.`ID`" ); $submittedValues = DataObject::get( 'SubmittedFormField', implode( ' AND ', $filterClause ), "", "INNER JOIN `SubmittedForm` ON `SubmittedFormField`.`ParentID`=`SubmittedForm`.`ID`" );
if( !$submittedValues || $submittedValues->Count() == 0 ) if( !$submittedValues || $submittedValues->Count() == 0 )
return _t('UserDefinedForm.NORESULTS', 'No matching results found'); return "No matching results found";
$submissions = $submittedValues->groupWithParents( 'ParentID', 'SubmittedForm' ); $submissions = $submittedValues->groupWithParents( 'ParentID', 'SubmittedForm' );
if( !$submissions || $submissions->Count() == 0 ) if( !$submissions || $submissions->Count() == 0 )
return _t('UserDefinedForm.NORESULTS', 'No matching results found'); return "No matching results found";
return $submissions->customise( return $submissions->customise(
array( 'Submissions' => $submissions ) array( 'Submissions' => $submissions )
@ -141,7 +131,7 @@ class UserDefinedForm extends Page {
} }
public function customFormActions( $isReadonly = false ) { public function customFormActions( $isReadonly = false ) {
return new FieldSet( new TextField( "SubmitButtonText", _t('UserDefinedForm.TEXTONSUBMIT', 'Text on submit button:'), $this->SubmitButtonText ) ); return new FieldSet( new TextField( "SubmitButtonText", "Text on submit button:", $this->SubmitButtonText ) );
} }
/** /**
@ -159,11 +149,6 @@ class UserDefinedForm extends Page {
} }
} }
/**
* Controller for the {@link UserDefinedForm} page type.
* @package cms
* @subpackage pagetypes
*/
class UserDefinedForm_Controller extends Page_Controller { class UserDefinedForm_Controller extends Page_Controller {
function init() { function init() {
@ -188,12 +173,7 @@ class UserDefinedForm_Controller extends Page_Controller {
$required[] = $field->Name; $required[] = $field->Name;
} }
if(!isset($_SERVER['HTTP_REFERER'])) { $fields->push( new HiddenField( "Referrer", "", $_SERVER['HTTP_REFERER'] ) );
$_SERVER['HTTP_REFERER'] = "";
}
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
$fields->push( new HiddenField( "Referrer", "", $referer ) );
// Build actions // Build actions
$actions = new FieldSet( $actions = new FieldSet(
@ -233,7 +213,7 @@ class UserDefinedForm_Controller extends Page_Controller {
if( $field->hasMethod( 'getValueFromData' ) ) if( $field->hasMethod( 'getValueFromData' ) )
$submittedField->Value = $field->getValueFromData( $data ); $submittedField->Value = $field->getValueFromData( $data );
else else
if(isset($data[$field->Name])) $submittedField->Value = $data[$field->Name]; $submittedField->Value = $data[$field->Name];
$submittedField->write(); $submittedField->write();
$submittedFields->push($submittedField); $submittedFields->push($submittedField);
@ -279,7 +259,7 @@ class UserDefinedForm_Controller extends Page_Controller {
$values[$field->Title] = Convert::linkIfMatch($field->getValueFromData( $data )); $values[$field->Title] = Convert::linkIfMatch($field->getValueFromData( $data ));
} else { } else {
if(isset($data[$field->Name])) $values[$field->Title] = Convert::linkIfMatch($data[$field->Name]); $values[$field->Title] = Convert::linkIfMatch($data[$field->Name]);
} }
} }
@ -321,20 +301,14 @@ class UserDefinedForm_Controller extends Page_Controller {
} }
} }
/**
* Email that gets sent when a submission is made.
* @package cms
* @subpackage pagetypes
*/
class UserDefinedForm_SubmittedFormEmail extends Email_Template { class UserDefinedForm_SubmittedFormEmail extends Email_Template {
protected $ss_template = "SubmittedFormEmail"; protected $ss_template = "SubmittedFormEmail";
protected $from = '$Sender.Email'; protected $from = '$Sender.Email';
protected $to = '$Recipient.Email'; protected $to = '$Recipient.Email';
protected $subject = 'Submission of form'; protected $subject = "Submission of form";
protected $data; protected $data;
function __construct($values) { function __construct($values) {
$this->subject = _t('UserDefinedForm_SubmittedFormEmail.EMAILSUBJECT', 'Submission of form');
parent::__construct(); parent::__construct();
$this->data = $values; $this->data = $values;

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage reports
*/
/**
* Reports section of the CMS
* @package cms
* @subpackage reports
*/
class ReportAdmin extends LeftAndMain { class ReportAdmin extends LeftAndMain {
static $subitem_class = "GrantObject"; static $subitem_class = "GrantObject";

View File

@ -1,30 +1,9 @@
<?php <?php
/**
* @package cms
* @subpackage security
*/
/**
* Security section of the CMS
* @package cms
* @subpackage security
*/
class SecurityAdmin extends LeftAndMain implements PermissionProvider { class SecurityAdmin extends LeftAndMain implements PermissionProvider {
static $tree_class = "Group"; static $tree_class = "Group";
static $subitem_class = "Member"; static $subitem_class = "Member";
static $allowed_actions = array(
'addgroup',
'addmember',
'autocomplete',
'getmember',
'listmembers',
'newmember',
'removememberfromgroup',
'savemember',
);
public function init() { public function init() {
// Check permissions // Check permissions
// if(!Member::currentUser() || !Member::currentUser()->isAdmin()) Security::permissionFailure($this); // if(!Member::currentUser() || !Member::currentUser()->isAdmin()) Security::permissionFailure($this);
@ -55,32 +34,24 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
if($record) { if($record) {
$fields = new FieldSet( $fields = new FieldSet(
new TabSet("Root", new TabSet("Root",
new Tab(_t('SecurityAdmin.MEMBERS', 'Members'), new Tab("Members",
new TextField("Title", _t('SecurityAdmin.GROUPNAME', 'Group name')), new TextField("Title", "Group name"),
$memberList = new MemberTableField( $memberList = new MemberTableField(
$this, $this,
"Members", "Members",
$record, $record
null,
false
) )
), ),
new Tab(_t('SecurityAdmin.PERMISSIONS', 'Permissions'), new Tab("Permissions",
new LiteralField("", "<p>"._t('SecurityAdmin.ADVANCEDONLY',"This section is for advanced users only. new LiteralField("", "<p>"._t('SecurityAdmin.ADVANCEDONLY',"This section is for advanced users only.
See <a href=\"http://doc.silverstripe.com/doku.php?id=permissions:codes\" target=\"_blank\">this page</a> See <a href=\"http://doc.silverstripe.com/doku.php?id=permissions:codes\" target=\"_blank\">this page</a>
for more information.")."</p>"), for more information.")."</p>"),
new TableField( new TableField(
"Permissions", "Permissions",
"Permission", "Permission",
array( array("Code" => "Code", "Arg" => "Optional ID"),
"Code" => _t('SecurityAdmin.CODE', 'Code'), array("Code" => "PermissionDropdownField", "Arg" => "TextField"),
"Arg" => _t('SecurityAdmin.OPTIONALID', 'Optional ID'),
),
array(
"Code" => "PermissionDropdownField",
"Arg" => "TextField",
),
"GroupID", $id "GroupID", $id
) )
) )
@ -91,13 +62,11 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
$memberList->setController($this); $memberList->setController($this);
$memberList->setPermissions(array('show', 'edit', 'delete', 'export', 'add')); $memberList->setPermissions(array('show', 'edit', 'delete', 'export', 'add'));
$memberList->setParentClass('Group');
$memberList->setPopupCaption(_t('SecurityAdmin.VIEWUSER', 'View User'));
$fields->push($idField = new HiddenField("ID")); $fields->push($idField = new HiddenField("ID"));
$idField->setValue($id); $idField->setValue($id);
$actions = new FieldSet( $actions = new FieldSet(
//new FormAction('addmember',_t('SecurityAdmin.ADDMEMBER','Add Member')) new FormAction('addmember',_t('SecurityAdmin.ADDMEMBER','Add Member'))
); );
$actions->push(new FormAction('save',_t('SecurityAdmin.SAVE','Save'))); $actions->push(new FormAction('save',_t('SecurityAdmin.SAVE','Save')));
@ -124,7 +93,6 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
public function autocomplete() { public function autocomplete() {
$fieldName = $this->urlParams['ID']; $fieldName = $this->urlParams['ID'];
$fieldVal = $_REQUEST[$fieldName]; $fieldVal = $_REQUEST[$fieldName];
$result = '';
$matches = DataObject::get("Member","$fieldName LIKE '" . addslashes($fieldVal) . "%'"); $matches = DataObject::get("Member","$fieldName LIKE '" . addslashes($fieldVal) . "%'");
if($matches) { if($matches) {
@ -367,7 +335,7 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
function providePermissions() { function providePermissions() {
return array( return array(
'EDIT_PERMISSIONS' => _t('SecurityAdmin.EDITPERMISSIONS', 'Edit Permissions on each Group'), 'EDIT_PERMISSIONS' => 'Edit Permissions on each Group',
); );
} }
} }

View File

@ -1,16 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage content
*/
/**
* Base class for the small reports that appear in the left hand site of the Site Content section of the CMS.
* Create subclasses of this class to build new reports.
* @package cms
* @subpackage content
*/
abstract class SideReport extends Object { abstract class SideReport extends Object {
abstract function records(); abstract function records();
abstract function fieldsToShow(); abstract function fieldsToShow();
@ -25,19 +14,7 @@ abstract class SideReport extends Object {
foreach($records as $record) { foreach($records as $record) {
$result .= "<li>\n"; $result .= "<li>\n";
foreach($fieldsToShow as $fieldTitle => $fieldInfo) { foreach($fieldsToShow as $fieldTitle => $fieldSource) {
if(isset($fieldInfo['source'])) {
$fieldSource = $fieldInfo['source'];
// Legacy format for the input data
} else {
$fieldSource = $fieldInfo;
$fieldInfo = array(
'link' => true,
'newline' => false,
);
}
$fieldName = ereg_replace('[^A-Za-z0-9]+','',$fieldTitle); $fieldName = ereg_replace('[^A-Za-z0-9]+','',$fieldTitle);
if(is_string($fieldSource)) { if(is_string($fieldSource)) {
$val = $record->$fieldSource; $val = $record->$fieldSource;
@ -45,14 +22,7 @@ abstract class SideReport extends Object {
$val = $record->val($fieldSource[0], $fieldSource[1]); $val = $record->val($fieldSource[0], $fieldSource[1]);
} }
if(isset($fieldInfo['newline']) && $fieldInfo['newline']) $result .= "<br>"; $result .= "<a class=\"$fieldName\" href=\"admin/show/$record->ID\">$val</a>";
if(isset($fieldInfo['link']) && $fieldInfo['link']) {
$link = ($fieldInfo['link'] === true) ? "admin/show/$record->ID" : $fieldInfo['link'];
$result .= "<a class=\"$fieldName\" href=\"$link\">$val</a>";
} else {
$result .= "<span class=\"$fieldName\">$val</span>";
}
} }
$result .= "\n</li>\n"; $result .= "\n</li>\n";
} }
@ -64,11 +34,6 @@ abstract class SideReport extends Object {
} }
} }
/**
* Content side-report listing empty pages
* @package cms
* @subpackage content
*/
class SideReport_EmptyPages extends SideReport { class SideReport_EmptyPages extends SideReport {
function title() { function title() {
return _t('SideReport.EMPTYPAGES',"Empty pages"); return _t('SideReport.EMPTYPAGES',"Empty pages");
@ -83,11 +48,6 @@ class SideReport_EmptyPages extends SideReport {
} }
} }
/**
* Content side-report listing recently editing pages.
* @package cms
* @subpackage content
*/
class SideReport_RecentlyEdited extends SideReport { class SideReport_RecentlyEdited extends SideReport {
function title() { function title() {
return _t('SideReport.LAST2WEEKS',"Pages edited in the last 2 weeks"); return _t('SideReport.LAST2WEEKS',"Pages edited in the last 2 weeks");
@ -101,25 +61,4 @@ class SideReport_RecentlyEdited extends SideReport {
); );
} }
} }
class SideReport_ToDo extends SideReport {
function title() {
return _t('SideReport.TODO',"To do");
}
function records() {
return DataObject::get("SiteTree", "`SiteTree`.ToDo IS NOT NULL AND `SiteTree`.ToDo <> ''", "`SiteTree`.`LastEdited` DESC");
}
function fieldsToShow() {
return array(
"Title" => array(
"source" => array("NestedTitle", array("2")),
"link" => true,
),
"ToDo" => array(
"source" => "ToDo",
"newline" => true,
),
);
}
}
?> ?>

View File

@ -1,25 +1,18 @@
<?php <?php
/**
* @package cms
* @subpackage export
*/
/** /**
* This class lets you export a static copy of your site. * This class lets you export a static copy of your site.
* It creates a huge number of folders each containing an index.html file. * It creates a huge number of folders each containing an index.html file.
* This preserves the URL naming format. * This preserves the URL naming format.
* @package cms
* @subpackage export
*/ */
class StaticExporter extends Controller { class StaticExporter extends Controller {
function init() { function init() {
parent::init(); parent::init();
if(!Permission::check('ADMIN')) { if(!Permission::check('ADMIN')) {
$messageSet = array( $messageSet = array(
'default' => _t('LeftAndMain.PERMDEFAULT', 'Enter your email address and password to access the CMS.'), 'default' => "Enter your email address and password to access the CMS.",
'alreadyLoggedIn' => _t('LeftAndMain.PERMALREADY', 'I\'m sorry, but you can\'t access that part of the CMS. If you want to log in as someone else, do so below'), 'alreadyLoggedIn' => "I'm sorry, but you can't access that part of the CMS. If you want to log in as someone else, do so below",
'logInAgain' => _t('LeftAndMain.PERMAGAIN', 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.'), 'logInAgain' => "You have been logged out of the CMS. If you would like to log in again, enter a username and password below.",
); );
Security::permissionFailure($this, $messageSet); Security::permissionFailure($this, $messageSet);

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage reports
*/
/**
* Statistics section of the CMS
* @package cms
* @subpackage reports
*/
class StatisticsAdmin extends LeftAndMain { class StatisticsAdmin extends LeftAndMain {
static $tree_class = "SiteTree"; static $tree_class = "SiteTree";
static $subitem_class = "Member"; static $subitem_class = "Member";
@ -84,7 +74,7 @@ class StatisticsAdmin extends LeftAndMain {
*/ */
public function EditForm() { public function EditForm() {
return "<div class=\"tab statstab\" id=\"bovs\">\n return "<div class=\"tab statstab\" id=\"bovs\">\n
<h1>"._t('StatisticsAdmin.WELCOME','Select a report type from the left for a detailed look at site statistics')."</h1>\n\n" . <h1>Select a report type from the left for a detailed look at site statistics</h1>\n\n" .
$this->RecentViews() . $this->RecentViews() .
"\n\n</div>\n\n" . "\n\n</div>\n\n" .
$this->showAll(); $this->showAll();

View File

@ -1,16 +1,9 @@
<?php <?php
/**
* @package cms
* @subpackage assets
*/
/** /**
* Provides a strip of thumbnails showing all of the images in the system. * Provides a strip of thumbnails showing all of the images in the system.
* It will be tied to a 'parent field' that will provide it with a filter by which to reduce the number * It will be tied to a 'parent field' that will provide it with a filter by which to reduce the number
* of thumbnails displayed. * of thumbnails displayed.
* @package cms
* @subpackage assets
*/ */
class ThumbnailStripField extends FormField { class ThumbnailStripField extends FormField {
protected $parentField; protected $parentField;
@ -84,7 +77,7 @@ class ThumbnailStripField extends FormField {
} }
$result .= '</ul>'; $result .= '</ul>';
}else{ }else{
$result = '<h2> '._t('ThumbnailStripField.NOIMAGESFOUND', 'No images found in').' '. $folder->Title. '</h2>'; $result = "<h2> No images found in ". $folder->Title. "</h2>";
} }
return $result; return $result;

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage content
*/
/**
* Special field type for selecting and configuring widgets on a page.
* @package cms
* @subpackage content
*/
class WidgetAreaEditor extends FormField { class WidgetAreaEditor extends FormField {
function FieldHolder() { function FieldHolder() {
return $this->renderWith("WidgetAreaEditor"); return $this->renderWith("WidgetAreaEditor");

View File

@ -15,8 +15,7 @@
* *
* See the Akismet class documentation page linked to below for usage information. * See the Akismet class documentation page linked to below for usage information.
* *
* @package cms * @package Akismet
* @subpackage comments
* @author Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net} * @author Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net}
* @version 0.1 * @version 0.1
* @copyright Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net} * @copyright Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net}
@ -44,11 +43,11 @@
* // store the comment normally * // store the comment normally
* </code> * </code>
* *
* @package akismet
* @name Akismet
* @version 0.2 * @version 0.2
* @author Alex Potsides * @author Alex Potsides
* @link http://www.achingbrain.net/ * @link http://www.achingbrain.net/
* @package cms
* @subpackage comments
*/ */
class Akismet class Akismet
{ {
@ -299,12 +298,11 @@ class Akismet
* *
* N.B. It is not necessary to call this class directly to use the Akismet class. This is included here mainly out of a sense of completeness. * N.B. It is not necessary to call this class directly to use the Akismet class. This is included here mainly out of a sense of completeness.
* *
* @package akismet
* @name SocketWriteRead * @name SocketWriteRead
* @version 0.1 * @version 0.1
* @author Alex Potsides * @author Alex Potsides
* @link http://www.achingbrain.net/ * @link http://www.achingbrain.net/
* @package cms
* @subpackage comments
*/ */
class SocketWriteRead class SocketWriteRead
{ {

View File

@ -1,15 +1,7 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/** /**
* Tools for adding an optional protection question to a form. * Tools for adding an optional protection question to a form.
* Remember to add MathSpamProtection::enabled(true); to _config.php for this question to be added to the comments form. * Remember to add MathSpamProtection::enabled(true); to _config.php for this question to be added to the comments form.
* @package cms
* @subpackage comments
*/ */
class MathSpamProtection { class MathSpamProtection {

View File

@ -1,15 +1,5 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/**
* Represents a single comment on a page
* @package cms
* @subpackage comments
*/
class PageComment extends DataObject { class PageComment extends DataObject {
static $db = array( static $db = array(
"Name" => "Varchar", "Name" => "Varchar",
@ -182,9 +172,8 @@ class PageComment extends DataObject {
$this->Parent()->Title $this->Parent()->Title
); );
} }
function rss() { function rss() {
$parentcheck = isset($_REQUEST['pageid']) ? "ParentID = " . (int) $_REQUEST['pageid'] : "ParentID > 0"; $parentcheck = isset($_REQUEST['pageid']) ? "ParentID = {$_REQUEST['pageid']}" : "ParentID > 0";
$comments = DataObject::get("PageComment", "$parentcheck AND IsSpam=0", "Created DESC", "", 10); $comments = DataObject::get("PageComment", "$parentcheck AND IsSpam=0", "Created DESC", "", 10);
if(!isset($comments)) { if(!isset($comments)) {
$comments = new DataObjectSet(); $comments = new DataObjectSet();

View File

@ -1,16 +1,9 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/** /**
* Represents an interface for viewing and adding page comments * Represents an interface for viewing and adding page comments
* Create one, passing the page discussed to the constructor. It can then be * Create one, passing the page discussed to the constructor. It can then be
* inserted into a template. * inserted into a template.
* @package cms
* @subpackage comments
*/ */
class PageCommentInterface extends ViewableData { class PageCommentInterface extends ViewableData {
protected $controller, $methodName, $page; protected $controller, $methodName, $page;
@ -40,16 +33,17 @@ class PageCommentInterface extends ViewableData {
$fields = new FieldSet( $fields = new FieldSet(
new HiddenField("ParentID", "ParentID", $this->page->ID), new HiddenField("ParentID", "ParentID", $this->page->ID),
new TextField("Name", _t('PageCommentInterface.YOURNAME', 'Your name'))); new TextField("Name", "Your name")
);
if(MathSpamProtection::isEnabled()){ if(MathSpamProtection::isEnabled()){
$fields->push(new TextField("Math", sprintf(_t('PageCommentInterface.SPAMQUESTION', "Spam protection question: %s"), MathSpamProtection::getMathQuestion()))); $fields->push(new TextField("Math","Spam protection question: ".MathSpamProtection::getMathQuestion()));
} }
$fields->push(new TextareaField("Comment", _t('PageCommentInterface.YOURCOMMENT', "Comments"))); $fields->push(new TextareaField("Comment", "Comments"));
$form = new PageCommentInterface_Form($this->controller, $this->methodName . ".PostCommentForm",$fields, new FieldSet( $form = new PageCommentInterface_Form($this->controller, $this->methodName . ".PostCommentForm",$fields, new FieldSet(
new FormAction("postcomment", _t('PageCommentInterface.POST', 'Post')) new FormAction("postcomment", "Post")
)); ));
$form->loadDataFrom(array( $form->loadDataFrom(array(
@ -87,10 +81,6 @@ class PageCommentInterface extends ViewableData {
} }
/**
* @package cms
* @subpackage comments
*/
class PageCommentInterface_Form extends Form { class PageCommentInterface_Form extends Form {
function postcomment($data) { function postcomment($data) {
// Spam filtering // Spam filtering
@ -108,9 +98,10 @@ class PageCommentInterface_Form extends Form {
$comment->setField("IsSpam", true); $comment->setField("IsSpam", true);
$comment->write(); $comment->write();
} }
echo "<b>"._t('PageCommentInterface_Form.SPAMDETECTED', 'Spam detected!!') . "</b><br /><br />"; echo "<b>Spam detected!!</b><br /><br />";
printf("If you believe this was in error, please email %s.", ereg_replace("@", " _(at)_", Email::getAdminEmail())); echo "If you believe this was in error, please email ";
echo "<br /><br />"._t('PageCommentInterface_Form.MSGYOUPOSTED', 'The message you posted was:'). "<br /><br />"; echo ereg_replace("@", " _(at)_", Email::getAdminEmail());
echo ".<br /><br />The message you posted was:<br /><br />";
echo $data['Comment']; echo $data['Comment'];
return; return;
@ -140,7 +131,7 @@ class PageCommentInterface_Form extends Form {
if(Director::is_ajax()) { if(Director::is_ajax()) {
if($comment->NeedsModeration){ if($comment->NeedsModeration){
echo _t('PageCommentInterface_Form.AWAITINGMODERATION', "Your comment has been submitted and is now awating moderation."); echo "Your comment has been submitted and is now awating moderation.";
} else{ } else{
echo $comment->renderWith('PageCommentInterface_singlecomment'); echo $comment->renderWith('PageCommentInterface_singlecomment');
} }
@ -150,10 +141,6 @@ class PageCommentInterface_Form extends Form {
} }
} }
/**
* @package cms
* @subpackage comments
*/
class PageCommentInterface_Controller extends ContentController { class PageCommentInterface_Controller extends ContentController {
function __construct() { function __construct() {
parent::__construct(null); parent::__construct(null);
@ -161,7 +148,7 @@ class PageCommentInterface_Controller extends ContentController {
function newspamquestion() { function newspamquestion() {
if(Director::is_ajax()) { if(Director::is_ajax()) {
echo Convert::raw2xml(sprintf(_t('PageCommentInterface_Controller.SPAMQUESTION', "Spam protection question: %s"),MathSpamProtection::getMathQuestion())); echo Convert::raw2xml("Spam protection question: ".MathSpamProtection::getMathQuestion());
} }
} }
} }

View File

@ -1,14 +1,4 @@
<?php <?php
/**
* @package cms
* @subpackage comments
*/
/**
* @package cms
* @subpackage comments
*/
class SSAkismet extends Akismet { class SSAkismet extends Akismet {
private static $apiKey; private static $apiKey;
private static $saveSpam = true; private static $saveSpam = true;

View File

@ -50,5 +50,4 @@ div.availableWidgets div.Widget h3 {
text-indent: 5px; text-indent: 5px;
background: #000 url(../images/textures/obar-18.gif); background: #000 url(../images/textures/obar-18.gif);
margin: 0; margin: 0;
cursor: move;
} }

View File

@ -1,5 +1,6 @@
#left form.actionparams { #left form.actionparams {
background: #ccc; background: #ccc;
border-bottom: 1px solid #eee;
padding: 3px 5px; padding: 3px 5px;
} }
#left form.actionparams input, #left form.actionparams input,
@ -288,23 +289,17 @@ ul#sitetree.tree ul ul {
} }
/* This applies to both the LHS context menu and the TinyMCE context menu */
.contextMenu {
z-index: 1000;
background-color: white;
border: 1px #CCC solid;
}
ul.contextMenu { .contextMenu {
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
ul.contextMenu li { .contextMenu li {
list-style-type: none; list-style-type: none;
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
ul.contextMenu li a { .contextMenu li a {
display: block; display: block;
font-family: Tahoma, Verdana, Arial, Helvetica; font-family: Tahoma, Verdana, Arial, Helvetica;
font-size: 11px; font-size: 11px;
@ -312,7 +307,7 @@ ul.contextMenu li a {
color: black; color: black;
text-decoration: none; text-decoration: none;
} }
ul.contextMenu li a:hover { .contextMenu li a:hover {
background-color: #B6BDD2; background-color: #B6BDD2;
text-decoration: none; text-decoration: none;
} }
@ -369,9 +364,3 @@ ul.tree li.untranslated a:visited {
#LangSelector_holder.onelang { #LangSelector_holder.onelang {
display: none; display: none;
} }
#SortItems {
border-bottom: 1px solid #cccccc;
background: #CCCCCC none repeat scroll 0%;
padding: 3px 0 3px 7px;
}

View File

@ -371,11 +371,7 @@ TreeContextMenu = {
'Edit this page' : function(treeNode) { 'Edit this page' : function(treeNode) {
treeNode.selectTreeNode(); treeNode.selectTreeNode();
}, },
'Duplicate page and children' : function(treeNode) { 'Duplicate this page' : function(treeNode) {
// First save the page silently (without confirmation) and then duplicate the page.
autoSave(false, treeNode.duplicatePageWithChildren.bind(treeNode));
},
'Duplicate just this page' : function(treeNode) {
// First save the page silently (without confirmation) and then duplicate the page. // First save the page silently (without confirmation) and then duplicate the page.
autoSave(false, treeNode.duplicatePage.bind(treeNode)); autoSave(false, treeNode.duplicatePage.bind(treeNode));
}, },

View File

@ -8,13 +8,18 @@ RightContent.prototype = {
welcomeMessage: "<h1>SilverStripe CMS</h1><p>Welcome to SilverStripe CMS! Please choose click on one of the items on the left pane.</p>", welcomeMessage: "<h1>SilverStripe CMS</h1><p>Welcome to SilverStripe CMS! Please choose click on one of the items on the left pane.</p>",
initialize : function() { initialize : function() {
Behaviour.register({
'#Form_EditForm_action_delete' : {
onclick: this.remove.bind(this)
}
});
}, },
updateCMSContent: function(el, currentTab, link, customCallBack) { updateCMSContent: function(el, currentTab, link, customCallBack) {
if(!customCallBack) customCallBack = function(){}; if(!customCallBack) customCallBack = function(){};
if(el || link){ if(el || link){
var reqLink = (el && el.href) ? el.href : link; var reqLink = (el.href) ? el.href : link;
if(typeof(currentTab) != 'undefined') if(typeof(currentTab) != 'undefined')
$('Form_EditForm').openTab = currentTab; $('Form_EditForm').openTab = currentTab;
@ -54,7 +59,7 @@ RightContent.prototype = {
remove: function(e) { remove: function(e) {
if(window.confirm('Are you sure you want to delete?')){ if(window.confirm('Are you sure you want to delete?')){
var el = Event.element(e); var el = Event.element(e);
Ajax.SubmitForm($('Form_EditForm'), el.name, { Ajax.SubmitForm(el.ownerForm, el.name, {
postBody : 'ajax=1', postBody : 'ajax=1',
onSuccess: Ajax.Evaluator, onSuccess: Ajax.Evaluator,
onFailure: ajaxErrorHandler onFailure: ajaxErrorHandler
@ -109,7 +114,3 @@ RightContent.prototype = {
} }
} }
} }
var action_delete_right = function(e) {
$('Form_EditForm').remove(e);
}

View File

@ -190,22 +190,7 @@ TreeNodeAPI.prototype = {
} }
}, },
duplicatePage: function() { duplicatePage: function() {
// Pass the parent ID to the duplicator, which helps ensure that multi-parent pages are duplicated into the node that the user clicked new Ajax.Request(baseHref() + 'admin/duplicate/' + this.getIdx() + '?ajax=1', {
var parentClause = "";
if(this.parentTreeNode && this.parentTreeNode.getIdx) {
parentClause = "&parentID=" + this.parentTreeNode.getIdx();
}
new Ajax.Request(baseHref() + 'admin/duplicate/' + this.getIdx() + '?ajax=1' + parentClause, {
method : 'get',
onSuccess : Ajax.Evaluator,
onFailure : function(response) {
errorMessage('Error: ', response);
}
});
},
duplicatePageWithChildren: function() {
new Ajax.Request(baseHref() + 'admin/duplicatewithchildren/' + this.getIdx() + '?ajax=1', {
method : 'get', method : 'get',
onSuccess : Ajax.Evaluator, onSuccess : Ajax.Evaluator,
onFailure : function(response) { onFailure : function(response) {
@ -458,13 +443,16 @@ ReorganiseAction = Class.create();
ReorganiseAction.applyTo('#sortitems'); ReorganiseAction.applyTo('#sortitems');
ReorganiseAction.prototype = { ReorganiseAction.prototype = {
initialize: function () { initialize: function () {
this.isDraggable = false;
}, },
onclick : function() { onclick : function() {
if ($('sitetree').isDraggable == false) { if (this.isDraggable == false) {
$('sitetree').makeDraggable(); $('sitetree').makeDraggable();
this.isDraggable = true;
} else { } else {
$('sitetree').stopBeingDraggable(); $('sitetree').stopBeingDraggable();
this.isDraggable = false;
} }
} }
} }

View File

@ -30,7 +30,7 @@ ThumbnailStripField.prototype = {
ajaxGetFiles: function(folderID,callback) { ajaxGetFiles: function(folderID,callback) {
if(!callback) callback = this.reapplyBehaviour.bind(this); if(!callback) callback = this.reapplyBehaviour.bind(this);
this.innerHTML = '<span style="float: left">Loading...</span>' this.innerHTML = '<span style="float: left">Loading...</span>'
var ajaxURL = this.helperURLBase() + '&methodName='+this.updateMethod+'&folderID=' + folderID + ($('SecurityID') ? '&SecurityID=' + $('SecurityID').value : '') + '&cacheKillerDate=' + parseInt((new Date()).getTime()) + '&cacheKillerRand=' + parseInt(10000*Math.random()); var ajaxURL = this.helperURLBase() + '&methodName='+this.updateMethod+'&folderID=' + folderID + ($('SecurityID') ? '&SecurityID=' + $('SecurityID').value : '');
new Ajax.Updater(this, ajaxURL, { new Ajax.Updater(this, ajaxURL, {
method : 'get', method : 'get',
onComplete : callback, onComplete : callback,

View File

@ -27,7 +27,7 @@ if((typeof tinyMCE != 'undefined')) {
theme_advanced_toolbar_location : "manually_placed", theme_advanced_toolbar_location : "manually_placed",
theme_advanced_toolbar_align : "left", theme_advanced_toolbar_align : "left",
theme_advanced_toolbar_parent : "right", theme_advanced_toolbar_parent : "right",
plugins : "contextmenu,table,emotions,flash,paste", plugins : "contextmenu,table,emotions,flash",
table_inline_editing : true, table_inline_editing : true,
theme_advanced_buttons1 : "italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,separator,bullist,numlist,outdent,indent,hr,charmap", theme_advanced_buttons1 : "italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,separator,bullist,numlist,outdent,indent,hr,charmap",
theme_advanced_buttons2 : "undo,redo,separator,cut,copy,paste,separator,search,replace,separator,flash", theme_advanced_buttons2 : "undo,redo,separator,cut,copy,paste,separator,search,replace,separator,flash",

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('bg_BG', $lang) && is_array($lang['bg_BG'])) { $lang['bg_BG'] = $lang['en_US'];
$lang['bg_BG'] = array_merge($lang['en_US'], $lang['bg_BG']);
} else {
$lang['bg_BG'] = $lang['en_US'];
}
$lang['bg_BG']['AssetAdmin']['CHOOSEFILE'] = 'Избери файл'; $lang['bg_BG']['AssetAdmin']['CHOOSEFILE'] = 'Избери файл';
$lang['bg_BG']['AssetAdmin']['CONTENTMODBY'] = 'Съдържанието достъпно за промяна от'; $lang['bg_BG']['AssetAdmin']['CONTENTMODBY'] = 'Съдържанието достъпно за промяна от';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('cs_CZ', $lang) && is_array($lang['cs_CZ'])) { $lang['cs_CZ'] = $lang['en_US'];
$lang['cs_CZ'] = array_merge($lang['en_US'], $lang['cs_CZ']);
} else {
$lang['cs_CZ'] = $lang['en_US'];
}
$lang['cs_CZ']['AssetAdmin']['CHOOSEFILE'] = 'Vybrat soubor'; $lang['cs_CZ']['AssetAdmin']['CHOOSEFILE'] = 'Vybrat soubor';
$lang['cs_CZ']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upravitelný'; $lang['cs_CZ']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upravitelný';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('de_DE', $lang) && is_array($lang['de_DE'])) { $lang['de_DE'] = $lang['en_US'];
$lang['de_DE'] = array_merge($lang['en_US'], $lang['de_DE']);
} else {
$lang['de_DE'] = $lang['en_US'];
}
$lang['de_DE']['AssetAdmin']['CHOOSEFILE'] = 'Datei auswählen'; $lang['de_DE']['AssetAdmin']['CHOOSEFILE'] = 'Datei auswählen';
$lang['de_DE']['AssetAdmin']['CONTENTMODBY'] = 'Inhalt veränderbar durch'; $lang['de_DE']['AssetAdmin']['CONTENTMODBY'] = 'Inhalt veränderbar durch';

View File

@ -137,20 +137,6 @@ $lang['en_US']['CMSMain']['VISITRESTORE'] = array(
PR_LOW, PR_LOW,
'restorepage/(ID) should not be translated (is an URL)' 'restorepage/(ID) should not be translated (is an URL)'
); );
$lang['en_US']['CommentAdmin']['APPROVEDCOMMENTS'] = 'Approved Comments';
$lang['en_US']['CommentAdmin']['COMMENTSAWAITINGMODERATION'] = 'Comments Awaiting Moderation';
$lang['en_US']['CommentAdmin']['SPAM'] = 'Spam';
$lang['en_US']['CommentAdmin']['AUTHOR'] = 'Author';
$lang['en_US']['CommentAdmin']['COMMENT'] = 'Comment';
$lang['en_US']['CommentAdmin']['PAGE'] = 'Page';
$lang['en_US']['CommentAdmin']['DATEPOSTED'] = 'Date Posted';
$lang['en_US']['CommentAdmin']['ACCEPT'] = 'Accept';
$lang['en_US']['CommentAdmin']['SPAMMARKED'] = 'Mark as spam';
$lang['en_US']['CommentAdmin']['MARKASNOTSPAM'] = 'Mark as not spam';
$lang['en_US']['CommentAdmin']['DELETE'] = 'Delete';
$lang['en_US']['CommentAdmin']['DELETEALL'] = 'Delete All';
$lang['en_US']['CommentTableField']['SEARCH'] = 'Search';
$lang['en_US']['CommentTableField']['FILTER'] = 'Filter';
$lang['en_US']['LeftAndMain']['PERMDEFAULT'] = 'Please choose an authentication method and enter your credentials to access the CMS.'; $lang['en_US']['LeftAndMain']['PERMDEFAULT'] = 'Please choose an authentication method and enter your credentials to access the CMS.';
$lang['en_US']['LeftAndMain']['PERMALREADY'] = 'I\'m sorry, but you can\'t access that part of the CMS. If you want to log in as someone else, do so below'; $lang['en_US']['LeftAndMain']['PERMALREADY'] = 'I\'m sorry, but you can\'t access that part of the CMS. If you want to log in as someone else, do so below';
$lang['en_US']['LeftAndMain']['PERMAGAIN'] = 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.'; $lang['en_US']['LeftAndMain']['PERMAGAIN'] = 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.';
@ -258,11 +244,6 @@ $lang['en_US']['CMSMain_versions.ss']['NOTPUB'] = 'Not published';
$lang['en_US']['CommentList.ss']['NOCOM'] = 'There are no comments on this page.'; $lang['en_US']['CommentList.ss']['NOCOM'] = 'There are no comments on this page.';
$lang['en_US']['CommentList.ss']['CREATEDW'] = 'Comments are created whenever one of the \'workflow actions\' $lang['en_US']['CommentList.ss']['CREATEDW'] = 'Comments are created whenever one of the \'workflow actions\'
are undertaken - Publish, Reject, Submit.'; are undertaken - Publish, Reject, Submit.';
$lang['en_US']['CommentTableField.ss']['APPROVECOMMENT'] = 'Approve this comment';
$lang['en_US']['CommentTableField.ss']['MARKASSPAM'] = 'Mark this comment as spam' ;
$lang['en_US']['CommentTableField.ss']['MARKNOSPAM'] = 'Mark this comment as not spam';
$lang['en_US']['CommentTableField.ss']['DELETEROW'] = 'Delete this row';
$lang['en_US']['CommentTableField.ss']['NOITEMSFOUND'] = 'No items found';
$lang['en_US']['ImageEditor.ss']['UNTITLED'] = 'Untitled Document'; $lang['en_US']['ImageEditor.ss']['UNTITLED'] = 'Untitled Document';
$lang['en_US']['ImageEditor.ss']['SAVE'] = 'save&nbsp;image'; $lang['en_US']['ImageEditor.ss']['SAVE'] = 'save&nbsp;image';
$lang['en_US']['ImageEditor.ss']['UNDO'] = 'undo'; $lang['en_US']['ImageEditor.ss']['UNDO'] = 'undo';
@ -347,10 +328,6 @@ $lang['en_US']['CMSMain_right.ss']['CHOOSEPAGE'] = 'Please choose a page from th
$lang['en_US']['CMSRight.ss']['ECONTENT'] = 'Edit Content'; $lang['en_US']['CMSRight.ss']['ECONTENT'] = 'Edit Content';
$lang['en_US']['CMSRight.ss']['WELCOMETO'] = 'Welcome to'; $lang['en_US']['CMSRight.ss']['WELCOMETO'] = 'Welcome to';
$lang['en_US']['CMSRight.ss']['CHOOSEPAGE'] = 'Please choose a page from the left.'; $lang['en_US']['CMSRight.ss']['CHOOSEPAGE'] = 'Please choose a page from the left.';
$lang['en_US']['CommentAdmin_left.ss']['COMMENTS'] = 'Comments';
$lang['en_US']['CommentAdmin_left.ss']['APPROVED'] = 'Approved';
$lang['en_US']['CommentAdmin_left.ss']['AWAITMODERATION'] = 'Awaiting Moderation';
$lang['en_US']['CommentAdmin_left.ss']['SPAM'] = 'Spam';
$lang['en_US']['GenericDataAdmin_left.ss']['ADDLISTING'] = 'Add Listing'; $lang['en_US']['GenericDataAdmin_left.ss']['ADDLISTING'] = 'Add Listing';
$lang['en_US']['GenericDataAdmin_left.ss']['SEARCHLISTINGS'] = 'Search Listings'; $lang['en_US']['GenericDataAdmin_left.ss']['SEARCHLISTINGS'] = 'Search Listings';
$lang['en_US']['GenericDataAdmin_left.ss']['SEARCHRESULTS'] = 'Search Results'; $lang['en_US']['GenericDataAdmin_left.ss']['SEARCHRESULTS'] = 'Search Results';
@ -477,7 +454,6 @@ $lang['en_US']['PageCommentInterface.ss']['COMMENTS'] = 'Comments';
$lang['en_US']['PageCommentInterface.ss']['PREV'] = 'previous'; $lang['en_US']['PageCommentInterface.ss']['PREV'] = 'previous';
$lang['en_US']['PageCommentInterface.ss']['NEXT'] = 'next'; $lang['en_US']['PageCommentInterface.ss']['NEXT'] = 'next';
$lang['en_US']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'No one has commented on this page yet.'; $lang['en_US']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'No one has commented on this page yet.';
$lang['en_US']['PageCommentInterface.ss']['RSSFEEDCOMMENTS'] = 'RSS feed for comments on this page';
$lang['en_US']['PageCommentInterface_singlecomment.ss']['PBY'] = 'Posted by'; $lang['en_US']['PageCommentInterface_singlecomment.ss']['PBY'] = 'Posted by';
$lang['en_US']['PageCommentInterface_singlecomment.ss']['ISSPAM'] = 'this comment is spam'; $lang['en_US']['PageCommentInterface_singlecomment.ss']['ISSPAM'] = 'this comment is spam';
$lang['en_US']['PageCommentInterface_singlecomment.ss']['ISNTSPAM'] = 'this comment is not spam'; $lang['en_US']['PageCommentInterface_singlecomment.ss']['ISNTSPAM'] = 'this comment is not spam';
@ -493,75 +469,4 @@ $lang['en_US']['ViewArchivedEmail.ss']['HAVEASKED'] = array(
); );
$lang['en_US']['ViewArchivedEmail.ss']['CANACCESS'] = 'You can access the archived site at this link:'; $lang['en_US']['ViewArchivedEmail.ss']['CANACCESS'] = 'You can access the archived site at this link:';
// New2
$lang['en_US']['MemberTableField.ss']['DISPLAYING'] = 'Displaying';
$lang['en_US']['MemberTableField.ss']['TO'] = 'to';
$lang['en_US']['MemberTableField.ss']['OF'] = 'of';
$lang['en_US']['MemberTableField.ss']['EDITASSET'] = 'Edit file';
$lang['en_US']['MemberTableField']['FIRSTNAME'] = 'Firstname';
$lang['en_US']['MemberTableField']['SURNAME'] = 'Surname';
$lang['en_US']['MemberTableField']['EMAIL'] = 'Email';
$lang['en_US']['GenericDataAdmin']['CSVEXPORT'] = 'Export to CSV';
$lang['en_US']['SecurityAdmin']['VIEWUSER'] = 'View User';
$lang['en_US']['CMSMain']['ACCESSTO'] = array('Access to %s in CMS',
PR_MEDIUM,
'%s is a class name');
$lang['en_US']['CMSMain']['ASSETADMINNAME'] = 'Assets';
$lang['en_US']['CMSMain']['BULKLOADERADMINNAME'] = 'Bulk Loader';
$lang['en_US']['CMSMain']['CMSMAINNAME'] = 'Main CMS';
$lang['en_US']['CMSMain']['COMMENTADMINNAME'] = 'Comments';
$lang['en_US']['CMSMain']['GENERICDATAADMINNAME'] = 'Generic Data';
$lang['en_US']['CMSMain']['LEFTANDMAINNAME'] = 'Left And Main';
$lang['en_US']['CMSMain']['NEWSLETTERADMINNAME'] = 'Newsletter';
$lang['en_US']['CMSMain']['REPORTADMINNAME'] = 'Reports';
$lang['en_US']['CMSMain']['SECURITYADMINNAME'] = 'Security';
$lang['en_US']['CMSMain']['STATISTICSADMINNAME'] = 'Statistics';
$lang['en_US']['CommentAdmin']['APPROVEDCOMMENTS'] = 'Approved Comments';
$lang['en_US']['CommentAdmin']['WAITINGMODERATION'] = 'Comments Awaiting Moderation';
$lang['en_US']['CommentAdmin']['SPAM'] = 'Spam';
$lang['en_US']['CommentAdmin']['AUTHOR'] = 'Author';
$lang['en_US']['CommentAdmin']['COMMENT'] = 'Comment';
$lang['en_US']['CommentAdmin']['COMMENTS'] = 'Comments';
$lang['en_US']['CommentAdmin']['PAGE'] = 'Page';
$lang['en_US']['CommentAdmin']['CREATED'] = 'Date Posted';
$lang['en_US']['CommentAdmin']['ACCEPT'] = 'Accept';
$lang['en_US']['CommentAdmin']['MARKSPAM'] = 'Mark as spam';
$lang['en_US']['CommentAdmin']['MARKNOTSPAM'] = 'Mark as not spam';
$lang['en_US']['CommentAdmin']['DELETE'] = 'Delete';
$lang['en_US']['CommentAdmin']['DELETEALL'] = 'Delete All';
$lang['en_US']['CommentAdmin']['NAME'] = 'Name';
$lang['en_US']['CommentAdmin']['EDIT'] = 'Edit';
$lang['en_US']['CommentTableField']['SEARCH'] = 'Search';
$lang['en_US']['CommentTableField']['FILTER'] = 'Filter';
$lang['en_US']['CommentTableField.ss']['DISPLAYING'] = 'Displaying';
$lang['en_US']['CommentTableField.ss']['TO'] = 'to';
$lang['en_US']['CommentTableField.ss']['OF'] = 'of';
$lang['en_US']['CommentTableField.ss']['NOITEMSFOUND'] = 'No items found';
$lang['en_US']['CommentTableField.ss']['EDIT'] = 'Edit';
$lang['en_US']['CommentTableField.ss']['APPROVE'] = 'Approve this comment';
$lang['en_US']['CommentTableField.ss']['MARKASSPAM'] = 'Mark this comment as spam';
$lang['en_US']['CommentTableField.ss']['MARKASNOTSPAM'] = 'Mark this comment as not spam';
$lang['en_US']['CommentTableField.ss']['DELETEROW'] = 'Delete this row';
$lang['en_US']['CommentAdmin_left.ss']['COMMENTS'] = 'Comments';
$lang['en_US']['CommentAdmin_left.ss']['APPROVED'] = 'Approved';
$lang['en_US']['CommentAdmin_left.ss']['WAITINGMODERATION'] = 'Awaiting Moderation';
$lang['en_US']['CommentAdmin_left.ss']['SPAM'] = 'Spam';
$lang['en_US']['StatisticsAdmin']['SELECTREPORT'] = 'Select a report type from the left for a detailed look at site statistics';
$lang['en_US']['StatisticsAdmin_left.ss']['STATISTICS'] = 'Statistics';
$lang['en_US']['StatisticsAdmin_left.ss']['VIEWS'] = 'Views';
$lang['en_US']['StatisticsAdmin_left.ss']['TRENDS'] = 'Trends';
$lang['en_US']['StatisticsAdmin_left.ss']['OS'] = 'Operating Systems';
$lang['en_US']['StatisticsAdmin_left.ss']['BROWSERS'] = 'Browsers';
?> ?>

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('es_ES', $lang) && is_array($lang['es_ES'])) { $lang['es_ES'] = $lang['en_US'];
$lang['es_ES'] = array_merge($lang['en_US'], $lang['es_ES']);
} else {
$lang['es_ES'] = $lang['en_US'];
}
$lang['es_ES']['AssetAdmin']['CHOOSEFILE'] = 'Seleccione archivo'; $lang['es_ES']['AssetAdmin']['CHOOSEFILE'] = 'Seleccione archivo';
$lang['es_ES']['AssetAdmin']['CONTENTMODBY'] = 'Contenido modificable por'; $lang['es_ES']['AssetAdmin']['CONTENTMODBY'] = 'Contenido modificable por';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('fr_FR', $lang) && is_array($lang['fr_FR'])) { $lang['fr_FR'] = $lang['en_US'];
$lang['fr_FR'] = array_merge($lang['en_US'], $lang['fr_FR']);
} else {
$lang['fr_FR'] = $lang['en_US'];
}
$lang['fr_FR']['AssetAdmin']['CHOOSEFILE'] = 'Choisir un fichier'; $lang['fr_FR']['AssetAdmin']['CHOOSEFILE'] = 'Choisir un fichier';
$lang['fr_FR']['AssetAdmin']['CONTENTMODBY'] = 'Contenu modifiable par'; $lang['fr_FR']['AssetAdmin']['CONTENTMODBY'] = 'Contenu modifiable par';
@ -184,7 +180,7 @@ $lang['fr_FR']['LeftAndMain']['CHANGEDURL'] = 'URL modifiée en \'%s\'';
$lang['fr_FR']['LeftAndMain']['COMMENTS'] = 'Commentaires'; $lang['fr_FR']['LeftAndMain']['COMMENTS'] = 'Commentaires';
$lang['fr_FR']['LeftAndMain']['FILESIMAGES'] = 'Fichiers & Images'; $lang['fr_FR']['LeftAndMain']['FILESIMAGES'] = 'Fichiers & Images';
$lang['fr_FR']['LeftAndMain']['HELP'] = 'Aide'; $lang['fr_FR']['LeftAndMain']['HELP'] = 'Aide';
$lang['fr_FR']['LeftAndMain']['NEWSLETTERS'] = 'Newsletters'; $lang['fr_FR']['LeftAndMain']['NEWSLETTERS'] = 'News-Lettres';
$lang['fr_FR']['LeftAndMain']['PAGETYPE'] = 'Type de page :'; $lang['fr_FR']['LeftAndMain']['PAGETYPE'] = 'Type de page :';
$lang['fr_FR']['LeftAndMain']['PERMAGAIN'] = 'Vous avez été déconnecté du CMS. Si vous voulez vous reconnecter, entrez un nom d\'utilisateur et un mot de passe ci-dessous.'; $lang['fr_FR']['LeftAndMain']['PERMAGAIN'] = 'Vous avez été déconnecté du CMS. Si vous voulez vous reconnecter, entrez un nom d\'utilisateur et un mot de passe ci-dessous.';
$lang['fr_FR']['LeftAndMain']['PERMALREADY'] = 'Désolé, mais vous ne pouvez pas accéder cette partie du CMS. Si vous voulez changer d\'identification, faites le ci-dessous'; $lang['fr_FR']['LeftAndMain']['PERMALREADY'] = 'Désolé, mais vous ne pouvez pas accéder cette partie du CMS. Si vous voulez changer d\'identification, faites le ci-dessous';
@ -292,7 +288,6 @@ $lang['fr_FR']['Newsletter_SentStatusReport.ss']['SENDBOUNCED'] = 'Envois aux De
$lang['fr_FR']['Newsletter_SentStatusReport.ss']['SENDFAIL'] = 'Envois aux Destinataires Suivants Echoué'; $lang['fr_FR']['Newsletter_SentStatusReport.ss']['SENDFAIL'] = 'Envois aux Destinataires Suivants Echoué';
$lang['fr_FR']['Newsletter_SentStatusReport.ss']['SENTOK'] = 'L\'Envoi aux Destinataires Suivants a été Réussi'; $lang['fr_FR']['Newsletter_SentStatusReport.ss']['SENTOK'] = 'L\'Envoi aux Destinataires Suivants a été Réussi';
$lang['fr_FR']['Newsletter_SentStatusReport.ss']['SN'] = 'Nom de famille'; $lang['fr_FR']['Newsletter_SentStatusReport.ss']['SN'] = 'Nom de famille';
$lang['fr_FR']['PageComment']['COMMENTBY'] = 'Commentaire de \'%s\' sur %s';
$lang['fr_FR']['PageCommentInterface.ss']['COMMENTS'] = 'Commentaires'; $lang['fr_FR']['PageCommentInterface.ss']['COMMENTS'] = 'Commentaires';
$lang['fr_FR']['PageCommentInterface.ss']['NEXT'] = 'suivant'; $lang['fr_FR']['PageCommentInterface.ss']['NEXT'] = 'suivant';
$lang['fr_FR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Personne n\'a encore commenté cette page.'; $lang['fr_FR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Personne n\'a encore commenté cette page.';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('hr_HR', $lang) && is_array($lang['hr_HR'])) { $lang['hr_HR'] = $lang['en_US'];
$lang['hr_HR'] = array_merge($lang['en_US'], $lang['hr_HR']);
} else {
$lang['hr_HR'] = $lang['en_US'];
}
$lang['hr_HR']['AssetAdmin']['CHOOSEFILE'] = 'Odaberite datoteku'; $lang['hr_HR']['AssetAdmin']['CHOOSEFILE'] = 'Odaberite datoteku';
$lang['hr_HR']['AssetAdmin']['CONTENTMODBY'] = 'Sadržaj može mijenjati'; $lang['hr_HR']['AssetAdmin']['CONTENTMODBY'] = 'Sadržaj može mijenjati';
@ -294,7 +290,6 @@ $lang['hr_HR']['Newsletter_SentStatusReport.ss']['SENDBOUNCED'] = 'Slanje slijed
$lang['hr_HR']['Newsletter_SentStatusReport.ss']['SENDFAIL'] = 'Slanje slijedećim primateljima nije uspjelo'; $lang['hr_HR']['Newsletter_SentStatusReport.ss']['SENDFAIL'] = 'Slanje slijedećim primateljima nije uspjelo';
$lang['hr_HR']['Newsletter_SentStatusReport.ss']['SENTOK'] = 'Slanje slijedećim primateljima je uspješno'; $lang['hr_HR']['Newsletter_SentStatusReport.ss']['SENTOK'] = 'Slanje slijedećim primateljima je uspješno';
$lang['hr_HR']['Newsletter_SentStatusReport.ss']['SN'] = 'Prezime'; $lang['hr_HR']['Newsletter_SentStatusReport.ss']['SN'] = 'Prezime';
$lang['hr_HR']['PageComment']['COMMENTBY'] = 'Komentar od \'%s\' na %s';
$lang['hr_HR']['PageCommentInterface.ss']['COMMENTS'] = 'Komentari'; $lang['hr_HR']['PageCommentInterface.ss']['COMMENTS'] = 'Komentari';
$lang['hr_HR']['PageCommentInterface.ss']['NEXT'] = 'slijedeći'; $lang['hr_HR']['PageCommentInterface.ss']['NEXT'] = 'slijedeći';
$lang['hr_HR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Na ovoj stranici nema komentara'; $lang['hr_HR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Na ovoj stranici nema komentara';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('hu_HU', $lang) && is_array($lang['hu_HU'])) { $lang['hu_HU'] = $lang['en_US'];
$lang['hu_HU'] = array_merge($lang['en_US'], $lang['hu_HU']);
} else {
$lang['hu_HU'] = $lang['en_US'];
}
$lang['hu_HU']['AssetAdmin']['CHOOSEFILE'] = 'Válassz fájlt'; $lang['hu_HU']['AssetAdmin']['CHOOSEFILE'] = 'Válassz fájlt';
$lang['hu_HU']['AssetAdmin']['CONTENTMODBY'] = 'A tartalmat módosíthatja'; $lang['hu_HU']['AssetAdmin']['CONTENTMODBY'] = 'A tartalmat módosíthatja';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('it_IT', $lang) && is_array($lang['it_IT'])) { $lang['it_IT'] = $lang['en_US'];
$lang['it_IT'] = array_merge($lang['en_US'], $lang['it_IT']);
} else {
$lang['it_IT'] = $lang['en_US'];
}
$lang['it_IT']['AssetAdmin']['CHOOSEFILE'] = 'Scegli file'; $lang['it_IT']['AssetAdmin']['CHOOSEFILE'] = 'Scegli file';
$lang['it_IT']['AssetAdmin']['CONTENTMODBY'] = 'Contenuto modificabile da'; $lang['it_IT']['AssetAdmin']['CONTENTMODBY'] = 'Contenuto modificabile da';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('nl_NL', $lang) && is_array($lang['nl_NL'])) { $lang['nl_NL'] = $lang['en_US'];
$lang['nl_NL'] = array_merge($lang['en_US'], $lang['nl_NL']);
} else {
$lang['nl_NL'] = $lang['en_US'];
}
$lang['nl_NL']['AssetAdmin']['CHOOSEFILE'] = 'Kies een bestand '; $lang['nl_NL']['AssetAdmin']['CHOOSEFILE'] = 'Kies een bestand ';
$lang['nl_NL']['AssetAdmin']['CONTENTMODBY'] = 'Inhoud bewerkbaar door'; $lang['nl_NL']['AssetAdmin']['CONTENTMODBY'] = 'Inhoud bewerkbaar door';

View File

@ -4,17 +4,13 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('pl_PL', $lang) && is_array($lang['pl_PL'])) { $lang['pl_PL'] = $lang['en_US'];
$lang['pl_PL'] = array_merge($lang['en_US'], $lang['pl_PL']);
} else {
$lang['pl_PL'] = $lang['en_US'];
}
$lang['pl_PL']['AssetAdmin']['CHOOSEFILE'] = 'Wybierz plik'; $lang['pl_PL']['AssetAdmin']['CHOOSEFILE'] = 'Wybierz plik';
$lang['pl_PL']['AssetAdmin']['CONTENTMODBY'] = 'Zawartość modyfikowalna przez'; $lang['pl_PL']['AssetAdmin']['CONTENTMODBY'] = 'Zawartość modyfikowana przez';
$lang['pl_PL']['AssetAdmin']['CONTENTUSABLEBY'] = 'Zawartość używalna przez '; $lang['pl_PL']['AssetAdmin']['CONTENTUSABLEBY'] = 'Zawartość używana przez ';
$lang['pl_PL']['AssetAdmin']['CREATED'] = 'Wgrany jako pierwszy'; $lang['pl_PL']['AssetAdmin']['CREATED'] = 'Pierwsze wgrany';
$lang['pl_PL']['AssetAdmin']['DELETEDX'] = 'Usunięto %s plików. %s'; $lang['pl_PL']['AssetAdmin']['DELETEDX'] = 'Usunięto %s pliki. %s';
$lang['pl_PL']['AssetAdmin']['DELETEUNUSEDTHUMBNAILS'] = 'Usuń nieużywane miniatury'; $lang['pl_PL']['AssetAdmin']['DELETEUNUSEDTHUMBNAILS'] = 'Usuń nieużywane miniatury';
$lang['pl_PL']['AssetAdmin']['DELSELECTED'] = 'Usuń zaznaczone pliki'; $lang['pl_PL']['AssetAdmin']['DELSELECTED'] = 'Usuń zaznaczone pliki';
$lang['pl_PL']['AssetAdmin']['DETAILSTAB'] = 'Detale'; $lang['pl_PL']['AssetAdmin']['DETAILSTAB'] = 'Detale';
@ -22,32 +18,31 @@ $lang['pl_PL']['AssetAdmin']['FILENAME'] = 'Nazwa pliku';
$lang['pl_PL']['AssetAdmin']['FILESREADY'] = 'Pliki gotowe do wgrania'; $lang['pl_PL']['AssetAdmin']['FILESREADY'] = 'Pliki gotowe do wgrania';
$lang['pl_PL']['AssetAdmin']['FILESTAB'] = 'Pliki'; $lang['pl_PL']['AssetAdmin']['FILESTAB'] = 'Pliki';
$lang['pl_PL']['AssetAdmin']['LASTEDITED'] = 'Ostatni nadpisany '; $lang['pl_PL']['AssetAdmin']['LASTEDITED'] = 'Ostatni nadpisany ';
$lang['pl_PL']['AssetAdmin']['MOVEDX'] = 'Przeniesiono %s plików'; $lang['pl_PL']['AssetAdmin']['MOVEDX'] = 'Przenieś %s pliki';
$lang['pl_PL']['AssetAdmin']['NEWFOLDER'] = 'Nowy Folder'; $lang['pl_PL']['AssetAdmin']['NEWFOLDER'] = 'Nowy Folder';
$lang['pl_PL']['AssetAdmin']['NOTHINGTOUPLOAD'] = 'Nie ma nic do wgrania'; $lang['pl_PL']['AssetAdmin']['NOTHINGTOUPLOAD'] = 'Nie ma nic do wgrania';
$lang['pl_PL']['AssetAdmin']['NOWBROKEN'] = 'Te strony mają zepsute linki'; $lang['pl_PL']['AssetAdmin']['NOWBROKEN'] = 'Te strony mają przerwane linki';
$lang['pl_PL']['AssetAdmin']['ONLYADMINS'] = 'Tylko administrator może wgrać %s pliki.'; $lang['pl_PL']['AssetAdmin']['ONLYADMINS'] = 'Tylko administrator może wgrać %s pliki.';
$lang['pl_PL']['AssetAdmin']['OWNER'] = 'Właściciel'; $lang['pl_PL']['AssetAdmin']['OWNER'] = 'Właściciel';
$lang['pl_PL']['AssetAdmin']['SAVEDFILE'] = 'Zapisano plik %s'; $lang['pl_PL']['AssetAdmin']['SAVEDFILE'] = 'Zapisano plik %s';
$lang['pl_PL']['AssetAdmin']['SAVEFOLDERNAME'] = 'Zapisz nazwę folderu'; $lang['pl_PL']['AssetAdmin']['SAVEFOLDERNAME'] = 'Zapisz nazwę folderu';
$lang['pl_PL']['AssetAdmin']['TITLE'] = 'Tytuł'; $lang['pl_PL']['AssetAdmin']['TITLE'] = 'Tytul';
$lang['pl_PL']['AssetAdmin']['TOOLARGE'] = '5S jest za duży (%s). Pliki tego typu nie mogą być większe niż %s.'; $lang['pl_PL']['AssetAdmin']['TOOLARGE'] = '5S jest za duży (%s). Pliki tego typu nie mogą być większe niż %s.';
$lang['pl_PL']['AssetAdmin']['TYPE'] = 'Rodzaj'; $lang['pl_PL']['AssetAdmin']['TYPE'] = 'Rodzaj';
$lang['pl_PL']['AssetAdmin']['UNUSEDFILESTAB'] = 'Nieużywane pliki'; $lang['pl_PL']['AssetAdmin']['UNUSEDFILESTAB'] = 'Nieużywane pliki';
$lang['pl_PL']['AssetAdmin']['UNUSEDFILESTITLE'] = 'Nieużywane pliki'; $lang['pl_PL']['AssetAdmin']['UNUSEDFILESTITLE'] = 'Nieużywane pliki';
$lang['pl_PL']['AssetAdmin']['UNUSEDTHUMBNAILSTITLE'] = 'Nieużywane miniatury'; $lang['pl_PL']['AssetAdmin']['UNUSEDTHUMBNAILSTITLE'] = 'Nieużywane miniatury';
$lang['pl_PL']['AssetAdmin']['UPLOAD'] = 'Wgraj pliki z listy poniżej'; $lang['pl_PL']['AssetAdmin']['UPLOAD'] = 'Wgraj pliki z listy poniżej';
$lang['pl_PL']['AssetAdmin']['UPLOADEDX'] = 'Wgrano pliki (%s)'; $lang['pl_PL']['AssetAdmin']['UPLOADEDX'] = 'Wgrano %s pliki';
$lang['pl_PL']['AssetAdmin']['UPLOADTAB'] = 'Wgraj'; $lang['pl_PL']['AssetAdmin']['UPLOADTAB'] = 'Wgraj';
$lang['pl_PL']['AssetAdmin']['VIEWASSET'] = 'Zobacz zawartość'; $lang['pl_PL']['AssetAdmin']['VIEWEDITASSET'] = 'Zobacz/Edytuj stronę';
$lang['pl_PL']['AssetAdmin']['VIEWEDITASSET'] = 'Zobacz/Edytuj zawartość';
$lang['pl_PL']['AssetAdmin_left.ss']['CREATE'] = 'Stwórz'; $lang['pl_PL']['AssetAdmin_left.ss']['CREATE'] = 'Stwórz';
$lang['pl_PL']['AssetAdmin_left.ss']['DELETE'] = 'Usuń ...'; $lang['pl_PL']['AssetAdmin_left.ss']['DELETE'] = 'Usuń ...';
$lang['pl_PL']['AssetAdmin_left.ss']['DELFOLDERS'] = 'Usuń zaznaczone foldery'; $lang['pl_PL']['AssetAdmin_left.ss']['DELFOLDERS'] = 'Usuń zaznaczone foldery';
$lang['pl_PL']['AssetAdmin_left.ss']['FOLDERS'] = 'Foldery'; $lang['pl_PL']['AssetAdmin_left.ss']['FOLDERS'] = 'Foldery';
$lang['pl_PL']['AssetAdmin_left.ss']['GO'] = 'Idź'; $lang['pl_PL']['AssetAdmin_left.ss']['GO'] = 'Idź';
$lang['pl_PL']['AssetAdmin_left.ss']['SELECTTODEL'] = 'Wybierz foldery, które chcesz usunąć i kliknij przycisk poniżej'; $lang['pl_PL']['AssetAdmin_left.ss']['SELECTTODEL'] = 'Wybierz foldery, które chcesz usunąć i kliknij przycisk poniżej';
$lang['pl_PL']['AssetAdmin_left.ss']['TOREORG'] = 'Aby zreorganizować twoje foldery, przenieś je w wybrane miejsca'; $lang['pl_PL']['AssetAdmin_left.ss']['TOREORG'] = 'Aby zreorganizować twoje foldery, przenieś na zewnątrz wybrane';
$lang['pl_PL']['AssetAdmin_right.ss']['CHOOSEPAGE'] = 'Proszę wybrać stronę po lewej'; $lang['pl_PL']['AssetAdmin_right.ss']['CHOOSEPAGE'] = 'Proszę wybrać stronę po lewej';
$lang['pl_PL']['AssetAdmin_right.ss']['WELCOME'] = 'Witamy w '; $lang['pl_PL']['AssetAdmin_right.ss']['WELCOME'] = 'Witamy w ';
$lang['pl_PL']['AssetAdmin_uploadiframe.ss']['PERMFAILED'] = 'Nie masz uprawnień do wgrania plików do tego folderu '; $lang['pl_PL']['AssetAdmin_uploadiframe.ss']['PERMFAILED'] = 'Nie masz uprawnień do wgrania plików do tego folderu ';
@ -55,22 +50,22 @@ $lang['pl_PL']['AssetTableField']['CREATED'] = 'Pierwszy wgrany';
$lang['pl_PL']['AssetTableField']['DIM'] = 'Rozmiar'; $lang['pl_PL']['AssetTableField']['DIM'] = 'Rozmiar';
$lang['pl_PL']['AssetTableField']['FILENAME'] = 'Nazwa pliku'; $lang['pl_PL']['AssetTableField']['FILENAME'] = 'Nazwa pliku';
$lang['pl_PL']['AssetTableField']['LASTEDIT'] = 'Ostatnia zmiana'; $lang['pl_PL']['AssetTableField']['LASTEDIT'] = 'Ostatnia zmiana';
$lang['pl_PL']['AssetTableField']['NOLINKS'] = 'Do tego pliku nie prowadzą żadne odnośniki.'; $lang['pl_PL']['AssetTableField']['NOLINKS'] = 'Ten plik jest zlinkowany do innej strony';
$lang['pl_PL']['AssetTableField']['OWNER'] = 'Właściciel'; $lang['pl_PL']['AssetTableField']['OWNER'] = 'Właściciel';
$lang['pl_PL']['AssetTableField']['PAGESLINKING'] = 'Następujące strony zawierają linki do tej strony:'; $lang['pl_PL']['AssetTableField']['PAGESLINKING'] = 'Link kolejnej strony do tego pliku:';
$lang['pl_PL']['AssetTableField']['SIZE'] = 'Rozmiar'; $lang['pl_PL']['AssetTableField']['SIZE'] = 'Rozmiar';
$lang['pl_PL']['AssetTableField.ss']['DELFILE'] = 'Usuń ten plik'; $lang['pl_PL']['AssetTableField.ss']['DELFILE'] = 'Usuń ten plik';
$lang['pl_PL']['AssetTableField.ss']['DRAGTOFOLDER'] = 'Przenieś folder do pliku po lewej'; $lang['pl_PL']['AssetTableField.ss']['DRAGTOFOLDER'] = 'Przenieś folder do pliku po lewej';
$lang['pl_PL']['AssetTableField']['TITLE'] = 'Tytuł'; $lang['pl_PL']['AssetTableField']['TITLE'] = 'Tytuł';
$lang['pl_PL']['AssetTableField']['TYPE'] = 'Rodzaj'; $lang['pl_PL']['AssetTableField']['TYPE'] = 'Rodzaj';
$lang['pl_PL']['BulkLoaderAdmin']['CONFIRMBULK'] = 'Potwierdź dużą ilość załadowanych'; $lang['pl_PL']['BulkLoaderAdmin']['CONFIRMBULK'] = 'Potwierdź dużą ilość załadowanych';
$lang['pl_PL']['BulkLoaderAdmin']['CSVFILE'] = 'Plik CSV'; $lang['pl_PL']['BulkLoaderAdmin']['CSVFILE'] = 'CSV plik';
$lang['pl_PL']['BulkLoaderAdmin']['DATALOADED'] = 'Te dane zostały załadowane w'; $lang['pl_PL']['BulkLoaderAdmin']['DATALOADED'] = 'Te dane zosta załadowane w';
$lang['pl_PL']['BulkLoaderAdmin']['PRESSCNT'] = 'Naciśnij kontynuuj aby wgrać dane do'; $lang['pl_PL']['BulkLoaderAdmin']['PRESSCNT'] = 'Naciśnij kontynuuj aby wgrać dane do';
$lang['pl_PL']['BulkLoaderAdmin']['PREVIEW'] = 'Podgląd'; $lang['pl_PL']['BulkLoaderAdmin']['PREVIEW'] = 'Podgląd';
$lang['pl_PL']['BulkLoaderAdmin_left.ss']['BATCHEF'] = 'Otwórz plik funkcji'; $lang['pl_PL']['BulkLoaderAdmin_left.ss']['BATCHEF'] = 'Otwórz plik funkcji';
$lang['pl_PL']['BulkLoaderAdmin_left.ss']['FUNCTIONS'] = 'Funkcje'; $lang['pl_PL']['BulkLoaderAdmin_left.ss']['FUNCTIONS'] = 'Funkcje';
$lang['pl_PL']['BulkLoaderAdmin_preview.ss']['RES'] = 'Wyniki'; $lang['pl_PL']['BulkLoaderAdmin_preview.ss']['RES'] = 'Rezultaty';
$lang['pl_PL']['CMSLeft.ss']['DELPAGE'] = 'Usuń strony ...'; $lang['pl_PL']['CMSLeft.ss']['DELPAGE'] = 'Usuń strony ...';
$lang['pl_PL']['CMSLeft.ss']['DELPAGES'] = 'Usuń zaznaczone strony'; $lang['pl_PL']['CMSLeft.ss']['DELPAGES'] = 'Usuń zaznaczone strony';
$lang['pl_PL']['CMSLeft.ss']['GO'] = 'Idż'; $lang['pl_PL']['CMSLeft.ss']['GO'] = 'Idż';
@ -81,15 +76,15 @@ $lang['pl_PL']['CMSMain']['CANCEL'] = 'Anuluj';
$lang['pl_PL']['CMSMain']['CHOOSEREPORT'] = '(Wybierz raport)'; $lang['pl_PL']['CMSMain']['CHOOSEREPORT'] = '(Wybierz raport)';
$lang['pl_PL']['CMSMain']['COMPARINGV'] = 'Porównaj wersję #%d i #%d'; $lang['pl_PL']['CMSMain']['COMPARINGV'] = 'Porównaj wersję #%d i #%d';
$lang['pl_PL']['CMSMain']['COPYPUBTOSTAGE'] = 'Naprawdę chcesz skopiować publikowaną treść tej strony?'; $lang['pl_PL']['CMSMain']['COPYPUBTOSTAGE'] = 'Naprawdę chcesz skopiować publikowaną treść tej strony?';
$lang['pl_PL']['CMSMain']['DELETEFP'] = 'usuń z opublikowanej strony'; $lang['pl_PL']['CMSMain']['DELETEFP'] = 'usuń z opublikowanych stron';
$lang['pl_PL']['CMSMain']['EMAIL'] = 'E-mail'; $lang['pl_PL']['CMSMain']['EMAIL'] = 'E-mail';
$lang['pl_PL']['CMSMain']['GO'] = 'Idź'; $lang['pl_PL']['CMSMain']['GO'] = 'Idź';
$lang['pl_PL']['CMSMain']['METADESCOPT'] = 'Opis'; $lang['pl_PL']['CMSMain']['METADESCOPT'] = 'Opis';
$lang['pl_PL']['CMSMain']['METAKEYWORDSOPT'] = 'Słowa kluczowe'; $lang['pl_PL']['CMSMain']['METAKEYWORDSOPT'] = 'Klucz';
$lang['pl_PL']['CMSMain']['NEW'] = 'Nowy'; $lang['pl_PL']['CMSMain']['NEW'] = 'Nowy';
$lang['pl_PL']['CMSMain']['NOCONTENT'] = 'brak zawartości'; $lang['pl_PL']['CMSMain']['NOCONTENT'] = 'brak zawartości';
$lang['pl_PL']['CMSMain']['NOTHINGASSIGNED'] = 'Nie masz nic przydzielonego'; $lang['pl_PL']['CMSMain']['NOTHINGASSIGNED'] = 'Nie masz nic przydzielonego';
$lang['pl_PL']['CMSMain']['NOWAITINGON'] = 'Obecnie nie oczekujesz na nikogo.'; $lang['pl_PL']['CMSMain']['NOWAITINGON'] = 'Nie czekaj na nikogo';
$lang['pl_PL']['CMSMain']['NOWBROKEN'] = 'Poniższe strony mają nieprawidłowe linki:'; $lang['pl_PL']['CMSMain']['NOWBROKEN'] = 'Poniższe strony mają nieprawidłowe linki:';
$lang['pl_PL']['CMSMain']['NOWBROKEN2'] = 'Właściciele zostaną powiadomieni mailem i naprawią strony'; $lang['pl_PL']['CMSMain']['NOWBROKEN2'] = 'Właściciele zostaną powiadomieni mailem i naprawią strony';
$lang['pl_PL']['CMSMain']['OK'] = 'OK'; $lang['pl_PL']['CMSMain']['OK'] = 'OK';
@ -100,33 +95,32 @@ $lang['pl_PL']['CMSMain']['PAGESDEL'] = 'Usunięto strony %d';
$lang['pl_PL']['CMSMain']['PAGESPUB'] = '%d opublikowane strony'; $lang['pl_PL']['CMSMain']['PAGESPUB'] = '%d opublikowane strony';
$lang['pl_PL']['CMSMain']['PAGETYPEOPT'] = 'Typ strony'; $lang['pl_PL']['CMSMain']['PAGETYPEOPT'] = 'Typ strony';
$lang['pl_PL']['CMSMain']['PRINT'] = 'Drukuj'; $lang['pl_PL']['CMSMain']['PRINT'] = 'Drukuj';
$lang['pl_PL']['CMSMain']['PUBALLCONFIRM'] = 'Opublikuj każdą stronę witryny, kopiując zawartość z brudnopisu';
$lang['pl_PL']['CMSMain']['PUBALLFUN'] = 'Funkcja "Opublikuj wszystkie"'; $lang['pl_PL']['CMSMain']['PUBALLFUN'] = 'Funkcja "Opublikuj wszystkie"';
$lang['pl_PL']['CMSMain']['PUBALLFUN2'] = 'Naciśnięcie przycisku jest równoznaczne z naciśnięciem "publikuj" każdej strony. Używaj tego gdy zamierzasz edytować całą zawartość, np. kiedy strona jest tworzona po raz pierwszy'; $lang['pl_PL']['CMSMain']['PUBALLFUN2'] = 'Naciśnięcie przycisku jest równoznaczne z naciśnięciem "publikuj" każdej strony. Używaj tego gdy zamierzasz edytować całą zawartość, np. kiedy strona jest budowana po raz pierwszy';
$lang['pl_PL']['CMSMain']['PUBPAGES'] = 'Gotowe: Opublikowano %d strony'; $lang['pl_PL']['CMSMain']['PUBPAGES'] = 'Gotowe: Opublikowane %d strony';
$lang['pl_PL']['CMSMain']['REMOVEDFD'] = 'Usuń ze strony roboczej'; $lang['pl_PL']['CMSMain']['REMOVEDFD'] = 'Usuń ze strony roboczej';
$lang['pl_PL']['CMSMain']['REMOVEDPAGE'] = 'Usunięto \'%s\' z opublikowanej strony'; $lang['pl_PL']['CMSMain']['REMOVEDPAGE'] = 'Zmień \'%s\' z publikowanej wersji';
$lang['pl_PL']['CMSMain']['RESTORE'] = 'Odzyskaj'; $lang['pl_PL']['CMSMain']['RESTORE'] = 'Odzyskaj';
$lang['pl_PL']['CMSMain']['RESTORED'] = 'Odzyskiwanie\'%s\' udane'; $lang['pl_PL']['CMSMain']['RESTORED'] = 'Odzyskiwanie\'%s\' udane';
$lang['pl_PL']['CMSMain']['ROLLBACK'] = 'Wróć do tej wersji.'; $lang['pl_PL']['CMSMain']['ROLLBACK'] = 'Wróć do wersji.';
$lang['pl_PL']['CMSMain']['ROLLEDBACKPUB'] = 'Poprzednia opublikowana wersja. Nowy numer wersji to #%d'; $lang['pl_PL']['CMSMain']['ROLLEDBACKPUB'] = 'Poprzednia opublikowana wersja. Nowy numer wersji to #%d';
$lang['pl_PL']['CMSMain']['ROLLEDBACKVERSION'] = 'Poprzednia wersja to #%d. Nowy numer wersji to #%d'; $lang['pl_PL']['CMSMain']['ROLLEDBACKVERSION'] = 'Poprzednia wersja to #%d. Nowy numer wersji to #%d';
$lang['pl_PL']['CMSMain']['SAVE'] = 'Zapisz'; $lang['pl_PL']['CMSMain']['SAVE'] = 'Zapisz';
$lang['pl_PL']['CMSMain']['SENTTO'] = 'Wysłano do %s %s po akceptację'; $lang['pl_PL']['CMSMain']['SENTTO'] = 'Wyślij do %s %s po akceptację';
$lang['pl_PL']['CMSMain']['STATUSOPT'] = 'Status'; $lang['pl_PL']['CMSMain']['STATUSOPT'] = 'Stauts';
$lang['pl_PL']['CMSMain']['TOTALPAGES'] = 'W sumie stron:'; $lang['pl_PL']['CMSMain']['TOTALPAGES'] = 'W sumie stron:';
$lang['pl_PL']['CMSMain']['VERSIONSNOPAGE'] = 'Nie można znaleźć strony #%d'; $lang['pl_PL']['CMSMain']['VERSIONSNOPAGE'] = 'Nie można znaleźć strony #%d';
$lang['pl_PL']['CMSMain']['VIEWING'] = 'Oglądasz wersję #%d, stworzoną %s'; $lang['pl_PL']['CMSMain']['VIEWING'] = 'Widzisz wersję #%d, stworzoną %s';
$lang['pl_PL']['CMSMain']['VISITRESTORE'] = 'zobacz restorepage/(ID)'; $lang['pl_PL']['CMSMain']['VISITRESTORE'] = 'zobacz zrekonstruowane/(ID)';
$lang['pl_PL']['CMSMain']['WAITINGON'] = 'Poczekaj na innych ludzi pracujących nad tymi <b>%</b> stronami'; $lang['pl_PL']['CMSMain']['WAITINGON'] = 'Poczekaj na innych ludzi pracujących nad tymi <b>%</b> stronami';
$lang['pl_PL']['CMSMain']['WORKTODO'] = 'Pracujesz na tych <b>%</b> stronach'; $lang['pl_PL']['CMSMain']['WORKTODO'] = 'Pracujesz na tych <b>%</b> stronach';
$lang['pl_PL']['CMSMain_left.ss']['ADDEDNOTPUB'] = 'Dodałeś do oczekujących i jeszcze nie opublikowanych stron'; $lang['pl_PL']['CMSMain_left.ss']['ADDEDNOTPUB'] = 'Dodałeś do oczekujących stron i nie opublikowałeś jeszcze';
$lang['pl_PL']['CMSMain_left.ss']['ADDSEARCHCRITERIA'] = 'Dodaj kryterium ...'; $lang['pl_PL']['CMSMain_left.ss']['ADDSEARCHCRITERIA'] = 'Dodaj kryterium ...';
$lang['pl_PL']['CMSMain_left.ss']['BATCHACTIONS'] = 'Akcja pliku'; $lang['pl_PL']['CMSMain_left.ss']['BATCHACTIONS'] = 'Akcja pliku';
$lang['pl_PL']['CMSMain_left.ss']['CHANGED'] = 'zmienione'; $lang['pl_PL']['CMSMain_left.ss']['CHANGED'] = 'zmienione';
$lang['pl_PL']['CMSMain_left.ss']['CLOSEBOX'] = 'kliknij aby zamknąć'; $lang['pl_PL']['CMSMain_left.ss']['CLOSEBOX'] = 'kliknij aby zamknąć';
$lang['pl_PL']['CMSMain_left.ss']['COMMENTS'] = 'Komentarze'; $lang['pl_PL']['CMSMain_left.ss']['COMMENTS'] = 'Komentarze';
$lang['pl_PL']['CMSMain_left.ss']['COMPAREMODE'] = 'Tryb porównania (wybierz 2 poniżej)'; $lang['pl_PL']['CMSMain_left.ss']['COMPAREMODE'] = 'Porównaj tryb (kliknij 2 razy poniżej)';
$lang['pl_PL']['CMSMain_left.ss']['CREATE'] = 'Stwórz'; $lang['pl_PL']['CMSMain_left.ss']['CREATE'] = 'Stwórz';
$lang['pl_PL']['CMSMain_left.ss']['DEL'] = 'usunięte'; $lang['pl_PL']['CMSMain_left.ss']['DEL'] = 'usunięte';
$lang['pl_PL']['CMSMain_left.ss']['DELETECONFIRM'] = 'Usuń zaznaczone strony'; $lang['pl_PL']['CMSMain_left.ss']['DELETECONFIRM'] = 'Usuń zaznaczone strony';
@ -138,12 +132,11 @@ $lang['pl_PL']['CMSMain_left.ss']['GO'] = 'idź';
$lang['pl_PL']['CMSMain_left.ss']['KEY'] = 'Klucz:'; $lang['pl_PL']['CMSMain_left.ss']['KEY'] = 'Klucz:';
$lang['pl_PL']['CMSMain_left.ss']['NEW'] = 'nowy'; $lang['pl_PL']['CMSMain_left.ss']['NEW'] = 'nowy';
$lang['pl_PL']['CMSMain_left.ss']['OPENBOX'] = 'kliknij aby otworzyć'; $lang['pl_PL']['CMSMain_left.ss']['OPENBOX'] = 'kliknij aby otworzyć';
$lang['pl_PL']['CMSMain_left.ss']['PAGEVERSIONH'] = 'Wersja archiwalna strony'; $lang['pl_PL']['CMSMain_left.ss']['PAGEVERSIONH'] = 'Wersja historyczna strony';
$lang['pl_PL']['CMSMain_left.ss']['PUBLISHCONFIRM'] = 'Publikuj zaznaczone strony'; $lang['pl_PL']['CMSMain_left.ss']['PUBLISHCONFIRM'] = 'Publikuj zaznaczone strony';
$lang['pl_PL']['CMSMain_left.ss']['SEARCH'] = 'Szukaj'; $lang['pl_PL']['CMSMain_left.ss']['SEARCH'] = 'Szukaj';
$lang['pl_PL']['CMSMain_left.ss']['SEARCHTITLE'] = 'Szukaj przez URL, Tytuł, Tytuł Menu i Zawartość'; $lang['pl_PL']['CMSMain_left.ss']['SEARCHTITLE'] = 'Szukaj przez URL, Tytuł, Tytuł Menu i Zawartość';
$lang['pl_PL']['CMSMain_left.ss']['SELECTPAGESACTIONS'] = 'Zaznacz strony które chcesz zmienić i kliknij polecenie: '; $lang['pl_PL']['CMSMain_left.ss']['SELECTPAGESACTIONS'] = 'Zaznacz strony które chcesz zmienić i kliknij polecenie: ';
$lang['pl_PL']['CMSMain_left.ss']['SELECTPAGESDUP'] = 'Wybierz strony, które chcesz zduplikować, to, czy ich podstrony powinny zostać uwzględnione oraz gdzie chcesz umieścić duplikaty';
$lang['pl_PL']['CMSMain_left.ss']['SHOWONLYCHANGED'] = 'Pokaż tylko zmienione strony'; $lang['pl_PL']['CMSMain_left.ss']['SHOWONLYCHANGED'] = 'Pokaż tylko zmienione strony';
$lang['pl_PL']['CMSMain_left.ss']['SHOWUNPUB'] = 'pokaż nieopublikowane wersje'; $lang['pl_PL']['CMSMain_left.ss']['SHOWUNPUB'] = 'pokaż nieopublikowane wersje';
$lang['pl_PL']['CMSMain_left.ss']['SITECONTENT TITLE'] = 'Zawartość i struktura strony'; $lang['pl_PL']['CMSMain_left.ss']['SITECONTENT TITLE'] = 'Zawartość i struktura strony';
@ -160,13 +153,13 @@ $lang['pl_PL']['CMSMain_right.ss']['SUBMIT'] = 'przedstaw do akceptacji';
$lang['pl_PL']['CMSMain_right.ss']['WELCOMETO'] = 'Witamy w '; $lang['pl_PL']['CMSMain_right.ss']['WELCOMETO'] = 'Witamy w ';
$lang['pl_PL']['CMSMain_versions.ss']['AUTHOR'] = 'Autor'; $lang['pl_PL']['CMSMain_versions.ss']['AUTHOR'] = 'Autor';
$lang['pl_PL']['CMSMain_versions.ss']['NOTPUB'] = 'Nie opublikowany'; $lang['pl_PL']['CMSMain_versions.ss']['NOTPUB'] = 'Nie opublikowany';
$lang['pl_PL']['CMSMain_versions.ss']['PUBR'] = 'Publikujący'; $lang['pl_PL']['CMSMain_versions.ss']['PUBR'] = 'Opublikowany';
$lang['pl_PL']['CMSMain_versions.ss']['UNKNOWN'] = 'Nieznany'; $lang['pl_PL']['CMSMain_versions.ss']['UNKNOWN'] = 'Nieznany';
$lang['pl_PL']['CMSMain_versions.ss']['WHEN'] = 'Kiedy'; $lang['pl_PL']['CMSMain_versions.ss']['WHEN'] = 'Kiedy';
$lang['pl_PL']['CMSRight.ss']['CHOOSEPAGE'] = 'Proszę wybrać stronę po lewej'; $lang['pl_PL']['CMSRight.ss']['CHOOSEPAGE'] = 'Proszę wybrać stronę po lewej';
$lang['pl_PL']['CMSRight.ss']['ECONTENT'] = 'Edytuj zawartość'; $lang['pl_PL']['CMSRight.ss']['ECONTENT'] = 'Edytuj zawartość';
$lang['pl_PL']['CMSRight.ss']['WELCOMETO'] = 'Witamy w'; $lang['pl_PL']['CMSRight.ss']['WELCOMETO'] = 'Witamy w';
$lang['pl_PL']['CommentList.ss']['CREATEDW'] = 'Komentarze są tworzone za każdym razem, gdy jest wykonywane jedno z poleceń - Opublikuj, Odrzuć, Zatwierdź'; $lang['pl_PL']['CommentList.ss']['CREATEDW'] = 'Komentarze są tworzone każdorazowo gdy \'przepływ zadań\' jest przedsiębrane - Opublikuj, Odrzuć, Zatwierdź';
$lang['pl_PL']['CommentList.ss']['NOCOM'] = 'Nie ma komentarzy na tej stronie'; $lang['pl_PL']['CommentList.ss']['NOCOM'] = 'Nie ma komentarzy na tej stronie';
$lang['pl_PL']['GenericDataAdmin_left.ss']['ADDLISTING'] = 'Dodaj listę'; $lang['pl_PL']['GenericDataAdmin_left.ss']['ADDLISTING'] = 'Dodaj listę';
$lang['pl_PL']['GenericDataAdmin_left.ss']['SEARCHLISTINGS'] = 'Szukaj listy'; $lang['pl_PL']['GenericDataAdmin_left.ss']['SEARCHLISTINGS'] = 'Szukaj listy';
@ -184,30 +177,30 @@ $lang['pl_PL']['LeftAndMain']['CHANGEDURL'] = 'Zmieniony URL to \'%s\'';
$lang['pl_PL']['LeftAndMain']['COMMENTS'] = 'Komentarze'; $lang['pl_PL']['LeftAndMain']['COMMENTS'] = 'Komentarze';
$lang['pl_PL']['LeftAndMain']['FILESIMAGES'] = 'Pliki i Obrazy'; $lang['pl_PL']['LeftAndMain']['FILESIMAGES'] = 'Pliki i Obrazy';
$lang['pl_PL']['LeftAndMain']['HELP'] = 'Pomoc'; $lang['pl_PL']['LeftAndMain']['HELP'] = 'Pomoc';
$lang['pl_PL']['LeftAndMain']['NEWSLETTERS'] = 'Newslettery'; $lang['pl_PL']['LeftAndMain']['NEWSLETTERS'] = 'Newsletter';
$lang['pl_PL']['LeftAndMain']['PAGETYPE'] = 'Rodzaj strony:'; $lang['pl_PL']['LeftAndMain']['PAGETYPE'] = 'Rodzaj strony:';
$lang['pl_PL']['LeftAndMain']['PERMAGAIN'] = 'Zostałeś wylogowany z CMSa. Jeśli chcesz zalogować się ponownie, wpisz username i hasło poniżej'; $lang['pl_PL']['LeftAndMain']['PERMAGAIN'] = 'Zostałeś zalogowany do CMS. Jeśli chcesz zalogować się ponownie, wpisz username i hasło poniżej';
$lang['pl_PL']['LeftAndMain']['PERMALREADY'] = 'Niestety nie masz dostępu do tej części CMS. Jeśli chcesz zaloguj się jako inny użytkownik poniżej.'; $lang['pl_PL']['LeftAndMain']['PERMALREADY'] = 'Przepraszam, ale nie masz dostępu do tej części CMS. Jeśli chcesz zaloguj się jako inny użytkownik poniżej.';
$lang['pl_PL']['LeftAndMain']['PERMDEFAULT'] = 'Proszę wybrać metodę identyfikacji i wpisać swoje dane, aby uruchomić CMSa.'; $lang['pl_PL']['LeftAndMain']['PERMDEFAULT'] = 'Proszę wybrać metodę potwierdzenia autentyczności i uruchomić referencje dostępu do CMS.';
$lang['pl_PL']['LeftAndMain']['PLEASESAVE'] = 'Proszę zapisać stronę: Ta strona nie może być nadpisana ponieważ nie została jeszcze zapisana.'; $lang['pl_PL']['LeftAndMain']['PLEASESAVE'] = 'Proszę zapisać stronę: Ta strona nie może być nadpisana ponieważ została już zapisana.';
$lang['pl_PL']['LeftAndMain']['REPORTS'] = 'Raporty'; $lang['pl_PL']['LeftAndMain']['REPORTS'] = 'Raporty';
$lang['pl_PL']['LeftAndMain']['REQUESTERROR'] = 'Błąd zapytania'; $lang['pl_PL']['LeftAndMain']['REQUESTERROR'] = 'Błąd żądania';
$lang['pl_PL']['LeftAndMain']['SAVED'] = 'zapisane'; $lang['pl_PL']['LeftAndMain']['SAVED'] = 'zapisane';
$lang['pl_PL']['LeftAndMain']['SAVEDUP'] = 'Zapisane'; $lang['pl_PL']['LeftAndMain']['SAVEDUP'] = 'Zapisane';
$lang['pl_PL']['LeftAndMain']['SECURITY'] = 'Bezpieczeństwo'; $lang['pl_PL']['LeftAndMain']['SECURITY'] = 'Bezpieczeństwo';
$lang['pl_PL']['LeftAndMain']['SITECONTENT'] = 'Zawartość strony'; $lang['pl_PL']['LeftAndMain']['SITECONTENT'] = 'Zawartość strony';
$lang['pl_PL']['LeftAndMain']['SITECONTENTLEFT'] = 'Zawartość strony'; $lang['pl_PL']['LeftAndMain']['SITECONTENTLEFT'] = 'Zawartość strony';
$lang['pl_PL']['LeftAndMain.ss']['APPVERSIONTEXT1'] = 'To jest'; $lang['pl_PL']['LeftAndMain.ss']['APPVERSIONTEXT1'] = 'To jest';
$lang['pl_PL']['LeftAndMain.ss']['APPVERSIONTEXT2'] = 'wersja, której aktualnie używasz, jest gałęzią CVS'; $lang['pl_PL']['LeftAndMain.ss']['APPVERSIONTEXT2'] = 'wersja, której aktualnie używasz, technicznie jest gałęzią CVS';
$lang['pl_PL']['LeftAndMain.ss']['ARCHS'] = 'Archiwalne strony'; $lang['pl_PL']['LeftAndMain.ss']['ARCHS'] = 'Archiwalne strony';
$lang['pl_PL']['LeftAndMain.ss']['DRAFTS'] = 'Wersje robocze'; $lang['pl_PL']['LeftAndMain.ss']['DRAFTS'] = 'Wersje robocze';
$lang['pl_PL']['LeftAndMain.ss']['EDIT'] = 'Edytuj'; $lang['pl_PL']['LeftAndMain.ss']['EDIT'] = 'Edytuj';
$lang['pl_PL']['LeftAndMain.ss']['EDITPROFILE'] = 'Profil'; $lang['pl_PL']['LeftAndMain.ss']['EDITPROFILE'] = 'Profil';
$lang['pl_PL']['LeftAndMain.ss']['LOADING'] = 'Wczytywanie...'; $lang['pl_PL']['LeftAndMain.ss']['LOADING'] = 'Wczytuję ...';
$lang['pl_PL']['LeftAndMain.ss']['LOGGEDINAS'] = 'Zalogowany jako'; $lang['pl_PL']['LeftAndMain.ss']['LOGGEDINAS'] = 'Zalogowany jako';
$lang['pl_PL']['LeftAndMain.ss']['LOGOUT'] = 'Wyloguj'; $lang['pl_PL']['LeftAndMain.ss']['LOGOUT'] = 'Wyloguj';
$lang['pl_PL']['LeftAndMain.ss']['PUBLIS'] = 'Opublikowane strony'; $lang['pl_PL']['LeftAndMain.ss']['PUBLIS'] = 'Opublikowane strony';
$lang['pl_PL']['LeftAndMain.ss']['SSWEB'] = 'Strona Silverstripe'; $lang['pl_PL']['LeftAndMain.ss']['SSWEB'] = 'Silverstripe Website';
$lang['pl_PL']['LeftAndMain.ss']['SWITCHTO'] = 'Przełącz na:'; $lang['pl_PL']['LeftAndMain.ss']['SWITCHTO'] = 'Przełącz na:';
$lang['pl_PL']['LeftAndMain.ss']['VIEWPAGEIN'] = 'Widok strony:'; $lang['pl_PL']['LeftAndMain.ss']['VIEWPAGEIN'] = 'Widok strony:';
$lang['pl_PL']['LeftAndMain']['STATISTICS'] = 'Statystyki'; $lang['pl_PL']['LeftAndMain']['STATISTICS'] = 'Statystyki';
@ -215,16 +208,16 @@ $lang['pl_PL']['LeftAndMain']['STATUSTO'] = 'Status zmieniony na \'%s\'';
$lang['pl_PL']['LeftAndMain']['TREESITECONTENT'] = 'Zawartość strony'; $lang['pl_PL']['LeftAndMain']['TREESITECONTENT'] = 'Zawartość strony';
$lang['pl_PL']['MemberList']['ADD'] = 'Dodaj'; $lang['pl_PL']['MemberList']['ADD'] = 'Dodaj';
$lang['pl_PL']['MemberList']['EMAIL'] = 'Email'; $lang['pl_PL']['MemberList']['EMAIL'] = 'Email';
$lang['pl_PL']['MemberList']['FILTERBYG'] = 'Szukaj według grup'; $lang['pl_PL']['MemberList']['FILTERBYG'] = 'Szukaj w grupach';
$lang['pl_PL']['MemberList']['FN'] = 'Imię'; $lang['pl_PL']['MemberList']['FN'] = 'Pierwsza kategoria';
$lang['pl_PL']['MemberList']['PASSWD'] = 'Hasło'; $lang['pl_PL']['MemberList']['PASSWD'] = 'Hasło';
$lang['pl_PL']['MemberList']['SEARCH'] = 'Szukaj'; $lang['pl_PL']['MemberList']['SEARCH'] = 'Szukaj';
$lang['pl_PL']['MemberList']['SN'] = 'Nazwisko'; $lang['pl_PL']['MemberList']['SN'] = 'Podkategoria';
$lang['pl_PL']['MemberList.ss']['FILTER'] = 'Filtr'; $lang['pl_PL']['MemberList.ss']['FILTER'] = 'Filtr';
$lang['pl_PL']['MemberList_Table.ss']['EMAIL'] = 'Adres e-mail'; $lang['pl_PL']['MemberList_Table.ss']['EMAIL'] = 'Email adres';
$lang['pl_PL']['MemberList_Table.ss']['FN'] = 'Imię'; $lang['pl_PL']['MemberList_Table.ss']['FN'] = 'Pierwsza kategoria';
$lang['pl_PL']['MemberList_Table.ss']['PASSWD'] = 'Hasło'; $lang['pl_PL']['MemberList_Table.ss']['PASSWD'] = 'Hasło';
$lang['pl_PL']['MemberList_Table.ss']['SN'] = 'Nazwisko'; $lang['pl_PL']['MemberList_Table.ss']['SN'] = 'Podkategoria';
$lang['pl_PL']['MemberTableField']['ADD'] = 'Dodaj'; $lang['pl_PL']['MemberTableField']['ADD'] = 'Dodaj';
$lang['pl_PL']['MemberTableField']['ADDEDTOGROUP'] = 'Dodaj użytkownika do grupy'; $lang['pl_PL']['MemberTableField']['ADDEDTOGROUP'] = 'Dodaj użytkownika do grupy';
$lang['pl_PL']['MemberTableField.ss']['ADDNEW'] = 'Dodaj nowość'; $lang['pl_PL']['MemberTableField.ss']['ADDNEW'] = 'Dodaj nowość';
@ -236,7 +229,7 @@ $lang['pl_PL']['NewsletterAdmin']['MEWDRAFTMEWSL'] = 'Nowe oczekujące newslette
$lang['pl_PL']['NewsletterAdmin']['NEWLIST'] = 'Nowa lista mailingowa'; $lang['pl_PL']['NewsletterAdmin']['NEWLIST'] = 'Nowa lista mailingowa';
$lang['pl_PL']['NewsletterAdmin']['NEWNEWSLTYPE'] = 'Nowy rodzaj newslettera'; $lang['pl_PL']['NewsletterAdmin']['NEWNEWSLTYPE'] = 'Nowy rodzaj newslettera';
$lang['pl_PL']['NewsletterAdmin']['NEWSLTYPE'] = 'Rodzaj newslettera'; $lang['pl_PL']['NewsletterAdmin']['NEWSLTYPE'] = 'Rodzaj newslettera';
$lang['pl_PL']['NewsletterAdmin']['PLEASEENTERMAIL'] = 'Proszę wprowadź adres e-mail'; $lang['pl_PL']['NewsletterAdmin']['PLEASEENTERMAIL'] = 'Proszę wprowadź email adres';
$lang['pl_PL']['NewsletterAdmin']['RESEND'] = 'Prześlij ponownie'; $lang['pl_PL']['NewsletterAdmin']['RESEND'] = 'Prześlij ponownie';
$lang['pl_PL']['NewsletterAdmin']['SAVE'] = 'Zapisz'; $lang['pl_PL']['NewsletterAdmin']['SAVE'] = 'Zapisz';
$lang['pl_PL']['NewsletterAdmin']['SAVED'] = 'Zapisane'; $lang['pl_PL']['NewsletterAdmin']['SAVED'] = 'Zapisane';
@ -244,7 +237,7 @@ $lang['pl_PL']['NewsletterAdmin']['SEND'] = 'Wyślij ...';
$lang['pl_PL']['NewsletterAdmin']['SENDING'] = 'Wysyłanie emaili ...'; $lang['pl_PL']['NewsletterAdmin']['SENDING'] = 'Wysyłanie emaili ...';
$lang['pl_PL']['NewsletterAdmin']['SENTTESTTO'] = 'Wysłano test do'; $lang['pl_PL']['NewsletterAdmin']['SENTTESTTO'] = 'Wysłano test do';
$lang['pl_PL']['NewsletterAdmin']['SHOWCONTENTS'] = 'Pokaż zawartość'; $lang['pl_PL']['NewsletterAdmin']['SHOWCONTENTS'] = 'Pokaż zawartość';
$lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['EMADD'] = 'Adres e-mail'; $lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['EMADD'] = 'Adres email';
$lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['HAVEBOUNCED'] = 'Email został odrzucony'; $lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['HAVEBOUNCED'] = 'Email został odrzucony';
$lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['NOBOUNCED'] = 'Brak odrzuconych maili'; $lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['NOBOUNCED'] = 'Brak odrzuconych maili';
$lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['UNAME'] = 'Nazwa użytkownika'; $lang['pl_PL']['NewsletterAdmin_BouncedList.ss']['UNAME'] = 'Nazwa użytkownika';
@ -254,7 +247,7 @@ $lang['pl_PL']['NewsletterAdmin_left.ss']['CREATE'] = 'Stwórz ...';
$lang['pl_PL']['NewsletterAdmin_left.ss']['DEL'] = 'Usuń ...'; $lang['pl_PL']['NewsletterAdmin_left.ss']['DEL'] = 'Usuń ...';
$lang['pl_PL']['NewsletterAdmin_left.ss']['DELETEDRAFTS'] = 'Usuń zaznaczone wersje robocze'; $lang['pl_PL']['NewsletterAdmin_left.ss']['DELETEDRAFTS'] = 'Usuń zaznaczone wersje robocze';
$lang['pl_PL']['NewsletterAdmin_left.ss']['GO'] = 'Idź'; $lang['pl_PL']['NewsletterAdmin_left.ss']['GO'] = 'Idź';
$lang['pl_PL']['NewsletterAdmin_left.ss']['NEWSLETTERS'] = 'Newslettery'; $lang['pl_PL']['NewsletterAdmin_left.ss']['NEWSLETTERS'] = 'Newsletter';
$lang['pl_PL']['NewsletterAdmin_left.ss']['SELECTDRAFTS'] = 'Wybierz wersje robocze które chcesz usunąć i kliknij przycisk poniżej'; $lang['pl_PL']['NewsletterAdmin_left.ss']['SELECTDRAFTS'] = 'Wybierz wersje robocze które chcesz usunąć i kliknij przycisk poniżej';
$lang['pl_PL']['NewsletterAdmin_right.ss']['CANCEL'] = 'Anuluj'; $lang['pl_PL']['NewsletterAdmin_right.ss']['CANCEL'] = 'Anuluj';
$lang['pl_PL']['NewsletterAdmin_right.ss']['ENTIRE'] = 'Wyślij do całej listy mailingowej'; $lang['pl_PL']['NewsletterAdmin_right.ss']['ENTIRE'] = 'Wyślij do całej listy mailingowej';
@ -266,18 +259,18 @@ $lang['pl_PL']['NewsletterAdmin_right.ss']['WELCOME2'] = 'Administracja newslett
$lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['DRAFTS'] = 'Oczekujące'; $lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['DRAFTS'] = 'Oczekujące';
$lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['MAILLIST'] = 'Lista mailingowa'; $lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['MAILLIST'] = 'Lista mailingowa';
$lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['SENT'] = 'Wyślij pozycję'; $lang['pl_PL']['NewsletterAdmin_SiteTree.ss']['SENT'] = 'Wyślij pozycję';
$lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['NOUNSUB'] = 'Nie ma użytkowników nie zapisanych do tego newslettera'; $lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['NOUNSUB'] = 'Nie ma użytkowników nieprenumerujących tego newslettera';
$lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['UNAME'] = 'Nazwa użytkownika'; $lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['UNAME'] = 'Nazwa użytkownika';
$lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['UNSUBON'] = 'Nie zapisany'; $lang['pl_PL']['NewsletterAdmin_UnsubscribedList.ss']['UNSUBON'] = 'Niezaprenumerowany';
$lang['pl_PL']['NewsletterList.ss']['CHOOSEDRAFT1'] = 'Proszę wybrać wersje robocze po lewej lub'; $lang['pl_PL']['NewsletterList.ss']['CHOOSEDRAFT1'] = 'Proszę wybrać wersje robocze po lewej lub';
$lang['pl_PL']['NewsletterList.ss']['CHOOSEDRAFT2'] = 'dodaj jeden'; $lang['pl_PL']['NewsletterList.ss']['CHOOSEDRAFT2'] = 'dodaj jeden';
$lang['pl_PL']['NewsletterList.ss']['CHOOSESENT'] = 'Proszę wybrać pozycję wyślij po lewej'; $lang['pl_PL']['NewsletterList.ss']['CHOOSESENT'] = 'Proszę wybrać pozycję wyślij po lewej';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['CHANGED'] = 'Ilość zmienionych detali:'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['CHANGED'] = 'Numer zmienionych detali:';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['IMPORTED'] = 'Nowi użytkownicy zaimportowani:'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['IMPORTED'] = 'Nowi użytkownicy zaimportowani:';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['IMPORTNEW'] = 'zaimportowani nowi użytkownicy'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['IMPORTNEW'] = 'zaimportowani nowi użytkownicy';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['SEC'] = 'sekundy'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['SEC'] = 'drudzy';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['SKIPPED'] = 'Archiwalne dokumenty:'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['SKIPPED'] = 'Archiwalne dokumenty:';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['TIME'] = 'Czas zużyty:'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['TIME'] = 'Lista pobranych: ';
$lang['pl_PL']['Newsletter_RecipientImportField.ss']['UPDATED'] = 'Uaktualnieni użytkownicy:'; $lang['pl_PL']['Newsletter_RecipientImportField.ss']['UPDATED'] = 'Uaktualnieni użytkownicy:';
$lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['CONTENTSOF'] = 'Zawartość'; $lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['CONTENTSOF'] = 'Zawartość';
$lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['NO'] = 'Anuluj'; $lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['NO'] = 'Anuluj';
@ -285,14 +278,10 @@ $lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['RECIMPORTED'] = 'Odb
$lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['YES'] = 'Potwierdź'; $lang['pl_PL']['Newsletter_RecipientImportField_Table.ss']['YES'] = 'Potwierdź';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['DATE'] = 'Data'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['DATE'] = 'Data';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['EMAIL'] = 'Email'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['EMAIL'] = 'Email';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['FN'] = 'Imię'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['FN'] = 'Pierwsza kategoria';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['NEWSNEVERSENT'] = 'Newsletter nigdy nie b wysłany do następujących użytkowników'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['NEWSNEVERSENT'] = 'Newsletter nigdy nie będzie wysłany do następujących użytkowników';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['RES'] = 'Rezultat'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['RES'] = 'Rezultat';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['SENDBOUNCED'] = 'Wysłanie do następujących odbiorców zostało odrzucone'; $lang['pl_PL']['Newsletter_SentStatusReport.ss']['SN'] = 'Podkategoria';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['SENDFAIL'] = 'Wysyłanie do następujących odbiorców nie powiodło się';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['SENTOK'] = 'Wysyłanie do następujących odbiorców powiodło się';
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['SN'] = 'Nazwisko';
$lang['pl_PL']['PageComment']['COMMENTBY'] = 'Komentarz \'%s\' do %s';
$lang['pl_PL']['PageCommentInterface.ss']['COMMENTS'] = 'Komentarze'; $lang['pl_PL']['PageCommentInterface.ss']['COMMENTS'] = 'Komentarze';
$lang['pl_PL']['PageCommentInterface.ss']['NEXT'] = 'następny'; $lang['pl_PL']['PageCommentInterface.ss']['NEXT'] = 'następny';
$lang['pl_PL']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Nikt nie skomentował jeszcze tej strony'; $lang['pl_PL']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Nikt nie skomentował jeszcze tej strony';
@ -304,7 +293,7 @@ $lang['pl_PL']['PageCommentInterface_singlecomment.ss']['PBY'] = 'Dodane przez';
$lang['pl_PL']['PageCommentInterface_singlecomment.ss']['REMCOM'] = 'zmień ten komentarz'; $lang['pl_PL']['PageCommentInterface_singlecomment.ss']['REMCOM'] = 'zmień ten komentarz';
$lang['pl_PL']['ReportAdmin_left.ss']['REPORTS'] = 'Raporty'; $lang['pl_PL']['ReportAdmin_left.ss']['REPORTS'] = 'Raporty';
$lang['pl_PL']['ReportAdmin_right.ss']['WELCOME1'] = 'Witamy w'; $lang['pl_PL']['ReportAdmin_right.ss']['WELCOME1'] = 'Witamy w';
$lang['pl_PL']['ReportAdmin_right.ss']['WELCOME2'] = 'Sekcja raportów. Proszę wybrać jeden z raportów po lewej'; $lang['pl_PL']['ReportAdmin_right.ss']['WELCOME2'] = 'Raport sesji. Proszę wybrać określony raport po lewej';
$lang['pl_PL']['ReportAdmin_SiteTree.ss']['REPORTS'] = 'Raporty'; $lang['pl_PL']['ReportAdmin_SiteTree.ss']['REPORTS'] = 'Raporty';
$lang['pl_PL']['SecurityAdmin']['ADDMEMBER'] = 'Dodaj użytkownika'; $lang['pl_PL']['SecurityAdmin']['ADDMEMBER'] = 'Dodaj użytkownika';
$lang['pl_PL']['SecurityAdmin']['ADVANCEDONLY'] = 'Ta sekcja przeznaczona jest tylko dla zaawansowanych użytkowników. Zobacz <a href="http://doc.silverstripe.com/doku.php?id=permissions:codes" target="_blank">tę stronę</a> aby uzyskać więcej informacji.'; $lang['pl_PL']['SecurityAdmin']['ADVANCEDONLY'] = 'Ta sekcja przeznaczona jest tylko dla zaawansowanych użytkowników. Zobacz <a href="http://doc.silverstripe.com/doku.php?id=permissions:codes" target="_blank">tę stronę</a> aby uzyskać więcej informacji.';
@ -317,14 +306,13 @@ $lang['pl_PL']['SecurityAdmin_left.ss']['DELGROUPS'] = 'Usuń zaznaczone grupy';
$lang['pl_PL']['SecurityAdmin_left.ss']['GO'] = 'Idź'; $lang['pl_PL']['SecurityAdmin_left.ss']['GO'] = 'Idź';
$lang['pl_PL']['SecurityAdmin_left.ss']['SECGROUPS'] = 'Grupa bezpieczeństwa'; $lang['pl_PL']['SecurityAdmin_left.ss']['SECGROUPS'] = 'Grupa bezpieczeństwa';
$lang['pl_PL']['SecurityAdmin_left.ss']['SELECT'] = 'Zaznacz strony które chcesz usunąć i kliknij przycisk poniżej'; $lang['pl_PL']['SecurityAdmin_left.ss']['SELECT'] = 'Zaznacz strony które chcesz usunąć i kliknij przycisk poniżej';
$lang['pl_PL']['SecurityAdmin_left.ss']['TOREORG'] = 'Aby zmienić układ witryny, przeciągnij strony w odpowiadające Ci miejsca.';
$lang['pl_PL']['SecurityAdmin_right.ss']['WELCOME1'] = 'Witamy w'; $lang['pl_PL']['SecurityAdmin_right.ss']['WELCOME1'] = 'Witamy w';
$lang['pl_PL']['SecurityAdmin_right.ss']['WELCOME2'] = 'Sekcja administracji bezpieczeństwem. Proszę wybrać jedną z grup po lewej'; $lang['pl_PL']['SecurityAdmin_right.ss']['WELCOME2'] = 'Administracja sekcją bezpieczeństwa. Proszę wybrać grupę po lewej';
$lang['pl_PL']['SideReport']['EMPTYPAGES'] = 'Puste strony'; $lang['pl_PL']['SideReport']['EMPTYPAGES'] = 'Puste strony';
$lang['pl_PL']['SideReport']['LAST2WEEKS'] = 'Strony zmienione w ostatnich 2 tygodniach'; $lang['pl_PL']['SideReport']['LAST2WEEKS'] = 'Strony zmienione w ostatnich 2 tygodniach';
$lang['pl_PL']['SideReport']['REPEMPTY'] = '%s raport jest pusty'; $lang['pl_PL']['SideReport']['REPEMPTY'] = '%s raport jest pusty';
$lang['pl_PL']['StaticExporter']['BASEURL'] = 'Podstawowy URL'; $lang['pl_PL']['StaticExporter']['BASEURL'] = 'Podstawowy URL';
$lang['pl_PL']['StaticExporter']['EXPORTTO'] = 'Eksportuj do tego folderu'; $lang['pl_PL']['StaticExporter']['EXPORTTO'] = 'Eksportuj ten folder';
$lang['pl_PL']['StaticExporter']['FOLDEREXPORT'] = 'Folder przeniesiony do'; $lang['pl_PL']['StaticExporter']['FOLDEREXPORT'] = 'Folder przeniesiony do';
$lang['pl_PL']['StaticExporter']['NAME'] = 'Statyczny eksport'; $lang['pl_PL']['StaticExporter']['NAME'] = 'Statyczny eksport';
$lang['pl_PL']['StaticExporter']['ONETHATEXISTS'] = 'Proszę wybierz dostępny folder'; $lang['pl_PL']['StaticExporter']['ONETHATEXISTS'] = 'Proszę wybierz dostępny folder';
@ -338,6 +326,6 @@ $lang['pl_PL']['ThumbnailStripField.ss']['CHOOSEFOLDER'] = '(Wybierz powyższy f
'; ';
$lang['pl_PL']['ViewArchivedEmail.ss']['CANACCESS'] = 'Masz dostęp do archiwalnej strony pod adresem:'; $lang['pl_PL']['ViewArchivedEmail.ss']['CANACCESS'] = 'Masz dostęp do archiwalnej strony pod adresem:';
$lang['pl_PL']['ViewArchivedEmail.ss']['HAVEASKED'] = 'Zobacz zawartość naszej strony na'; $lang['pl_PL']['ViewArchivedEmail.ss']['HAVEASKED'] = 'Zobacz zawartość naszej strony na';
$lang['pl_PL']['WaitingOn.ss']['ATO'] = 'przypisane do'; $lang['pl_PL']['WaitingOn.ss']['ATO'] = 'wyznaczone do';
?> ?>

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('pt_BR', $lang) && is_array($lang['pt_BR'])) { $lang['pt_BR'] = $lang['en_US'];
$lang['pt_BR'] = array_merge($lang['en_US'], $lang['pt_BR']);
} else {
$lang['pt_BR'] = $lang['en_US'];
}
$lang['pt_BR']['AssetAdmin']['CHOOSEFILE'] = 'Selecione Arquivo'; $lang['pt_BR']['AssetAdmin']['CHOOSEFILE'] = 'Selecione Arquivo';
$lang['pt_BR']['AssetAdmin']['CONTENTMODBY'] = 'Conteúdos modificáveis por'; $lang['pt_BR']['AssetAdmin']['CONTENTMODBY'] = 'Conteúdos modificáveis por';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('pt_PT', $lang) && is_array($lang['pt_PT'])) { $lang['pt_PT'] = $lang['en_US'];
$lang['pt_PT'] = array_merge($lang['en_US'], $lang['pt_PT']);
} else {
$lang['pt_PT'] = $lang['en_US'];
}
$lang['pt_PT']['AssetAdmin']['CHOOSEFILE'] = 'Escolha ficheiro '; $lang['pt_PT']['AssetAdmin']['CHOOSEFILE'] = 'Escolha ficheiro ';
$lang['pt_PT']['AssetAdmin']['CONTENTMODBY'] = 'Conteúdo modificável por'; $lang['pt_PT']['AssetAdmin']['CONTENTMODBY'] = 'Conteúdo modificável por';
@ -349,321 +345,4 @@ $lang['pt_PT']['ViewArchivedEmail.ss']['CANACCESS'] = 'Pode aceder ao site arqui
$lang['pt_PT']['ViewArchivedEmail.ss']['HAVEASKED'] = 'Pediu para ver o conteúdo do seu site em'; $lang['pt_PT']['ViewArchivedEmail.ss']['HAVEASKED'] = 'Pediu para ver o conteúdo do seu site em';
$lang['pt_PT']['WaitingOn.ss']['ATO'] = 'atribuído a'; $lang['pt_PT']['WaitingOn.ss']['ATO'] = 'atribuído a';
// --- New New New
$lang['pt_PT']['Page']['SINGULARNAME'] = 'Página';
$lang['pt_PT']['Page']['PLURALNAME'] = 'Páginas';
$lang['pt_PT']['ErrorPage']['SINGULARNAME'] = 'Página de Erro';
$lang['pt_PT']['ErrorPage']['PLURALNAME'] = 'Páginas de Erro';
$lang['pt_PT']['UserDefinedForm']['SINGULARNAME'] = 'Formulário Definido pelo Utilizador';
$lang['pt_PT']['UserDefinedForm']['PLURALNAME'] = 'Formulários Definidos pelo Utilizador';
$lang['pt_PT']['RedirectorPage']['SINGULARNAME'] = 'Página de Redireccionamento';
$lang['pt_PT']['RedirectorPage']['PLURALNAME'] = 'Páginas de Redireccionamento';
$lang['pt_PT']['VirtualPage']['SINGULARNAME'] = 'Página Virtual';
$lang['pt_PT']['VirtualPage']['PLURALNAME'] = 'Páginas Virtuais';
$lang['pt_PT']['SubscribeForm']['SINGULARNAME'] = 'Página de Subscrição';
$lang['pt_PT']['SubscribeForm']['PLURALNAME'] = 'Páginas de Subscrição';
// ThumbnailStripField.php
$lang['pt_PT']['ThumbnailStripField']['NOIMAGESFOUND'] = 'Nenhuma imagem encontrada em';
// StatisticsAdmin.php
$lang['pt_PT']['StatisticsAdmin']['WELCOME'] = 'Seleccione um tipo de relatório na esquerda para ver as estatísticas do site mais detalhadamente';
// SecurityAdmin.php
$lang['pt_PT']['SecurityAdmin']['MEMBERS'] = 'Membros';
$lang['pt_PT']['SecurityAdmin']['GROUPNAME'] = 'Nome do Grupo';
$lang['pt_PT']['SecurityAdmin']['PERMISSIONS'] = 'Permissões';
$lang['pt_PT']['SecurityAdmin']['CODE'] = 'Código';
$lang['pt_PT']['SecurityAdmin']['OPTIONALID'] = 'ID Opcional';
$lang['pt_PT']['SecurityAdmin']['EDITPERMISSIONS'] = 'Editar permissões em cada grupo';
// NewsletterAdmin.php
$lang['pt_PT']['NewsletterAdmin']['NLSETTINGS'] = 'Definições da Newsletter';
$lang['pt_PT']['NewsletterAdmin']['TEMPLATE'] = 'Modelo';
$lang['pt_PT']['NewsletterAdmin']['SAVE'] = 'Gravar';
$lang['pt_PT']['NewsletterAdmin']['RECIPIENTS'] = 'Recipientes';
$lang['pt_PT']['NewsletterAdmin']['IMPORT'] = 'Importar';
$lang['pt_PT']['NewsletterAdmin']['UNSUBSCRIBERS'] = 'Subscrições Removidas';
$lang['pt_PT']['NewsletterAdmin']['BOUNCED'] = 'Devolvidos';
$lang['pt_PT']['NewsletterAdmin']['REMOVEDSUCCESS'] = 'foi removido da lista de email';
$lang['pt_PT']['NewsletterAdmin']['NONLSPECIFIED'] = 'Nenhuma lista de email especificada';
$lang['pt_PT']['NewsletterAdmin']['ADDEDTOBL'] = 'foi adicionado á lista negra';
$lang['pt_PT']['NewsletterAdmin']['REMOVEDFROMBL'] = 'foi removido da lista negra';
$lang['pt_PT']['NewsletterAdmin']['IMPORTFROM'] = 'Importar do ficheiro';
// MemberTableField.php
$lang['pt_PT']['MemberTableField']['FIRSTNAME'] = 'Primeiro Nome';
$lang['pt_PT']['MemberTableField']['SURNAME'] = 'Último Nome';
$lang['pt_PT']['MemberTableField']['EMAIL'] = 'Email';
$lang['pt_PT']['MemberTableField']['SEARCH'] = 'Pesquisa';
$lang['pt_PT']['MemberTableField']['ORDERBY'] = 'Ordenar por';
$lang['pt_PT']['MemberTableField']['ASC'] = 'Ascendente';
$lang['pt_PT']['MemberTableField']['DESC'] = 'Descendente';
$lang['pt_PT']['MemberTableField']['ANYGROUP'] = 'Qualquer Grupo';
$lang['pt_PT']['MemberTableField']['FILTERBYGROUP'] = 'Filtrar por Grupo';
$lang['pt_PT']['MemberTableField']['FILTER'] = 'Filtrar';
$lang['pt_PT']['MemberTableField']['ADDINGFIELD'] = 'A adicionar campo';
// MemberTableField.php
$lang['pt_PT']['MemberList']['ASC'] = 'Ascendente';
$lang['pt_PT']['MemberList']['DESC'] = 'Descendente';
$lang['pt_PT']['MemberList']['ORDERBY'] = 'Ordenar por';
$lang['pt_PT']['MemberList']['ANYGROUP'] = 'Qualquer Grupo';
// ImageEditor.php
$lang['pt_PT']['ImageEditor']['ERROR'] = 'Erro:';
// GenericDataAdmin.php
$lang['pt_PT']['GenericDataAdmin']['EXPORTCSV'] = 'Exportar em CSV';
$lang['pt_PT']['GenericDataAdmin']['CREATE'] = 'Criar';
$lang['pt_PT']['GenericDataAdmin']['GO'] = 'Ir';
$lang['pt_PT']['GenericDataAdmin']['SAVE'] = 'Gravar';
$lang['pt_PT']['GenericDataAdmin']['DELETE'] = 'Apagar';
$lang['pt_PT']['GenericDataAdmin']['FOUND'] = 'encontrados:';
$lang['pt_PT']['GenericDataAdmin']['CHOOSECRIT'] = 'Por favor escolha um critério para a pesquisa e clique em \'Ir\'.';
$lang['pt_PT']['GenericDataAdmin']['CHOOSECRIT'] = 'Nenhuma ocorrência de %s encontrada.';
$lang['pt_PT']['GenericDataAdmin']['SAVED'] = 'Gravado';
$lang['pt_PT']['GenericDataAdmin']['DELETEDSUCCESS'] = 'Apagado com sucesso';
// GenericDataAdmin.php
$lang['pt_PT']['CommentAdmin']['NAME'] = 'Nome';
$lang['pt_PT']['CommentAdmin']['COMMENT'] = 'Comentário';
$lang['pt_PT']['CommentAdmin']['COMMENTS'] = 'Comentários';
$lang['pt_PT']['CommentAdmin']['DELETED'] = '% comentário(s) apagado(s).';
$lang['pt_PT']['CommentAdmin']['MARKEDSPAM'] = '% comentário(s) marcados como spam.';
$lang['pt_PT']['CommentAdmin']['MARKEDNOTSPAM'] = '% comentário(s) marcados como não sendo spam.';
$lang['pt_PT']['CommentAdmin']['APPROVED'] = '% comentário(s) aprovado(s).';
// CMSMain.php
$lang['pt_PT']['CMSMain']['REMOVED'] = '\'%s\' Removido%s do site publicado';
$lang['pt_PT']['CMSMain']['DESCREMOVED'] = 'e %s descendentes';
$lang['pt_PT']['CMSMain']['REPORT'] = 'Relatório';
$lang['pt_PT']['CMSMain']['ACCESS'] = 'Acesso a %s no CMS';
// AssetTableField.php
$lang['pt_PT']['AssetTableField']['URL'] = 'URL';
$lang['pt_PT']['AssetTableField']['MAIN'] = 'Principal';
$lang['pt_PT']['AssetTableField']['IMAGE'] = 'Imagem';
$lang['pt_PT']['AssetTableField']['EDITIMAGE'] = 'Editar esta Imagem';
$lang['pt_PT']['AssetTableField']['GALLERYOPTIONS'] = 'Opções da Galeria';
$lang['pt_PT']['AssetTableField']['CAPTION'] = 'Texto Alternativo';
$lang['pt_PT']['AssetTableField']['POPUPWIDTH'] = 'Largura da Janela Popup';
$lang['pt_PT']['AssetTableField']['POPUPHEIGHT'] = 'Altura da Janela Popup';
$lang['pt_PT']['AssetTableField']['SWFFILEOPTIONS'] = 'Opções de Ficheiro Flash';
$lang['pt_PT']['AssetTableField']['ISFLASH'] = 'É um documento Flash';
$lang['pt_PT']['AssetTableField']['DIMLIMIT'] = 'Limitar as dimensões na Janela de Popup';
// AssetAdmin.php
$lang['pt_PT']['AssetAdmin']['NOTEMP'] = 'Não existe uma pasta temporária para envio de ficheiros. Por favor adicione um valor em upload_tmp_dir no php.ini.';
$lang['pt_PT']['AssetAdmin']['URL'] = 'URL';
$lang['pt_PT']['AssetAdmin']['NOWBROKEN'] = ' As seguintes páginas contêm agora links quebrados:';
$lang['pt_PT']['AssetAdmin']['NOWBROKEN2'] = 'Os respectivos proprietários receberam um email e brevemente as páginas serão corrigidas.';
$lang['pt_PT']['AssetAdmin']['FOLDERSDELETED'] = 'pastas apagadas.';
$lang['pt_PT']['AssetAdmin']['FOLDERDELETED'] = 'pasta apagada.';
$lang['pt_PT']['AssetAdmin']['THUMBSDELETED'] = 'Todas as miniaturas não usadas foram apagadas.';
// UserDefinedForm.php
$lang['pt_PT']['UserDefinedForm']['ONCOMPLETE'] = 'Ao Submeter';
$lang['pt_PT']['UserDefinedForm']['ONCOMPLETEMESSAGE'] = '<p>Obrigado, recebemos a sua submissão.</p>';
$lang['pt_PT']['UserDefinedForm']['ONCOMPLETELABEL'] = 'Mostrar após inserção';
$lang['pt_PT']['UserDefinedForm']['SUBMISSIONS'] = 'Submissões';
$lang['pt_PT']['UserDefinedForm']['FORM'] = 'Formulário';
$lang['pt_PT']['UserDefinedForm']['RECEIVED'] = 'Submissões recebidas';
$lang['pt_PT']['UserDefinedForm']['SUBMIT'] = 'Submeter';
$lang['pt_PT']['UserDefinedForm']['NORESULTS'] = 'Nenhum resultado encontrado.';
$lang['pt_PT']['UserDefinedForm']['TEXTONSUBMIT'] = 'Texto no botão de inserir formulário';
$lang['pt_PT']['UserDefinedForm_SubmittedFormEmail']['EMAILSUBJECT'] = 'Inserção de formulário';
// BatchProcess.php
$lang['pt_PT']['BatchProcess_Controller']['ERROR'] = 'Erro: devido a um erro é impossivel continuar com o processo.';
// Newsletter.php
$lang['pt_PT']['Newsletter']['NEWSLETTER'] = 'Email';
$lang['pt_PT']['Newsletter']['SUBJECT'] = 'Assunto';
$lang['pt_PT']['Newsletter']['CONTENT'] = 'Conteúdo';
$lang['pt_PT']['Newsletter']['SENTREPORT'] = 'Relatório de Estado de envio';
$lang['pt_PT']['Newsletter']['SENTAT'] = 'Enviado Em';
// NewsletterType.php
$lang['pt_PT']['NewsletterType']['MAILINGLIST'] = 'Lista de Email:';
$lang['pt_PT']['NewsletterType']['NEWSLETTERTYPE'] = 'Tipo de Lista de email';
$lang['pt_PT']['NewsletterType']['SENDFROM'] = 'Enviar newsletter de';
$lang['pt_PT']['NewsletterType']['DRAFTS'] = 'Rascunhos';
$lang['pt_PT']['NewsletterType']['DRAFT'] = 'Rascunho';
$lang['pt_PT']['NewsletterType']['SENT'] = 'Enviado';
$lang['pt_PT']['NewsletterType']['SEND'] = 'Enviar';
$lang['pt_PT']['NewsletterType']['UNSUBSCRIBED'] = 'Assinaturas Removidas';
$lang['pt_PT']['NewsletterType']['BOUNCED'] = 'Devolvidos';
$lang['pt_PT']['NewsletterType']['RECIPIENTS'] = 'Recipientes';
$lang['pt_PT']['NewsletterType']['IMPORT'] = 'Importar';
$lang['pt_PT']['NewsletterType']['IMPORTFROM'] = 'Importar do ficheiro';
$lang['pt_PT']['NewsletterType']['TEMPLATE'] = 'Modelos';
// Unsubscribe.php
$lang['pt_PT']['Unsubscribe']['SUCCESS'] = 'Obrigado. Foi removido dos grupos seleccionados';
$lang['pt_PT']['Unsubscribe']['NOMLSELECTED'] = 'Tem de seleccionar pelo menos uma lista de email para remover a subscrição';
$lang['pt_PT']['Unsubscribe']['SUBSCRIBEDTO'] = 'Tem as seguintes lista de email assinadas';
$lang['pt_PT']['Unsubscribe']['UNSUBSCRIBE'] = 'Remover a Assinatura';
$lang['pt_PT']['Unsubscribe']['NOTSUBSCRIBED'] = 'Desculpe mas o email %s não se encontra em nenhuma das nossas listas de email.';
$lang['pt_PT']['Unsubscribe']['EMAILADDR'] = 'Endereço de Email';
$lang['pt_PT']['Unsubscribe']['SHOWLISTS'] = 'Mostrar Listas';
$lang['pt_PT']['Unsubscribe']['REMOVESUCCESS'] = 'Obrigado. O email %s não irá receber mais mensagens da lista de email %s';
// Unsubscribe.php
$lang['pt_PT']['TemplateList']['NONE'] = 'Nenhum';
// NEW NEW NEW NEW
// WidgetEditor.ss
$lang['pt_PT']['WidgetEditor.ss']['DELETE'] = 'Apagar';
// WidgetAreaEditor.ss
$lang['pt_PT']['WidgetAreaEditor.ss']['AVAILABLE'] = 'Widgets Disponíveis';
$lang['pt_PT']['WidgetAreaEditor.ss']['NOAVAIL'] = 'Não existem widgets disponóveis de momento.';
$lang['pt_PT']['WidgetAreaEditor.ss']['INUSE'] = 'Widgets Actualmente em uso.';
$lang['pt_PT']['WidgetAreaEditor.ss']['TOADD'] = 'Para adicionar Widgets arraste-as da esquerda para aqui.';
// PageCommentInterface_singlecomment.ss
$lang['pt_PT']['PageCommentInterface_singlecomment.ss']['APPROVE'] = 'Aprovar este comentário';
// Newsletter_SentStatusReport.ss
$lang['pt_PT']['Newsletter_SentStatusReport.ss']['FAILEDBL'] = 'Não houve envio para os seguintes recipientes porque estão na lista negra';
// Newsletter_RecipientReportField.ss
$lang['pt_PT']['Newsletter_RecipientReportField.ss']['MLRELOAD1'] = 'Para ver os novos membros na lista de recipientes, tem que';
$lang['pt_PT']['Newsletter_RecipientReportField.ss']['MLRELOAD2'] = 'refrescar a lista';
// LeftAndMain.ss
$lang['pt_PT']['LeftAndMain.ss']['EDITINCMS'] = 'Editar esta página no editor de conteúdos';
$lang['pt_PT']['LeftAndMain.ss']['VIEWINDRAFT'] = 'Vêr esta página no site de rascunho';
$lang['pt_PT']['LeftAndMain.ss']['VIEWINPUBLISHED'] = 'Vêr esta página no site publicado';
// ImageEditor.ss
$lang['pt_PT']['ImageEditor.ss']['EXIT'] = 'sair';
$lang['pt_PT']['ImageEditor.ss']['ACTIONS'] = 'acções';
$lang['pt_PT']['ImageEditor.ss']['EDITFUNCTIONS'] = 'funções de edição';
$lang['pt_PT']['ImageEditor.ss']['APPLY'] = 'aplicar';
$lang['pt_PT']['ImageEditor.ss']['CURRENTACTION'] = 'acções actual';
// CMSMain_dialog.ss
$lang['pt_PT']['CMSMain_dialog.ss']['BUTTONNOTFOUND'] = 'Nome do botão não encontrado';
$lang['pt_PT']['CMSMain_dialog.ss']['NOLINKED'] = 'windo.linkedObject não encontrado para o click do botão voltar à janela principal';
// StatisticsAdmin_left.ss
$lang['pt_PT']['StatisticsAdmin_left.ss']['VIEWS'] = 'Visualizações';
$lang['pt_PT']['StatisticsAdmin_left.ss']['OS'] = 'Sistemas Operativos';
$lang['pt_PT']['StatisticsAdmin_left.ss']['BROWSERS'] = 'Navegadores';
$lang['pt_PT']['StatisticsAdmin_left.ss']['TRENDS'] = 'Tendências';
$lang['pt_PT']['StatisticsAdmin_left.ss']['STATISTICS'] = 'Estatísticas';
// NewsletterAdmin_BouncedList.ss
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['INSTRUCTIONS'] = 'Instrucções';
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['INSTRUCTIONS1'] = 'Retire o tick da caixa do email na lista negra para enviar email para o mesmo.';
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['INSTRUCTIONS2'] = 'Para removêr o email da lista de email click no icon';
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['BLACKLISTED'] = 'Na Lista Negra';
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['REASON'] = 'Razão:';
$lang['pt_PT']['NewsletterAdmin_BouncedList.ss']['DATE'] = 'Data:';
// MemberList_PageControls.ss
$lang['pt_PT']['MemberList_PageControls.ss']['VIEWLAST'] = 'Vêr os últimos';
$lang['pt_PT']['MemberList_PageControls.ss']['LASTMEMBERS'] = 'membros';
$lang['pt_PT']['MemberList_PageControls.ss']['VIEWFIRST'] = 'Vêr os primeiros';
$lang['pt_PT']['MemberList_PageControls.ss']['FIRSTMEMBERS'] = 'membros';
$lang['pt_PT']['MemberList_PageControls.ss']['VIEWPREVIOUS'] = 'Vêr os membros';
$lang['pt_PT']['MemberList_PageControls.ss']['PREVIOUSMEMBERS'] = 'anteriores';
$lang['pt_PT']['MemberList_PageControls.ss']['DISPLAYING'] = 'A mostrar';
$lang['pt_PT']['MemberList_PageControls.ss']['TO'] = 'até';
$lang['pt_PT']['MemberList_PageControls.ss']['OF'] = 'de';
$lang['pt_PT']['MemberList_PageControls.ss']['VIEWPREVIOUS'] = 'Vêr os próximos';
$lang['pt_PT']['MemberList_PageControls.ss']['PREVIOUSMEMBERS'] = 'membros';
// GenericDataAdmin_right.ss
$lang['pt_PT']['GenericDataAdmin_right.ss']['WELCOME1'] = 'Bem-vindo a';
$lang['pt_PT']['genericDataAdmin_right.ss']['WELCOME2'] = 'Por favor, escolha uma opção no painel da esquerda.';
// CommentTableField.ss
$lang['pt_PT']['CommentTableField.ss']['EDIT'] = 'editar';
$lang['pt_PT']['CommentTableField.ss']['APPROVE'] = 'aprovar';
$lang['pt_PT']['CommentTableField.ss']['SPAM'] = 'spam';
$lang['pt_PT']['CommentTableField.ss']['HAM'] = 'não spam';
$lang['pt_PT']['CommentTableField.ss']['DELETE'] = 'apagar';
// CommentAdmin_right.ss
$lang['pt_PT']['CommentAdmin_right.ss']['WELCOME1'] = 'Bem-vindo a';
$lang['pt_PT']['CommentAdmin_right.ss']['WELCOME2'] = 'gestão de comentários. Por favor escolha uma pasta na esquerda.';
// New2
$lang['pt_PT']['MemberTableField.ss']['DISPLAYING'] = 'A mostrar';
$lang['pt_PT']['MemberTableField.ss']['TO'] = 'até';
$lang['pt_PT']['MemberTableField.ss']['OF'] = 'de';
$lang['pt_PT']['MemberTableField.ss']['EDITASSET'] = 'Editar ficheiro';
$lang['pt_PT']['MemberTableField']['FIRSTNAME'] = 'Primeiro Nome';
$lang['pt_PT']['MemberTableField']['SURNAME'] = 'Sobrenome';
$lang['pt_PT']['MemberTableField']['EMAIL'] = 'Email';
$lang['pt_PT']['GenericDataAdmin']['CSVEXPORT'] = 'Exportar para CSV';
$lang['pt_PT']['SecurityAdmin']['VIEWUSER'] = 'Ver Utilizador';
$lang['pt_PT']['CMSMain']['ACCESSTO'] = array('Accesso a %s no CMS');
$lang['pt_PT']['CMSMain']['ASSETADMINNAME'] = 'Ficheiros e Imagens';
$lang['pt_PT']['CMSMain']['BULKLOADERADMINNAME'] = 'Acções em Volume';
$lang['pt_PT']['CMSMain']['CMSMAINNAME'] = 'CMS Principal';
$lang['pt_PT']['CMSMain']['COMMENTADMINNAME'] = 'Comentários';
$lang['pt_PT']['CMSMain']['GENERICDATAADMINNAME'] = 'Dados Genéricos';
$lang['pt_PT']['CMSMain']['LEFTANDMAINNAME'] = 'Esquerda e Principal';
$lang['pt_PT']['CMSMain']['NEWSLETTERADMINNAME'] = 'Listas de Email';
$lang['pt_PT']['CMSMain']['REPORTADMINNAME'] = 'Relatórios';
$lang['pt_PT']['CMSMain']['SECURITYADMINNAME'] = 'Segurança';
$lang['pt_PT']['CMSMain']['STATISTICSADMINNAME'] = 'Estatísticas';
$lang['pt_PT']['CommentAdmin']['APPROVEDCOMMENTS'] = 'Comentários Aprovados';
$lang['pt_PT']['CommentAdmin']['WAITINGMODERATION'] = 'Comentários por Aprovar';
$lang['pt_PT']['CommentAdmin']['SPAM'] = 'Spam';
$lang['pt_PT']['CommentAdmin']['AUTHOR'] = 'Autor';
$lang['pt_PT']['CommentAdmin']['COMMENT'] = 'Comentário';
$lang['pt_PT']['CommentAdmin']['COMMENTS'] = 'Comentários';
$lang['pt_PT']['CommentAdmin']['PAGE'] = 'Página';
$lang['pt_PT']['CommentAdmin']['CREATED'] = 'Criado em';
$lang['pt_PT']['CommentAdmin']['ACCEPT'] = 'Aceitar';
$lang['pt_PT']['CommentAdmin']['MARKSPAM'] = 'Marcar como spam';
$lang['pt_PT']['CommentAdmin']['MARKNOTSPAM'] = 'Marcar como não sendo spam';
$lang['pt_PT']['CommentAdmin']['DELETE'] = 'Apagar';
$lang['pt_PT']['CommentAdmin']['DELETEALL'] = 'Apagar Todos';
$lang['pt_PT']['CommentAdmin']['NAME'] = 'Nome';
$lang['pt_PT']['CommentAdmin']['EDIT'] = 'Editar';
$lang['pt_PT']['CommentTableField']['SEARCH'] = 'Procurar';
$lang['pt_PT']['CommentTableField']['FILTER'] = 'Filtro';
$lang['pt_PT']['CommentTableField.ss']['DISPLAYING'] = 'A mostrar';
$lang['pt_PT']['CommentTableField.ss']['TO'] = 'até';
$lang['pt_PT']['CommentTableField.ss']['OF'] = 'de';
$lang['pt_PT']['CommentTableField.ss']['NOITEMSFOUND'] = 'Nenhum item encontrado';
$lang['pt_PT']['CommentTableField.ss']['EDIT'] = 'Editar';
$lang['pt_PT']['CommentTableField.ss']['APPROVE'] = 'Aprovar este comentário';
$lang['pt_PT']['CommentTableField.ss']['MARKASSPAM'] = 'Marcar como spam';
$lang['pt_PT']['CommentTableField.ss']['MARKASNOTSPAM'] = 'Marcar como não sendo spam';
$lang['pt_PT']['CommentTableField.ss']['DELETEROW'] = 'Apagar esta linha';
$lang['pt_PT']['CommentAdmin_left.ss']['COMMENTS'] = 'Comentários';
$lang['pt_PT']['CommentAdmin_left.ss']['APPROVED'] = 'Aprovados';
$lang['pt_PT']['CommentAdmin_left.ss']['WAITINGMODERATION'] = 'Por Aprovar';
$lang['pt_PT']['CommentAdmin_left.ss']['SPAM'] = 'Spam';
$lang['pt_PT']['StatisticsAdmin']['SELECTREPORT'] = 'Seleccione um relatório da esquerda para ver as estatísticas do site mais detalhadamente';
$lang['pt_PT']['StatisticsAdmin_left.ss']['STATISTICS'] = 'Estatísticas';
$lang['pt_PT']['StatisticsAdmin_left.ss']['VIEWS'] = 'Visualizações';
$lang['pt_PT']['StatisticsAdmin_left.ss']['TRENDS'] = 'Tendências';
$lang['pt_PT']['StatisticsAdmin_left.ss']['OS'] = 'Sistemas Operativos';
$lang['pt_PT']['StatisticsAdmin_left.ss']['BROWSERS'] = 'Browsers';
?> ?>

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('ru_RU', $lang) && is_array($lang['ru_RU'])) { $lang['ru_RU'] = $lang['en_US'];
$lang['ru_RU'] = array_merge($lang['en_US'], $lang['ru_RU']);
} else {
$lang['ru_RU'] = $lang['en_US'];
}
$lang['ru_RU']['AssetAdmin']['CHOOSEFILE'] = 'Выберите файл'; $lang['ru_RU']['AssetAdmin']['CHOOSEFILE'] = 'Выберите файл';
$lang['ru_RU']['AssetAdmin']['CONTENTMODBY'] = 'Редакторы содержимого:'; $lang['ru_RU']['AssetAdmin']['CONTENTMODBY'] = 'Редакторы содержимого:';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('sk_SK', $lang) && is_array($lang['sk_SK'])) { $lang['sk_SK'] = $lang['en_US'];
$lang['sk_SK'] = array_merge($lang['en_US'], $lang['sk_SK']);
} else {
$lang['sk_SK'] = $lang['en_US'];
}
$lang['sk_SK']['AssetAdmin']['CHOOSEFILE'] = 'Vybrať súbor'; $lang['sk_SK']['AssetAdmin']['CHOOSEFILE'] = 'Vybrať súbor';
$lang['sk_SK']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upraviteľný pre'; $lang['sk_SK']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upraviteľný pre';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('sv_SE', $lang) && is_array($lang['sv_SE'])) { $lang['sv_SE'] = $lang['en_US'];
$lang['sv_SE'] = array_merge($lang['en_US'], $lang['sv_SE']);
} else {
$lang['sv_SE'] = $lang['en_US'];
}
$lang['sv_SE']['AssetAdmin']['CHOOSEFILE'] = 'Välj fil'; $lang['sv_SE']['AssetAdmin']['CHOOSEFILE'] = 'Välj fil';
$lang['sv_SE']['AssetAdmin']['CONTENTMODBY'] = 'Följande kan redigera innehållet'; $lang['sv_SE']['AssetAdmin']['CONTENTMODBY'] = 'Följande kan redigera innehållet';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('tr_TR', $lang) && is_array($lang['tr_TR'])) { $lang['tr_TR'] = $lang['en_US'];
$lang['tr_TR'] = array_merge($lang['en_US'], $lang['tr_TR']);
} else {
$lang['tr_TR'] = $lang['en_US'];
}
$lang['tr_TR']['AssetAdmin']['CHOOSEFILE'] = 'Yükleyeceğiniz Dosyayı seçiniz'; $lang['tr_TR']['AssetAdmin']['CHOOSEFILE'] = 'Yükleyeceğiniz Dosyayı seçiniz';
$lang['tr_TR']['AssetAdmin']['CONTENTMODBY'] = 'İçeriği değiştirebilme yetkisi olan(lar)'; $lang['tr_TR']['AssetAdmin']['CONTENTMODBY'] = 'İçeriği değiştirebilme yetkisi olan(lar)';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('zh_CN', $lang) && is_array($lang['zh_CN'])) { $lang['zh_CN'] = $lang['en_US'];
$lang['zh_CN'] = array_merge($lang['en_US'], $lang['zh_CN']);
} else {
$lang['zh_CN'] = $lang['en_US'];
}
$lang['zh_CN']['AssetAdmin']['CHOOSEFILE'] = '选择文件'; $lang['zh_CN']['AssetAdmin']['CHOOSEFILE'] = '选择文件';
$lang['zh_CN']['AssetAdmin']['CONTENTMODBY'] = '内容可被修改'; $lang['zh_CN']['AssetAdmin']['CONTENTMODBY'] = '内容可被修改';

View File

@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
global $lang; global $lang;
if(array_key_exists('zh_TW', $lang) && is_array($lang['zh_TW'])) { $lang['zh_TW'] = $lang['en_US'];
$lang['zh_TW'] = array_merge($lang['en_US'], $lang['zh_TW']);
} else {
$lang['zh_TW'] = $lang['en_US'];
}
$lang['zh_TW']['AssetAdmin']['CHOOSEFILE'] = '選擇檔案'; $lang['zh_TW']['AssetAdmin']['CHOOSEFILE'] = '選擇檔案';
$lang['zh_TW']['AssetAdmin']['CONTENTMODBY'] = '可以更改內容的人:'; $lang['zh_TW']['AssetAdmin']['CONTENTMODBY'] = '可以更改內容的人:';

View File

@ -20,17 +20,17 @@
<% end_control %> <% end_control %>
<% if Can(show) %> <% if Can(show) %>
<td width="18"> <td width="18">
<a class="popuplink showlink" href="$ShowLink" target="_blank" title="<% _t('SHOW', 'Show asset') %>"><img src="cms/images/show.png" alt="<% _t('SHOW', 'Show asset') %>" /></a> <a class="popuplink showlink" href="$ShowLink" target="_blank" title="Show asset"><img src="cms/images/show.png" alt="show" /></a>
</td> </td>
<% end_if %> <% end_if %>
<% if Can(edit) %> <% if Can(edit) %>
<td width="18"> <td width="18">
<a class="popuplink editlink" href="$EditLink" target="_blank" title="<% _t('EDIT', 'Edit asset') %>"><img src="cms/images/edit.gif" alt="<% _t('EDIT', 'Edit asset') %>" /></a> <a class="popuplink editlink" href="$EditLink" target="_blank" title="Edit asset"><img src="cms/images/edit.gif" alt="edit" /></a>
</td> </td>
<% end_if %> <% end_if %>
<% if Can(delete) %> <% if Can(delete) %>
<td width="18"> <td width="18">
<a class="deletelink" href="admin/assets/removefile/$ID" title="<% _t('DELFILE', 'Delete this file') %>"><img src="cms/images/delete.gif" alt="<% _t('DELFILE', 'Delete this file') %>" title="<% _t('DELFILE','Delete this file') %>" /></a> <a class="deletelink" href="admin/assets/removefile/$ID" title="Delete this file"><img src="cms/images/delete.gif" alt="delete" title="<% _t('DELFILE','Delete this file') %>" /></a>
</td> </td>
<% end_if %> <% end_if %>
</tr> </tr>

View File

@ -34,6 +34,12 @@
<div> <div>
<input class="action" type="submit" value="<% _t('GO','Go') %>" /> <input class="action" type="submit" value="<% _t('GO','Go') %>" />
</div> </div>
<div class="field dropdown nolabel" style="margin-top: 4px;">
<span class="middleColumn">
<input type="checkbox" id="sortitems" /> <label for="sortitems"><% _t('ENABLEDRAGGING','Allow drag &amp; drop reordering', PR_HIGH) %></label>
</span>
</div>
</form> </form>
<% end_control %> <% end_control %>
<form class="actionparams" style="display: none" id="search_options" action="admin/filterSiteTree"> <form class="actionparams" style="display: none" id="search_options" action="admin/filterSiteTree">
@ -81,9 +87,7 @@
</div> </div>
</form> </form>
<% end_control %> <% end_control %>
<div id="SortItems">
<input type="checkbox" id="sortitems" /> <label for="sortitems"><% _t('ENABLEDRAGGING','Allow drag &amp; drop reordering', PR_HIGH) %></label>
</div>
<div id="sitetree_ul"> <div id="sitetree_ul">
$SiteTreeAsUL $SiteTreeAsUL
</div> </div>

View File

@ -1,14 +1,14 @@
<ul id="sitetree" class="tree unformatted"> <ul id="sitetree" class="tree unformatted">
<li id="$ID" class="Root"><a><strong><% _t('COMMENTS', 'Comments') %></strong></a> <li id="$ID" class="Root"><a><strong>Comments</strong></a>
<ul> <ul>
<li id="record-approved" <% if Section=approved %>class="current"<% end_if %>> <li id="record-approved" <% if Section=approved %>class="current"<% end_if %>>
<a href="$baseURL/admin/comments/showtable/approved" title="<% _t('APPROVED', 'Approved') %>"><% _t('APPROVED', 'Approved') %></a> <a href="$baseURL/admin/comments/showtable/approved" title="Approved">Approved</a>
</li> </li>
<li id="record-unmoderated" <% if Section=unmoderated %>class="current"<% end_if %>> <li id="record-unmoderated" <% if Section=unmoderated %>class="current"<% end_if %>>
<a href="$baseURL/admin/comments/showtable/unmoderated" title="<% _t('AWAITMODERATION', 'Awaiting Moderation') %>"><% _t('AWAITMODERATION', 'Awaiting Moderation') %></a> <a href="$baseURL/admin/comments/showtable/unmoderated" title="Awaiting Moderation">Awaiting Moderation</a>
</li> </li>
<li id="record-spam"> <li id="record-spam">
<a href="$baseURL/admin/comments/showtable/spam" title="<% _t('SPAM', 'Spam') %>" <% if Section=spam %>class="current"<% end_if %>><% _t('SPAM', 'Spam') %></a> <a href="$baseURL/admin/comments/showtable/spam" title="Spam" <% if Section=spam %>class="current"<% end_if %>>Spam</a>
</li> </li>
</ul> </ul>
</li> </li>

View File

@ -1,4 +1,4 @@
<h2><% _t('COMMENTS', 'Comments') %></h2> <h2>Comments</h2>
<div id="treepanes"> <div id="treepanes">
<div id="sitetree_holder"> <div id="sitetree_holder">

View File

@ -5,7 +5,7 @@
$EditForm $EditForm
<% else %> <% else %>
<form id="Form_EditForm" action="admin/comments?executeForm=EditForm" method="post" enctype="multipart/form-data"> <form id="Form_EditForm" action="admin/comments?executeForm=EditForm" method="post" enctype="multipart/form-data">
<p><% _t('WELCOME1', 'Welcome to the') %> $ApplicationName <% _t('WELCOME2', 'comment management. Please select a folder in the tree on the left.') %></p> <p>Welcome to the $ApplicationName comment management. Please select a folder in the tree on the left.</p>
</form> </form>
<% end_if %> <% end_if %>

View File

@ -44,26 +44,26 @@
<td>$Value</td> <td>$Value</td>
<% end_control %> <% end_control %>
<% if Can(edit) %> <% if Can(edit) %>
<td width="18"><a class="popuplink editlink" href="$EditLink" target="_blank"><img src="cms/images/edit.gif" alt="<% _t('EDIT', 'edit') %>" /></a></td> <td width="18"><a class="popuplink editlink" href="$EditLink" target="_blank"><img src="cms/images/edit.gif" alt="edit" /></a></td>
<% end_if %> <% end_if %>
<% if HasApproveButton %> <% if HasApproveButton %>
<td width="18"><a class="approvelink" href="$ApproveLink" title="<% _t('APPROVECOMMENT', 'Approve this comment') %>"><img src="cms/images/approvecomment.png" alt="<% _t('APPROVE', 'approve') %>" /></a></td> <td width="18"><a class="approvelink" href="$ApproveLink" title="Approve this comment"><img src="cms/images/approvecomment.png" alt="approve" /></a></td>
<% end_if %> <% end_if %>
<% if HasSpamButton %> <% if HasSpamButton %>
<td width="18"><a class="spamlink" href="$SpamLink" title="<% _t('MARKASSPAM', 'Mark this comment as spam') %>"><img src="cms/images/declinecomment.png" alt="<% _t('SPAM', 'spam') %>" /></a></td> <td width="18"><a class="spamlink" href="$SpamLink" title="Mark this comment as spam"><img src="cms/images/declinecomment.png" alt="spam" /></a></td>
<% end_if %> <% end_if %>
<% if HasHamButton %> <% if HasHamButton %>
<td width="18"><a class="hamlink" href="$HamLink" title="<% _t('MARKNOSPAM', 'Mark this comment as not spam') %>"><img src="cms/images/approvecomment.png" alt="<% _t('HAM', 'ham') %>" /></a></td> <td width="18"><a class="hamlink" href="$HamLink" title="Mark this comment as not spam"><img src="cms/images/approvecomment.png" alt="ham" /></a></td>
<% end_if %> <% end_if %>
<% if Can(delete) %> <% if Can(delete) %>
<td width="18"><a class="deletelink" href="$DeleteLink" title="<% _t('DELETEROW', 'Delete this row') %>"><img src="cms/images/delete.gif" alt="<% _t('DELETE', 'delete') %>" /></a></td> <td width="18"><a class="deletelink" href="$DeleteLink" title="Delete this row"><img src="cms/images/delete.gif" alt="delete" /></a></td>
<% end_if %> <% end_if %>
</tr> </tr>
<% end_control %> <% end_control %>
<% else %> <% else %>
<tr class="notfound"> <tr class="notfound">
<% if Markable %><th width="18">&nbsp;</th><% end_if %> <% if Markable %><th width="18">&nbsp;</th><% end_if %>
<td colspan="$Headings.Count"><i><% _t('NOITEMSFOUND', 'No items found') %></i></td> <td colspan="$Headings.Count"><i>No items found</i></td>
<% if Can(edit) %><th width="18">&nbsp;</th><% end_if %> <% if Can(edit) %><th width="18">&nbsp;</th><% end_if %>
<% if HasApproveButton %><th width="18">&nbsp;</th><% end_if %> <% if HasApproveButton %><th width="18">&nbsp;</th><% end_if %>
<% if HasSpamButton %><th width="18">&nbsp;</th><% end_if %> <% if HasSpamButton %><th width="18">&nbsp;</th><% end_if %>

View File

@ -17,7 +17,7 @@
<% else_if Type = dropdown %> <% else_if Type = dropdown %>
<select name="$Command" class="mceSelectList" id="mce_editor_$IDSegment">$Options</select> <select name="$Command" class="mceSelectList" id="mce_editor_$IDSegment">$Options</select>
<% else_if Type = separator %> <% else_if Type = separator %>
<img width="1" height="15" class="mceSeparatorLine" src="jsparty/tiny_mce2/themes/advanced/images/spacer.gif" alt="|" /> <img width="1" height="15" class="mceSeparatorLine" src="{$MceRoot}themes/advanced/images/spacer.gif" alt="|" />
<% else_if Type = break %> <% else_if Type = break %>
<br /> <br />
<% end_if %> <% end_if %>

View File

@ -22,7 +22,7 @@
&nbsp; &nbsp;
</div> </div>
<h2><% _t('SEARCHRESULTS','Search Results') %></h2> <h2><% _t('SEARCHRESULTS','Search Results') %></h2>
<div id="ResultTable_holder" class="leftbottom"> <div id="ResultTable_holder" class="leftbottom" style="overflow:auto">
$Results $Results
</div> </div>
</div> </div>

View File

@ -6,7 +6,7 @@
<form id="Form_EditForm" action="admin?executeForm=EditForm" method="post" enctype="multipart/form-data"> <form id="Form_EditForm" action="admin?executeForm=EditForm" method="post" enctype="multipart/form-data">
<h1>$ApplicationName</h1> <h1>$ApplicationName</h1>
<p><% _t('WELCOME1', 'Welcome to') %> $ApplicationName! <% _t('WELCOME2', 'Please choose click on one of the entries on the left pane.') %></p> <p>Welcome to $ApplicationName! Please choose click on one of the entries on the left pane.</p>
</form> </form>
<% end_if %> <% end_if %>

View File

@ -1,15 +1,15 @@
<div class="PageControls"> <div class="PageControls">
<input name="MemberListStart" id="MemberListStart" type="hidden" value="$MemberListStart" /> <input name="MemberListStart" id="MemberListStart" type="hidden" value="$MemberListStart" />
<% if LastLink %><a class="Last" href="$LastLink" title="<% _t('VIEWLAST', 'View last') %> $PageSize <% _t('LASTMEMBERS', 'members') %>"><img src="cms/images/pagination/record-last.png" alt="View last $PageSize members" /></a> <% if LastLink %><a class="Last" href="$LastLink" title="View last $PageSize members"><img src="cms/images/pagination/record-last.png" alt="View last $PageSize members" /></a>
<% else %><span class="Last"><img src="cms/images/pagination/record-last-g.png" alt="<% _t('VIEWLAST', 'View last') %> $PageSize <% _t('LASTMEMBERS', 'members') %>" /></span><% end_if %> <% else %><span class="Last"><img src="cms/images/pagination/record-last-g.png" alt="View last $PageSize members" /></span><% end_if %>
<% if FirstLink %><a class="First" href="$FirstLink" title="<% _t('VIEWFIRST', 'View first') %> $PageSize <% _t('FIRSTMEMBERS', 'members') %>"><img src="cms/images/pagination/record-first.png" alt="View first $PageSize members" /></a> <% if FirstLink %><a class="First" href="$FirstLink" title="View first $PageSize members"><img src="cms/images/pagination/record-first.png" alt="View first $PageSize members" /></a>
<% else %><span class="First"><img src="cms/images/pagination/record-first-g.png" alt="<% _t('VIEWFIRST', 'View first') %> $PageSize <% _t('FIRSTMEMBERS', 'members') %>" /></span><% end_if %> <% else %><span class="First"><img src="cms/images/pagination/record-first-g.png" alt="View first $PageSize members" /></span><% end_if %>
<% if PrevLink %><a class="Prev" href="$PrevLink" title="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize <% _t('PREVIOUSMEMBERS', 'members') %>"><img src="cms/images/pagination/record-prev.png" alt="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize <% _t('PREVIOUSMEMBERS', 'members') %>" /></a> <% if PrevLink %><a class="Prev" href="$PrevLink" title="View previous $PageSize members"><img src="cms/images/pagination/record-prev.png" alt="View previous $PageSize members" /></a>
<% else %><img class="Prev" src="cms/images/pagination/record-prev-g.png" alt="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize <% _t('PREVIOUSMEMBERS', 'members') %>" /><% end_if %> <% else %><img class="Prev" src="cms/images/pagination/record-prev-g.png" alt="View previous $PageSize members" /><% end_if %>
<span class="Count"> <span class="Count">
<% _t('DISPLAYING', 'Displaying') %> $FirstMember <% _t('TO', 'to') %> $LastMember <% _t('OF', 'of') %> $TotalMembers Displaying $FirstMember to $LastMember of $TotalMembers
</span> </span>
<% if NextLink %><a class="Next" href="$NextLink" title="<% _t('VIEWNEXT', 'View next') %> $PageSize <% _t('NEXTMEMBERS', 'members') %>"><img src="cms/images/pagination/record-next.png" alt="<% _t('VIEWNEXT', 'View next') %> $PageSize <% _t('NEXTMEMBERS', 'members') %>" /></a> <% if NextLink %><a class="Next" href="$NextLink" title="View next $PageSize members"><img src="cms/images/pagination/record-next.png" alt="View next $PageSize members" /></a>
<% else %><img class="Next" src="cms/images/pagination/record-next-g.png" alt="<% _t('VIEWNEXT', 'View next') %> $PageSize <% _t('NEXTMEMBERS', 'members') %>" /><% end_if %> <% else %><img class="Next" src="cms/images/pagination/record-next-g.png" alt="View next $PageSize members" /><% end_if %>
</div> </div>

View File

@ -1,17 +1,17 @@
<% if Entries %> <% if Entries %>
<p><b><% _t('INSTRUCTIONS', 'Instructions:') %></b></p> <p><b>Instructions:</b></p>
<ul> <ul>
<li><% _t('INSTRUCTIONS1', 'Uncheck the box to enable sending to a blacklisted email address.') %></li> <li>Uncheck the box to enable sending to a blacklisted email address.</li>
<li><% _t('INSTRUCTIONS2', 'To remove a recipients\'s email address from your mailing list, click the icon') %> <img src="cms/images/delete.gif" alt="delete" /></li> <li>To remove a recipients's email address from your mailing list, click the <img src="cms/images/delete.gif" alt="delete" /> icon.</li>
</ul> </ul>
<table id="BouncedListTable" class="CMSList BouncedList" summary="<% _t('HAVEBOUNCED','Emails that have bounced') %>"> <table id="BouncedListTable" class="CMSList BouncedList" summary="<% _t('HAVEBOUNCED','Emails that have bounced') %>">
<thead> <thead>
<tr> <tr>
<th width="18"><% _t('BLACKLISTED', 'Blacklisted') %></th> <th width="18">Blacklisted</th>
<th><% _t('UNAME','User name') %></th> <th><% _t('UNAME','User name') %></th>
<th><% _t('EMADD','Email address') %></th> <th><% _t('EMADD','Email address') %></th>
<th><% _t('RESON', 'Reason:') %></th> <th>Reason:</th>
<th><% _t('DATE', 'Date') %></th> <th>Date</th>
<th width="18">&nbsp;</th> <th width="18">&nbsp;</th>
</tr> </tr>
</thead> </thead>

View File

@ -1,4 +1,4 @@
<h2><% _t('STATISTICS', 'Statistics') %></h2> <h2>Statistics</h2>
<div id="treepanes"> <div id="treepanes">
<div id="sitetree_holder"> <div id="sitetree_holder">
@ -6,10 +6,10 @@
<li class="Root" id="statsroot"><a><% _t('REPTYPES','Report Types') %></a> <li class="Root" id="statsroot"><a><% _t('REPTYPES','Report Types') %></a>
<li id="stoverview"><a href="$baseURL/admin/statistics/overview"><% _t('OVERV','Overview') %></a></li> <li id="stoverview"><a href="$baseURL/admin/statistics/overview"><% _t('OVERV','Overview') %></a></li>
<li id="stusers"><a href="$baseURL/admin/statistics/users"><% _t('USERS','Users') %></a></li> <li id="stusers"><a href="$baseURL/admin/statistics/users"><% _t('USERS','Users') %></a></li>
<li id="stviews"><a href="$baseURL/admin/statistics/views"><% _t('VIEWS', 'Views') %></a></li> <li id="stviews"><a href="$baseURL/admin/statistics/views">Views</a></li>
<li id="sttrends"><a href="$baseURL/admin/statistics/trends"><% _t('TRENDS', Trends) %></a></li> <li id="sttrends"><a href="$baseURL/admin/statistics/trends">Trends</a></li>
<li id="stos"><a href="$baseURL/admin/statistics/os"><% _t('OS', 'Operating Systems') %></a></li> <li id="stos"><a href="$baseURL/admin/statistics/os">Operating Systems</a></li>
<li id="stbrowsers"><a href="$baseURL/admin/statistics/browsers"><% _t('BROWSERS', 'Browsers') %></a></li> <li id="stbrowsers"><a href="$baseURL/admin/statistics/browsers">Browsers</a></li>
</li> </li>
</ul> </ul>
</div> </div>