mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
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:
parent
f640e12242
commit
4475726ad6
@ -1,12 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* URL rules for the CMS module
|
||||
* @package cms
|
||||
*/
|
||||
Director::addRules(50, array(
|
||||
'processes/$Action/$ID/$Batch' => 'BatchProcess_Controller',
|
||||
'silverstripe' => '->admin',
|
||||
'cms' => '->admin',
|
||||
'silverstripe/' => '->admin/',
|
||||
'cms/' => '->admin/',
|
||||
'admin/statistics/$Action/$ID' => 'StatisticsAdmin',
|
||||
'admin/security/$Action/$ID/$OtherID' => 'SecurityAdmin',
|
||||
'admin/help/$Action/$ID' => 'CMSHelp',
|
||||
@ -18,7 +17,8 @@ Director::addRules(50, array(
|
||||
'admin/bulkload/$Action/$ID/$OtherID' => 'BulkLoaderAdmin',
|
||||
'admin/ImageEditor/$Action' => 'ImageEditor',
|
||||
'admin/$Action/$ID/$OtherID' => 'CMSMain',
|
||||
'unsubscribe/$Email/$MailingList' => 'Unsubscribe_Controller'
|
||||
'unsubscribe/$Email/$MailingList' => 'Unsubscribe_Controller',
|
||||
'membercontrolpanel/$Email' => 'MemberControlPanel'
|
||||
));
|
||||
|
||||
?>
|
||||
|
@ -1,33 +1,11 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
|
||||
/**
|
||||
* AssetAdmin is the 'file store' section of the CMS.
|
||||
* It provides an interface for maniupating the File and Folder objects in the system.
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
class AssetAdmin extends LeftAndMain {
|
||||
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) {
|
||||
if(!$action) $action = "index";
|
||||
@ -86,6 +64,15 @@ class AssetAdmin extends LeftAndMain {
|
||||
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() {
|
||||
File::sync();
|
||||
@ -168,7 +155,7 @@ class AssetAdmin extends LeftAndMain {
|
||||
foreach($processedFiles as $file) {
|
||||
if($file['error'] == UPLOAD_ERR_NO_TMP_DIR) {
|
||||
$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;
|
||||
}
|
||||
|
||||
@ -217,24 +204,8 @@ class AssetAdmin extends LeftAndMain {
|
||||
$statusMessage = _t('AssetAdmin.NOTHINGTOUPLOAD','There was nothing to upload');
|
||||
$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
|
||||
<script type="text/javascript">
|
||||
/* IDs: $sFileIDs */
|
||||
/* Names: $sFileNames */
|
||||
|
||||
var form = parent.document.getElementById('Form_EditForm');
|
||||
form.getPageFromServer(form.elements.ID.value);
|
||||
parent.statusMessage("{$statusMessage}","{$status}");
|
||||
@ -259,8 +230,62 @@ HTML;
|
||||
$record = singleton("Folder");
|
||||
}
|
||||
|
||||
if($record) {
|
||||
$fields = $record->getCMSFields();
|
||||
$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) {
|
||||
$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();
|
||||
|
||||
@ -343,7 +368,7 @@ HTML;
|
||||
$brokenPageList = '';
|
||||
|
||||
if($fileList != "''") {
|
||||
$files = DataObject::get("File", "`File`.ID IN ($fileList)");
|
||||
$files = DataObject::get("File", "ID IN ($fileList)");
|
||||
if($files) {
|
||||
foreach($files as $file) {
|
||||
if($file instanceof Image) {
|
||||
@ -421,7 +446,8 @@ JS;
|
||||
|
||||
/**
|
||||
* Return the entire site tree as a nested set of ULs
|
||||
*/
|
||||
|
||||
*/
|
||||
public function SiteTreeAsUL() {
|
||||
$obj = singleton('Folder');
|
||||
$obj->setMarkingFilter("ClassName", "Folder");
|
||||
@ -435,7 +461,7 @@ JS;
|
||||
|
||||
' "<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);
|
||||
|
||||
@ -465,7 +491,7 @@ JS;
|
||||
|
||||
' "<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);
|
||||
|
||||
@ -493,7 +519,7 @@ JS;
|
||||
$p->ParentID = $parent;
|
||||
$p->Title = _t('AssetAdmin.NEWFOLDER',"NewFolder");
|
||||
|
||||
$p->Name = _t('AssetAdmin.NEWFOLDER', 'NewFolder');
|
||||
$p->Name = "NewFolder";
|
||||
|
||||
// Get the folder to be created
|
||||
if(isset($parentObj->ID)) $filename = $parentObj->FullPath . $p->Name;
|
||||
@ -619,24 +645,12 @@ if(!$record)
|
||||
}*/
|
||||
|
||||
|
||||
/*
|
||||
|
||||
$s = (sizeof($ids) > 1) ? "s" :"";
|
||||
|
||||
$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.";
|
||||
*/
|
||||
|
||||
$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');";
|
||||
echo $script;
|
||||
}
|
||||
@ -693,7 +707,7 @@ JS;
|
||||
foreach($this->getUnusedThumbnailsArray() as $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')";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,14 +1,4 @@
|
||||
<?php
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
|
||||
/**
|
||||
* A special kind of complex table field for manipulating assets.
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
class AssetTableField extends ComplexTableField {
|
||||
|
||||
protected $folder;
|
||||
@ -70,13 +60,13 @@ class AssetTableField extends ComplexTableField {
|
||||
}
|
||||
|
||||
$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 .= "</div>";
|
||||
|
||||
$detailFormFields = new FieldSet(
|
||||
new TabSet("BottomRoot",
|
||||
new Tab(_t('AssetTableField.MAIN', 'Main'),
|
||||
new Tab("Main",
|
||||
new TextField("Title", _t('AssetTableField.TITLE','Title')),
|
||||
new TextField("Name", _t('AssetTableField.FILENAME','Filename')),
|
||||
new LiteralField("AbsoluteURL", $urlLink),
|
||||
@ -93,16 +83,15 @@ class AssetTableField extends ComplexTableField {
|
||||
$big = $childData->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."._t('AssetTableField.MAIN','Main'),
|
||||
$detailFormFields->addFieldToTab("BottomRoot.Main",
|
||||
new ReadonlyField("Dimensions", _t('AssetTableField.DIM','Dimensions')),
|
||||
"Created"
|
||||
);
|
||||
|
||||
$detailFormFields->addFieldToTab("BottomRoot",
|
||||
new Tab(_t('AssetTableField.IMAGE', 'Image'),
|
||||
new Tab("Image",
|
||||
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>'
|
||||
)
|
||||
),
|
||||
@ -111,8 +100,8 @@ class AssetTableField extends ComplexTableField {
|
||||
|
||||
if(class_exists('GalleryFile')) {
|
||||
$detailFormFields->addFieldToTab("BottomRoot",
|
||||
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'),
|
||||
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') )
|
||||
new Tab("Gallery Options",
|
||||
new TextField( "Content", "Caption" )
|
||||
)
|
||||
);
|
||||
}
|
||||
@ -120,22 +109,22 @@ class AssetTableField extends ComplexTableField {
|
||||
else if (class_exists('GalleryFile')) {
|
||||
if( $childData->Extension == 'swf' ) {
|
||||
$detailFormFields->addFieldToTab("BottomRoot",
|
||||
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'),
|
||||
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') ),
|
||||
new TextField( 'PopupWidth', _t('AssetTableField.POPUPWIDTH', 'Popup Width') ),
|
||||
new TextField( 'PopupHeight', _t('AssetTableField.POPUPHEIGHT', 'Popup Height') ),
|
||||
new HeaderField( _t('AssetTableField.SWFFILEOPTIONS', 'SWF File Options') ),
|
||||
new CheckboxField( 'Embed', _t('AssetTableField.ISFLASH', 'Is A Flash Document') ),
|
||||
new CheckboxField( 'LimitDimensions', _t('AssetTableField.DIMLIMT', 'Limit The Dimensions In The Popup Window') )
|
||||
new Tab("Gallery Options",
|
||||
new TextField( "Content", "Caption" ),
|
||||
new TextField( 'PopupWidth', 'Popup Width' ),
|
||||
new TextField( 'PopupHeight', 'Popup Height' ),
|
||||
new HeaderField( 'SWF File Options' ),
|
||||
new CheckboxField( 'Embed', 'Is A Flash Document' ),
|
||||
new CheckboxField( 'LimitDimensions', 'Limit The Dimensions In The Popup Window' )
|
||||
)
|
||||
);
|
||||
}
|
||||
else {
|
||||
$detailFormFields->addFieldToTab("BottomRoot",
|
||||
new Tab(_t('AssetTableField.GALLERYOPTIONS', 'Gallery Options'),
|
||||
new TextField( "Content", _t('AssetTableField.CAPTION', 'Caption') ),
|
||||
new TextField( 'PopupWidth', _t('AssetTableField.POPUPWIDTH', 'Popup Width') ),
|
||||
new TextField( 'PopupHeight', _t('AssetTableField.POPUPHEIGHT', 'Popup Height') )
|
||||
new Tab("Gallery Options",
|
||||
new TextField( "Content", "Caption" ),
|
||||
new TextField( 'PopupWidth', 'Popup Width' ),
|
||||
new TextField( 'PopupHeight', 'Popup Height' )
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -1,16 +1,5 @@
|
||||
<?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 {
|
||||
/**
|
||||
* Override this on subclasses to give the specific functions names
|
||||
|
@ -1,18 +1,11 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage bulkloading
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class to provide batch-update facilities to CMS users.
|
||||
* The BulkLoaderAdmin class provides an interface for accessing all of the subclasses of BulkLoader,
|
||||
* each of which defines a particular bulk loading operation.
|
||||
*
|
||||
* @package cms
|
||||
* @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.
|
||||
* This code was originally developed for Per Week in collaboration with Brian Calhoun.
|
||||
*/
|
||||
class BulkLoaderAdmin extends LeftAndMain {
|
||||
|
||||
|
@ -1,15 +1,8 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
|
||||
/**
|
||||
* A special kind of form used to make the action dialogs that appear just underneath the top-right
|
||||
* buttons in the CMS
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
class CMSActionOptionsForm extends Form {
|
||||
function FormAttributes() {
|
||||
|
8
code/CMSHelp.php
Executable file
8
code/CMSHelp.php
Executable file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
class CMSHelp extends Controller {
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
133
code/CMSMain.php
133
code/CMSMain.php
@ -1,15 +1,8 @@
|
||||
<?php
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage content
|
||||
*/
|
||||
|
||||
/**
|
||||
* The main "content" area of the CMS.
|
||||
* This class creates a 2-frame layout - left-tree and right-form - to sit beneath the main
|
||||
* admin menu.
|
||||
* @package cms
|
||||
* @subpackage content
|
||||
* @todo Create some base classes to contain the generic functionality that will be replicated.
|
||||
*/
|
||||
class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionProvider {
|
||||
@ -18,36 +11,6 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr
|
||||
|
||||
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
|
||||
*/
|
||||
@ -272,7 +235,7 @@ JS;
|
||||
$classes = ClassInfo::getValidSubClasses();
|
||||
array_shift($classes);
|
||||
$result = new DataObjectSet();
|
||||
$kill_ancestors = array();
|
||||
$kill_ancestors[] = null;
|
||||
|
||||
// figure out if there are any classes we don't want to appear
|
||||
foreach($classes as $class) {
|
||||
@ -289,8 +252,7 @@ JS;
|
||||
if ($kill_ancestors) {
|
||||
foreach ($kill_ancestors as $mark) {
|
||||
// unset from $classes
|
||||
$idx = array_search($mark, $classes);
|
||||
unset($classes[$idx]);
|
||||
unset($classes[$mark]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -303,26 +265,20 @@ JS;
|
||||
// skip this type if it is restricted
|
||||
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);
|
||||
if($addAction) {
|
||||
// backwards compatibility for actions like "a page" (instead of "page")
|
||||
$addAction = preg_replace('/^a /','',$addAction);
|
||||
$addAction = ucfirst($addAction);
|
||||
} else {
|
||||
$addAction = $instance->i18n_singular_name();
|
||||
$addAction = $class;
|
||||
}
|
||||
*/
|
||||
$addAction = $instance->i18n_singular_name();
|
||||
|
||||
$result->push(new ArrayData(array(
|
||||
"ClassName" => $class,
|
||||
"AddAction" => $addAction,
|
||||
)));
|
||||
}
|
||||
$result->sort('AddAction');
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -471,9 +427,7 @@ JS;
|
||||
$newItem->ClassName = $className;
|
||||
$newItem->ParentID = $parentID;
|
||||
|
||||
// DataObject::fieldExists only checks the current class, not the hierarchy
|
||||
// This allows the CMS to set the correct sort value
|
||||
if($newItem->castingHelperPair('Sort')) {
|
||||
if($newItem->fieldExists('Sort')) {
|
||||
$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;
|
||||
|
||||
# Some modules like subsites add extra fields that need to be set when the new item is created
|
||||
$this->extend('augmentNewSiteTreeItem', $newItem);
|
||||
|
||||
return $newItem;
|
||||
}
|
||||
|
||||
@ -519,13 +470,13 @@ JS;
|
||||
|
||||
if(isset($descendantsRemoved)) {
|
||||
$descRemoved = " and $descendantsRemoved descendants";
|
||||
$descRemoved = sprintf(' '._t('CMSMain.DESCREMOVED', 'and %s descendants'), $descendantsRemoved);
|
||||
} else {
|
||||
$descRemoved = '';
|
||||
}
|
||||
|
||||
$title = Convert::raw2js($record->Title);
|
||||
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();
|
||||
}
|
||||
@ -540,7 +491,7 @@ JS;
|
||||
//$record->PublishedByID = Member::currentUser()->ID;
|
||||
$record->write();
|
||||
$record->publish("Stage", "Live");
|
||||
|
||||
|
||||
GoogleSitemap::ping();
|
||||
|
||||
// Fix the sort order for this page's siblings
|
||||
@ -717,7 +668,7 @@ HTML;
|
||||
foreach($reports as $report) {
|
||||
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
|
||||
@ -883,7 +834,7 @@ HTML;
|
||||
$form->loadDataFrom($record);
|
||||
$form->loadDataFrom(array(
|
||||
"ID" => $id,
|
||||
"Version" => $fromVersion,
|
||||
"Version" => $version,
|
||||
));
|
||||
$form->makeReadonly();
|
||||
foreach($form->Fields()->dataFields() as $field) {
|
||||
@ -1172,23 +1123,14 @@ HTML;
|
||||
ini_set('max_execution_time', 300);
|
||||
|
||||
if(isset($_POST['confirm'])) {
|
||||
$start = 0;
|
||||
$pages = DataObject::get("SiteTree", "", "", "", "$start,30");
|
||||
$pages = DataObject::get("SiteTree");
|
||||
$count = 0;
|
||||
while(true) {
|
||||
foreach($pages as $page) {
|
||||
$this->performPublish($page);
|
||||
$page->destroy();
|
||||
unset($page);
|
||||
$count++;
|
||||
echo "<li>$count</li>";
|
||||
}
|
||||
if($pages->Count() > 29) {
|
||||
$start += 30;
|
||||
$pages = DataObject::get("SiteTree", "", "", "", "$start,30");
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
foreach($pages as $page) {
|
||||
$this->performPublish($page);
|
||||
$page->destroy();
|
||||
unset($page);
|
||||
$count++;
|
||||
echo "<li>$count";
|
||||
}
|
||||
|
||||
echo sprintf(_t('CMSMain.PUBPAGES',"Done: Published %d pages"), $count);
|
||||
@ -1225,24 +1167,6 @@ HTML;
|
||||
$page = DataObject::get_by_id("SiteTree", $id);
|
||||
|
||||
$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);
|
||||
} else {
|
||||
@ -1354,6 +1278,29 @@ JS
|
||||
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.
|
||||
* Can't put it on LeftAndMain since that's an abstract base class.
|
||||
@ -1362,7 +1309,7 @@ JS
|
||||
$classes = ClassInfo::subclassesFor('LeftAndMain');
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -1,30 +1,12 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* Comment administration system within the CMS
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class CommentAdmin extends LeftAndMain {
|
||||
static $allowed_actions = array(
|
||||
'approvedmarked',
|
||||
'deleteall',
|
||||
'deletemarked',
|
||||
'hammarked',
|
||||
'showtable',
|
||||
'spammarked',
|
||||
);
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
|
||||
Requirements::javascript('cms/javascript/CommentAdmin_right.js');
|
||||
Requirements::css('cms/css/CommentAdmin.css');
|
||||
Requirements::javascript("cms/javascript/CommentAdmin_right.js");
|
||||
Requirements::css("cms/css/CommentAdmin.css");
|
||||
}
|
||||
|
||||
public function Link($action = null) {
|
||||
@ -54,27 +36,27 @@ class CommentAdmin extends LeftAndMain {
|
||||
|
||||
if($section == 'approved') {
|
||||
$filter = 'IsSpam=0 AND NeedsModeration=0';
|
||||
$title = "<h2>". _t('CommentAdmin.APPROVEDCOMMENTS', 'Approved Comments')."</h2>";
|
||||
$title = "<h2>Approved Comments</h2>";
|
||||
} else if($section == 'unmoderated') {
|
||||
$filter = 'NeedsModeration=1';
|
||||
$title = "<h2>"._t('CommentAdmin.COMMENTSAWAITINGMODERATION', 'Comments Awaiting Moderation')."</h2>";
|
||||
$title = "<h2>Comments Awaiting Moderation</h2>";
|
||||
} else {
|
||||
$filter = 'IsSpam=1';
|
||||
$title = "<h2>"._t('CommentAdmin.SPAM', 'Spam')."</h2>";
|
||||
$title = "<h2>Spam</h2>";
|
||||
}
|
||||
|
||||
$filter .= ' AND ParentID>0';
|
||||
|
||||
$tableFields = array(
|
||||
"Name" => _t('CommentAdmin.AUTHOR', 'Author'),
|
||||
"Comment" => _t('CommentAdmin.COMMENT', 'Comment'),
|
||||
"PageTitle" => _t('CommentAdmin.PAGE', 'Page'),
|
||||
"Created" => _t('CommentAdmin.DATEPOSTED', 'Date Posted')
|
||||
"Name" => "Author",
|
||||
"Comment" => "Comment",
|
||||
"PageTitle" => "Page",
|
||||
"Created" => "Date Posted"
|
||||
);
|
||||
|
||||
$popupFields = new FieldSet(
|
||||
new TextField('Name', _t('CommentAdmin.NAME', 'Name')),
|
||||
new TextareaField('Comment', _t('CommentAdmin.COMMENT', 'Comment'))
|
||||
new TextField("Name"),
|
||||
new TextareaField("Comment", "Comment")
|
||||
);
|
||||
|
||||
$idField = new HiddenField('ID', '', $section);
|
||||
@ -83,7 +65,7 @@ class CommentAdmin extends LeftAndMain {
|
||||
|
||||
$fields = new FieldSet(
|
||||
new TabSet( 'Root',
|
||||
new Tab(_t('CommentAdmin.COMMENTS', 'Comments'),
|
||||
new Tab('Comments',
|
||||
new LiteralField("Title", $title),
|
||||
$idField,
|
||||
$table
|
||||
@ -94,21 +76,21 @@ class CommentAdmin extends LeftAndMain {
|
||||
$actions = new FieldSet();
|
||||
|
||||
if($section == 'unmoderated') {
|
||||
$actions->push(new FormAction('acceptmarked', _t('CommentAdmin.ACCEPT', 'Accept')));
|
||||
$actions->push(new FormAction('acceptmarked', 'Accept'));
|
||||
}
|
||||
|
||||
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') {
|
||||
$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') {
|
||||
$actions->push(new FormAction('deleteall', _t('CommentAdmin.DELETEALL', 'Delete All')));
|
||||
$actions->push(new FormAction('deleteall', 'Delete All'));
|
||||
}
|
||||
|
||||
$form = new Form($this, "EditForm", $fields, $actions);
|
||||
@ -142,7 +124,7 @@ JS;
|
||||
|
||||
function deleteall() {
|
||||
$numComments = 0;
|
||||
$spam = DataObject::get('PageComment', 'PageComment.IsSpam=1');
|
||||
$spam = DataObject::get('PageComment', "PageComment.IsSpam=1");
|
||||
|
||||
if($spam) {
|
||||
$numComments = $spam->Count();
|
||||
@ -151,11 +133,10 @@ JS;
|
||||
$comment->delete();
|
||||
}
|
||||
}
|
||||
|
||||
$msg = sprintf(_t('CommentAdmin.DELETED', 'Deleted %s comments.'), $numComments);
|
||||
|
||||
echo <<<JS
|
||||
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
|
||||
statusMessage("$msg");
|
||||
statusMessage("Deleted $numComments comments.");
|
||||
JS;
|
||||
|
||||
}
|
||||
@ -191,11 +172,10 @@ JS;
|
||||
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
|
||||
$deleteList
|
||||
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
|
||||
statusMessage("$msg");
|
||||
statusMessage("Marked $numComments comments as spam.");
|
||||
JS;
|
||||
}
|
||||
|
||||
@ -231,11 +211,10 @@ JS;
|
||||
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
|
||||
$deleteList
|
||||
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
|
||||
statusMessage("$msg");
|
||||
statusMessage("Marked $numComments comments as not spam.");
|
||||
JS;
|
||||
}
|
||||
|
||||
@ -257,8 +236,7 @@ JS;
|
||||
} else {
|
||||
user_error("No comments in $commentList could be found!", E_USER_ERROR);
|
||||
}
|
||||
|
||||
$msg = sprintf(_t('CommentAdmin.APPROVED', 'Accepted %s comments.'), $numComments);
|
||||
|
||||
echo <<<JS
|
||||
$deleteList
|
||||
$('Form_EditForm').getPageFromServer($('Form_EditForm_ID').value);
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* Special kind of ComplexTableField for managing comments.
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class CommentTableField extends ComplexTableField {
|
||||
protected $template = "CommentTableField";
|
||||
protected $mode;
|
||||
@ -143,12 +133,12 @@ class CommentTableField extends ComplexTableField {
|
||||
|
||||
function SearchForm() {
|
||||
$searchFields = new FieldGroup(
|
||||
new TextField('CommentSearch', _t('CommentTableField.SEARCH', 'Search')),
|
||||
new TextField('CommentSearch', 'Search'),
|
||||
new HiddenField("ctf[ID]",'',$this->mode),
|
||||
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(
|
||||
$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 {
|
||||
function HasSpamButton() {
|
||||
return $this->parent()->HasSpamButton();
|
||||
@ -190,4 +176,4 @@ class CommentTableField_Item extends ComplexTableField_Item {
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -1,11 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* A PHP diff engine
|
||||
*/
|
||||
|
||||
// difflib.php
|
||||
//
|
||||
// A PHP diff engine for phpwiki.
|
||||
@ -17,15 +11,8 @@
|
||||
// FIXME: possibly remove assert()'s for production version?
|
||||
|
||||
// PHP3 does not have assert()
|
||||
/**
|
||||
*/
|
||||
define('USE_ASSERTS', function_exists('assert'));
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @access private
|
||||
*/
|
||||
class _DiffOp {
|
||||
var $type;
|
||||
var $orig;
|
||||
@ -44,11 +31,6 @@ class _DiffOp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @access private
|
||||
*/
|
||||
class _DiffOp_Copy extends _DiffOp {
|
||||
var $type = 'copy';
|
||||
|
||||
@ -64,11 +46,6 @@ class _DiffOp_Copy extends _DiffOp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @access private
|
||||
*/
|
||||
class _DiffOp_Delete extends _DiffOp {
|
||||
var $type = 'delete';
|
||||
|
||||
@ -82,11 +59,6 @@ class _DiffOp_Delete extends _DiffOp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @access private
|
||||
*/
|
||||
class _DiffOp_Add extends _DiffOp {
|
||||
var $type = 'add';
|
||||
|
||||
@ -100,11 +72,6 @@ class _DiffOp_Add extends _DiffOp {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @access private
|
||||
*/
|
||||
class _DiffOp_Change extends _DiffOp {
|
||||
var $type = 'change';
|
||||
|
||||
@ -138,8 +105,6 @@ class _DiffOp_Change extends _DiffOp {
|
||||
*
|
||||
* @author Geoffrey T. Dairiki
|
||||
* @access private
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
class _DiffEngine
|
||||
{
|
||||
@ -524,8 +489,6 @@ class _DiffEngine
|
||||
|
||||
/**
|
||||
* Class representing a 'diff' between two sequences of strings.
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
class Diff
|
||||
{
|
||||
@ -774,9 +737,7 @@ class Diff
|
||||
|
||||
|
||||
/**
|
||||
* Computes diff between sequences of strings.
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* FIXME: bad name.
|
||||
*/
|
||||
class MappedDiff
|
||||
extends Diff
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
|
||||
/**
|
||||
* A FormField showing a list of files
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
class FileList extends TableListField {
|
||||
// bdc: added sort by Title as default behaviour
|
||||
protected $folder;
|
||||
|
@ -1,26 +1,14 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
|
||||
/**
|
||||
* Provides a common interface for searching, viewing and editing DataObjects.
|
||||
* Extend the class to adjust functionality to your specific DataObjects.
|
||||
*
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
* @var $data_type DataObject The base class
|
||||
* @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 {
|
||||
static $allowed_actions = array(
|
||||
'createRecord',
|
||||
'delete',
|
||||
'export',
|
||||
'getResults',
|
||||
'save',
|
||||
'show',
|
||||
);
|
||||
|
||||
public $filter;
|
||||
|
||||
@ -64,7 +52,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
|
||||
function __construct() {
|
||||
$this->result_actions = new FieldSet(
|
||||
new FormAction('export', _t('GenericDataAdmin.EXPORTCSV', 'Export as CSV'))
|
||||
new FormAction("export","Export as CSV")
|
||||
);
|
||||
|
||||
parent::__construct();
|
||||
@ -128,10 +116,9 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
* @return Form
|
||||
*/
|
||||
function CreationForm() {
|
||||
// is this plural name used ??
|
||||
$plural_name = singleton($this->stat('data_type'))->i18n_plural_name();
|
||||
$singular_name = singleton($this->stat('data_type'))->i18_nsingular_name();
|
||||
return new Form($this, 'CreationForm', new FieldSet(), new FieldSet(new FormAction("createRecord", _t('GenericDataAdmin.CREATE', 'Create').' '.$singular_name)));
|
||||
$plural_name = singleton($this->stat('data_type'))->plural_name();
|
||||
$singular_name = singleton($this->stat('data_type'))->singular_name();
|
||||
return new Form($this, 'CreationForm', new FieldSet(), new FieldSet(new FormAction("createRecord", "Create {$singular_name}")));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -146,14 +133,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
|
||||
// legacy
|
||||
function ExportForm() {
|
||||
return $form = new Form(
|
||||
$this,
|
||||
"ExportForm",
|
||||
new FieldSet(
|
||||
new HiddenField("csvIDs","csvIDs",$_REQUEST[csvIDs])
|
||||
),
|
||||
$this->result_actions
|
||||
);
|
||||
return $this->EditForm();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -162,7 +142,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
function SearchForm() {
|
||||
|
||||
$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->loadDataFrom($_REQUEST);
|
||||
@ -202,10 +182,10 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
|
||||
$actions = (method_exists($genericData, 'getCMSActions')) ? $genericData->getCMSActions() : new FieldSet();
|
||||
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')) {
|
||||
$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();
|
||||
@ -240,8 +220,8 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
function Results() {
|
||||
$ret = "";
|
||||
|
||||
$singular_name = singleton($this->stat('data_type'))->i18n_singular_name();
|
||||
$plural_name = singleton($this->stat('data_type'))->i18n_plural_name();
|
||||
$singular_name = singleton($this->stat('data_type'))->singular_name();
|
||||
$plural_name = singleton($this->stat('data_type'))->plural_name();
|
||||
if (!$this->filter) {
|
||||
$this->filter = array(
|
||||
"ClassName" => $this->stat('data_type')
|
||||
@ -253,7 +233,7 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
$results = $this->performSearch();
|
||||
if($results) {
|
||||
$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')) {
|
||||
case 'table':
|
||||
@ -266,9 +246,9 @@ abstract class GenericDataAdmin extends LeftAndMain {
|
||||
$ret .= $this->getResultActionsForm($results);
|
||||
} else {
|
||||
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 {
|
||||
$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;
|
||||
@ -459,7 +439,7 @@ HTML;
|
||||
$fileData .= implode(",",$columnData);
|
||||
$fileData .= "\n";
|
||||
}
|
||||
|
||||
|
||||
HTTP::sendFileToBrowser($fileData, $fileName);
|
||||
} else {
|
||||
user_error("No records found", E_USER_ERROR);
|
||||
@ -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);
|
||||
|
||||
if (method_exists($this, "saveAfterCall")) {
|
||||
@ -564,7 +544,7 @@ HTML;
|
||||
// clear session data
|
||||
Session::clear('currentPage');
|
||||
|
||||
FormResponse::status_message(_t('GenericDataAdmin.DELETEDSUCCESS', 'Successfully deleted'), 'good');
|
||||
FormResponse::status_message('Successfully deleted', 'good');
|
||||
FormResponse::add("$('Form_EditForm').deleteEffect();");
|
||||
|
||||
return FormResponse::respond();
|
||||
|
@ -1,245 +1,239 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
|
||||
/**
|
||||
* This Controller handles all operation needed for ImageEditor to work(expect for GD operations).
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
class ImageEditor extends Controller {
|
||||
|
||||
public $fileToEdit = "";
|
||||
|
||||
public $fileToEditOnlyName = "";
|
||||
|
||||
/**
|
||||
* Includes all JS required for ImageEditor. This method requires setting
|
||||
* a fileToEdit URL in POST.
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public function index() {
|
||||
Requirements::clear();
|
||||
Requirements::javascript('jsparty/prototype.js');
|
||||
Requirements::javascript('jsparty/scriptaculous/scriptaculous.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Utils.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageHistory.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Image.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageTransformation.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Resizeable.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Effects.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Environment.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Crop.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Resize.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageBox.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageEditor.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/DocumentBody.js');
|
||||
*
|
||||
*/
|
||||
|
||||
Requirements::javascript('jsparty/loader.js');
|
||||
Requirements::javascript('jsparty/behaviour.js');
|
||||
Requirements::javascript('cms/javascript/LeftAndMain.js');
|
||||
Requirements::css('cms/css/ImageEditor/ImageEditor.css');
|
||||
class ImageEditor extends Controller {
|
||||
|
||||
public $fileToEdit = "";
|
||||
|
||||
public $fileToEditOnlyName = "";
|
||||
|
||||
/**
|
||||
* Includes all JS required for ImageEditor. This method requires setting
|
||||
* a fileToEdit URL in POST.
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
public function index() {
|
||||
Requirements::clear();
|
||||
Requirements::javascript('jsparty/prototype.js');
|
||||
Requirements::javascript('jsparty/scriptaculous/scriptaculous.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Utils.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageHistory.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Image.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageTransformation.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Resizeable.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Effects.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Environment.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Crop.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/Resize.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageBox.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/ImageEditor.js');
|
||||
Requirements::javascript('cms/javascript/ImageEditor/DocumentBody.js');
|
||||
|
||||
if(!isset($this->requestParams['fileToEdit'])) $this->raiseError();
|
||||
$fileWithPath = $this->requestParams['fileToEdit'];
|
||||
$this->fileToEdit = $this->file2Origin($fileWithPath);
|
||||
$this->fileToEditOnlyName = $this->urlToFilename($this->fileToEdit);
|
||||
return $this->renderWith(__CLASS__);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method is used for manipulating photos.
|
||||
* Method requires two params set in POST
|
||||
* file - file on which operation will be performed
|
||||
* command - name of operation(crop|rotate|resize)
|
||||
*
|
||||
* Each operation requires additional parameters.
|
||||
*
|
||||
* @return String - JSON array with image properties (width,height,url).
|
||||
*/
|
||||
public function manipulate() {
|
||||
$fileName = $this->requestParams['file'];
|
||||
if(strpos($fileName,'?') !== false) $fileName = substr($fileName,0,strpos($fileName,'?'));
|
||||
$command = $this->requestParams['command'];
|
||||
$this->checkFileExists($fileName);
|
||||
$fileInfo = pathinfo($fileName);
|
||||
$gd = new GD($this->url2File($fileName));
|
||||
switch($command) {
|
||||
case 'rotate':
|
||||
$angle = $_POST['angle'];
|
||||
$gd = $gd->rotate($angle);
|
||||
break;
|
||||
case 'resize':
|
||||
$imageNewWidth = $_POST['newImageWidth'];
|
||||
$imageNewHeight = $_POST['newImageHeight'];
|
||||
$gd = $gd->resize($imageNewWidth,$imageNewHeight);
|
||||
break;
|
||||
case 'crop':
|
||||
$top = $_POST['top'];
|
||||
$left = $_POST['left'];
|
||||
$width = $_POST['width'];
|
||||
$height = $_POST['height'];
|
||||
$gd = $gd->crop($top,$left,$width,$height);
|
||||
break;
|
||||
Requirements::javascript('jsparty/loader.js');
|
||||
Requirements::javascript('jsparty/behaviour.js');
|
||||
Requirements::javascript('cms/javascript/LeftAndMain.js');
|
||||
Requirements::css('cms/css/ImageEditor/ImageEditor.css');
|
||||
|
||||
if(!isset($this->requestParams['fileToEdit'])) $this->raiseError();
|
||||
$fileWithPath = $this->requestParams['fileToEdit'];
|
||||
$this->fileToEdit = $this->file2Origin($fileWithPath);
|
||||
$this->fileToEditOnlyName = $this->urlToFilename($this->fileToEdit);
|
||||
return $this->renderWith(__CLASS__);
|
||||
}
|
||||
$rand = md5(rand(1,100000));
|
||||
$gd->writeTo('../assets/_tmp/' . $rand . '.' . $fileInfo['extension']);
|
||||
return $this->getImageInfoInJSON($gd,'assets/_tmp/' . $rand . '.' . $fileInfo['extension']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method is used for saving photos.
|
||||
* Method requires two params set in POST
|
||||
* originalFile - this file will be replaced by second file
|
||||
* editedFile - this file will replace first file.
|
||||
*
|
||||
* After replacing original file all thumbnails created from it are removed.
|
||||
*
|
||||
* @return String - Message that everything went ok.
|
||||
*/
|
||||
|
||||
public function save() {
|
||||
if(isset($this->requestParams['originalFile']) && isset($this->requestParams['editedFile'])) {
|
||||
$originalFile = $this->requestParams['originalFile'];
|
||||
$editedFile = $this->requestParams['editedFile'];
|
||||
if(strpos($originalFile,'?') !== false) $originalFile = substr($originalFile,0,strpos($originalFile,'?'));
|
||||
if($this->checkFileExists($originalFile) && $this->checkFileExists($editedFile)) {
|
||||
if($editedFile != $originalFile && copy($this->url2File($editedFile),$this->url2File($originalFile))) {
|
||||
$image = DataObject::get_one('File','Filename = \'' . substr($this->url2File($originalFile),3) . '\'');
|
||||
$image->deleteFormattedImages();
|
||||
$image->generateFormattedImage('AssetLibraryPreview');
|
||||
|
||||
/**
|
||||
* Method is used for manipulating photos.
|
||||
* Method requires two params set in POST
|
||||
* file - file on which operation will be performed
|
||||
* command - name of operation(crop|rotate|resize)
|
||||
*
|
||||
* Each operation requires additional parameters.
|
||||
*
|
||||
* @return String - JSON array with image properties (width,height,url).
|
||||
*/
|
||||
public function manipulate() {
|
||||
$fileName = $this->requestParams['file'];
|
||||
if(strpos($fileName,'?') !== false) $fileName = substr($fileName,0,strpos($fileName,'?'));
|
||||
$command = $this->requestParams['command'];
|
||||
$this->checkFileExists($fileName);
|
||||
$fileInfo = pathinfo($fileName);
|
||||
$gd = new GD($this->url2File($fileName));
|
||||
switch($command) {
|
||||
case 'rotate':
|
||||
$angle = $_POST['angle'];
|
||||
$gd = $gd->rotate($angle);
|
||||
break;
|
||||
case 'resize':
|
||||
$imageNewWidth = $_POST['newImageWidth'];
|
||||
$imageNewHeight = $_POST['newImageHeight'];
|
||||
$gd = $gd->resize($imageNewWidth,$imageNewHeight);
|
||||
break;
|
||||
case 'crop':
|
||||
$top = $_POST['top'];
|
||||
$left = $_POST['left'];
|
||||
$width = $_POST['width'];
|
||||
$height = $_POST['height'];
|
||||
$gd = $gd->crop($top,$left,$width,$height);
|
||||
break;
|
||||
}
|
||||
$rand = md5(rand(1,100000));
|
||||
$gd->writeTo('../assets/_tmp/' . $rand . '.' . $fileInfo['extension']);
|
||||
return $this->getImageInfoInJSON($gd,'assets/_tmp/' . $rand . '.' . $fileInfo['extension']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method is used for saving photos.
|
||||
* Method requires two params set in POST
|
||||
* originalFile - this file will be replaced by second file
|
||||
* editedFile - this file will replace first file.
|
||||
*
|
||||
* After replacing original file all thumbnails created from it are removed.
|
||||
*
|
||||
* @return String - Message that everything went ok.
|
||||
*/
|
||||
|
||||
public function save() {
|
||||
if(isset($this->requestParams['originalFile']) && isset($this->requestParams['editedFile'])) {
|
||||
$originalFile = $this->requestParams['originalFile'];
|
||||
$editedFile = $this->requestParams['editedFile'];
|
||||
if(strpos($originalFile,'?') !== false) $originalFile = substr($originalFile,0,strpos($originalFile,'?'));
|
||||
if($this->checkFileExists($originalFile) && $this->checkFileExists($editedFile)) {
|
||||
if($editedFile != $originalFile && copy($this->url2File($editedFile),$this->url2File($originalFile))) {
|
||||
$image = DataObject::get_one('File','Filename = \'' . substr($this->url2File($originalFile),3) . '\'');
|
||||
$image->deleteFormattedImages();
|
||||
$image->generateFormattedImage('AssetLibraryPreview');
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
return 'parent.parent.parent.statusMessage(\'Image saved\',\'good\',false);';
|
||||
}
|
||||
|
||||
/**
|
||||
* Method is invoked when ImageEditor is closed whether image is saved or not.
|
||||
*
|
||||
* /assets/tmp is folder where we store temporary images created during editing so
|
||||
* after closing they are no necessity to keep them.
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
|
||||
public function close() {
|
||||
$tmpDir = '../assets/_tmp';
|
||||
if(file_exists($tmpDir)) {
|
||||
Filesystem::removeFolder($tmpDir);
|
||||
mkdir($tmpDir, Filesystem::$folder_create_mask);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method return JSON array containing info about image.
|
||||
*
|
||||
* @param gd - GD object used for retrieving info about image
|
||||
* @param file
|
||||
*
|
||||
* @return string JSON array explained in manipulate method comment
|
||||
*/
|
||||
|
||||
private function getImageInfoInJSON(GD $gd,$file) {
|
||||
return '{"fileName":"' . $file . '","width":' . $gd->getWidth() . ',"height":' . $gd->getHeight() . '}';
|
||||
}
|
||||
|
||||
/**
|
||||
* Method converts thumbnail file name to file name of it's "parent"
|
||||
*
|
||||
* @param file - name of thumbnail file
|
||||
*
|
||||
* @return string name of parent file.
|
||||
*/
|
||||
|
||||
private function file2Origin($file) {
|
||||
$file = str_replace('_resampled/','',$file);
|
||||
$file = str_replace('_resampled/','',$file);
|
||||
$file = str_replace('AssetLibraryPreview-','',$file);
|
||||
$this->checkFileExists($file);
|
||||
return $file;
|
||||
}
|
||||
/**
|
||||
* Method converts URL of file to file path in file system.
|
||||
*
|
||||
* @param url - url of file
|
||||
*
|
||||
* @return string path of file in file system
|
||||
*/
|
||||
|
||||
private function url2File($url) {
|
||||
return '..' . substr($url,strpos($url,'/assets'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method checks if file exists and have proper name and extension.
|
||||
*
|
||||
* If any of constraints aren't fulfilled method will generate error.
|
||||
*
|
||||
* @param url - url of file
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
private function checkFileExists($url) {
|
||||
if(strpos($url,'?') !== false) $url = substr($url,0,strpos($url,'?'));
|
||||
$pathInfo = pathinfo($url);
|
||||
if(count($pathInfo) < 3) $this->raiseError();
|
||||
if(!in_array($pathInfo['extension'],array('jpeg','jpg','jpe','png','gif','JPEG','JPG','JPE','PNG','GIF'))) $this->raiseError();
|
||||
$path = explode('/',$pathInfo['dirname']);
|
||||
if(count($path) > 1) {
|
||||
$assetId = array_search('assets',$path);
|
||||
if($assetId > 0) {
|
||||
$realPath = '../' . implode('/',array_slice($path,$assetId,count($path) - $assetId));
|
||||
if(strpos($pathInfo['basename'],'AssetLibraryPreview') !== false) {
|
||||
$realPath .= '/' . substr($pathInfo['basename'],strpos($pathInfo['basename'],'-'));
|
||||
} else {
|
||||
$realPath .= '/' . $pathInfo['basename'];
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
if(file_exists($realPath)) {
|
||||
return true;
|
||||
return 'parent.parent.parent.statusMessage(\'Image saved\',\'good\',false);';
|
||||
}
|
||||
|
||||
/**
|
||||
* Method is invoked when ImageEditor is closed whether image is saved or not.
|
||||
*
|
||||
* /assets/tmp is folder where we store temporary images created during editing so
|
||||
* after closing they are no necessity to keep them.
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
|
||||
public function close() {
|
||||
$tmpDir = '../assets/_tmp';
|
||||
if(file_exists($tmpDir)) {
|
||||
Filesystem::removeFolder($tmpDir);
|
||||
mkdir($tmpDir, Filesystem::$folder_create_mask);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method return JSON array containing info about image.
|
||||
*
|
||||
* @param gd - GD object used for retrieving info about image
|
||||
* @param file
|
||||
*
|
||||
* @return string JSON array explained in manipulate method comment
|
||||
*/
|
||||
|
||||
private function getImageInfoInJSON(GD $gd,$file) {
|
||||
return '{"fileName":"' . $file . '","width":' . $gd->getWidth() . ',"height":' . $gd->getHeight() . '}';
|
||||
}
|
||||
|
||||
/**
|
||||
* Method converts thumbnail file name to file name of it's "parent"
|
||||
*
|
||||
* @param file - name of thumbnail file
|
||||
*
|
||||
* @return string name of parent file.
|
||||
*/
|
||||
|
||||
private function file2Origin($file) {
|
||||
$file = str_replace('_resampled/','',$file);
|
||||
$file = str_replace('_resampled/','',$file);
|
||||
$file = str_replace('AssetLibraryPreview-','',$file);
|
||||
$this->checkFileExists($file);
|
||||
return $file;
|
||||
}
|
||||
/**
|
||||
* Method converts URL of file to file path in file system.
|
||||
*
|
||||
* @param url - url of file
|
||||
*
|
||||
* @return string path of file in file system
|
||||
*/
|
||||
|
||||
private function url2File($url) {
|
||||
return '..' . substr($url,strpos($url,'/assets'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method checks if file exists and have proper name and extension.
|
||||
*
|
||||
* If any of constraints aren't fulfilled method will generate error.
|
||||
*
|
||||
* @param url - url of file
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
private function checkFileExists($url) {
|
||||
if(strpos($url,'?') !== false) $url = substr($url,0,strpos($url,'?'));
|
||||
$pathInfo = pathinfo($url);
|
||||
if(count($pathInfo) < 3) $this->raiseError();
|
||||
if(!in_array($pathInfo['extension'],array('jpeg','jpg','jpe','png','gif','JPEG','JPG','JPE','PNG','GIF'))) $this->raiseError();
|
||||
$path = explode('/',$pathInfo['dirname']);
|
||||
if(count($path) > 1) {
|
||||
$assetId = array_search('assets',$path);
|
||||
if($assetId > 0) {
|
||||
$realPath = '../' . implode('/',array_slice($path,$assetId,count($path) - $assetId));
|
||||
if(strpos($pathInfo['basename'],'AssetLibraryPreview') !== false) {
|
||||
$realPath .= '/' . substr($pathInfo['basename'],strpos($pathInfo['basename'],'-'));
|
||||
} else {
|
||||
$realPath .= '/' . $pathInfo['basename'];
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
if(file_exists($realPath)) {
|
||||
return true;
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
} else {
|
||||
$this->raiseError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method raiser error. Error is showed using statusMessage function.
|
||||
*
|
||||
* @param message - error message
|
||||
*
|
||||
*/
|
||||
|
||||
private function raiseError($message = "") {
|
||||
echo "parent.parent.parent.statusMessage('Error: " . $message . "','bad',false);";
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method converts retrieves filename from url
|
||||
*
|
||||
* @param url
|
||||
*
|
||||
*/
|
||||
|
||||
private function urlToFilename($url) {
|
||||
$path = pathinfo($url);
|
||||
return $path['filename'] . "." . substr($path['extension'],0,strpos($path['extension'],'?'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Method raiser error. Error is showed using statusMessage function.
|
||||
*
|
||||
* @param message - error message
|
||||
*
|
||||
*/
|
||||
|
||||
private function raiseError($message = "") {
|
||||
echo "parent.parent.parent.statusMessage('Error: " . $message . "','bad',false);";
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method converts retrieves filename from url
|
||||
*
|
||||
* @param url
|
||||
*
|
||||
*/
|
||||
|
||||
private function urlToFilename($url) {
|
||||
$path = pathinfo($url);
|
||||
return $path['filename'] . "." . substr($path['extension'],0,strpos($path['extension'],'?'));
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage livesite
|
||||
*/
|
||||
|
||||
/**
|
||||
* Module to provide imprint statistics integration.
|
||||
* @package cms
|
||||
* @subpackage livesite
|
||||
*/
|
||||
class ImprintStats extends ViewableData {
|
||||
protected static $imprintID;
|
||||
|
||||
|
@ -1,34 +1,14 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @package cms
|
||||
* @subpackage core
|
||||
*/
|
||||
abstract class LeftAndMain extends Controller {
|
||||
static $tree_class = null;
|
||||
static $extra_menu_items = array(), $removed_menu_items = array(), $replaced_menu_items = array();
|
||||
static $ForceReload;
|
||||
|
||||
static $allowed_actions = array(
|
||||
'ajaxupdateparent',
|
||||
'ajaxupdatesort',
|
||||
'callPageMethod',
|
||||
'deleteitems',
|
||||
'getitem',
|
||||
'getsubtree',
|
||||
'myprofile',
|
||||
'printable',
|
||||
'save',
|
||||
'show',
|
||||
);
|
||||
|
||||
function init() {
|
||||
Director::set_site_mode('cms');
|
||||
|
||||
@ -39,8 +19,8 @@ abstract class LeftAndMain extends Controller {
|
||||
}
|
||||
|
||||
// set reading lang
|
||||
if(Translatable::is_enabled()) {
|
||||
Translatable::choose_site_lang(i18n::get_existing_content_languages('SiteTree'));
|
||||
if(Translatable::is_enabled() && !Director::is_ajax()) {
|
||||
Translatable::choose_site_lang(array_keys(i18n::get_existing_content_languages('SiteTree')));
|
||||
}
|
||||
|
||||
parent::init();
|
||||
@ -110,7 +90,7 @@ abstract class LeftAndMain extends Controller {
|
||||
|
||||
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/SideTabs.js');
|
||||
Requirements::javascript('cms/javascript/TaskList.js');
|
||||
@ -154,9 +134,6 @@ abstract class LeftAndMain extends Controller {
|
||||
Requirements::javascript('jsparty/SWFUpload/SWFUpload.js');
|
||||
Requirements::javascript('cms/javascript/Upload.js');
|
||||
|
||||
Requirements::javascript('sapphire/javascript/HasManyFileField.js');
|
||||
Requirements::css('sapphire/css/HasManyFileField.css');
|
||||
|
||||
Requirements::themedCSS('typography');
|
||||
|
||||
// For Widgets
|
||||
@ -387,8 +364,8 @@ abstract class LeftAndMain extends Controller {
|
||||
// getChildrenAsUL is a flexible and complex way of traversing the tree
|
||||
$siteTree = $obj->getChildrenAsUL("", '
|
||||
"<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."\" >" .
|
||||
($child->TreeTitle()) .
|
||||
"<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()) .
|
||||
"</a>"
|
||||
'
|
||||
,$this, true);
|
||||
@ -554,6 +531,12 @@ JS;
|
||||
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
|
||||
if($originalStatus != $record->Status) {
|
||||
$message .= sprintf(_t('LeftAndMain.STATUSTO'," Status changed to '%s'"),$record->Status);
|
||||
@ -561,12 +544,6 @@ JS;
|
||||
|
||||
$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 (isset($urlParams['publish']) && $urlParams['publish'] == 1) {
|
||||
$this->performPublish($record);
|
||||
@ -871,7 +848,7 @@ JS;
|
||||
self::$application_logo_text = "";
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
|
||||
/**
|
||||
* Form field showing a list of members.
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
class MemberList extends FormField {
|
||||
protected $members;
|
||||
protected $hidePassword;
|
||||
@ -251,16 +241,16 @@ class MemberList extends FormField {
|
||||
|
||||
function OrderByField() {
|
||||
$fields = new FieldGroup( new DropdownField('MemberListOrderByField','', array(
|
||||
'FirstName' => _t('MemberList.FN', 'FirstName'),
|
||||
'Surname' => _t('MemberList.SN', 'Surname'),
|
||||
'Email' => _t('MemberList.EMAIL', 'Email')
|
||||
'FirstName' => 'FirstName',
|
||||
'Surname' => 'Surname',
|
||||
'Email' => 'Email'
|
||||
)),
|
||||
new DropdownField('MemberListOrderByOrder','',array(
|
||||
'ASC' => _t('MemberList.ASC', 'Ascending'),
|
||||
'DESC' => _t('MemberList.DESC', 'Descending')
|
||||
'ASC' => 'Ascending',
|
||||
'DESC' => 'Descending'
|
||||
)));
|
||||
|
||||
$field = new FieldGroup( new LabelField(_t('MemberList.ORDERBY', 'Order by')), $fields );
|
||||
$field = new FieldGroup( new LabelField( 'Order by' ), $fields );
|
||||
return $field->FieldHolder();
|
||||
}
|
||||
|
||||
@ -268,7 +258,7 @@ class MemberList extends FormField {
|
||||
|
||||
$groups = DataObject::get('Group');
|
||||
|
||||
$groupArray = array( '' => _t('MemberList.ANYGROUP', 'Any group'));
|
||||
$groupArray = array( '' => 'Any group' );
|
||||
|
||||
foreach( $groups as $group )
|
||||
$groupArray[$group->ID] = $group->Title;
|
||||
|
@ -1,10 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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.
|
||||
@ -17,25 +11,16 @@
|
||||
* - members of a provided group
|
||||
* - all members
|
||||
* - members based on a search-query
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
class MemberTableField extends ComplexTableField {
|
||||
|
||||
protected $members;
|
||||
|
||||
protected $hidePassword;
|
||||
|
||||
protected $pageSize;
|
||||
|
||||
protected $detailFormValidator;
|
||||
|
||||
protected $group;
|
||||
|
||||
protected $template = "MemberTableField";
|
||||
|
||||
public $popupClass = 'MemberTableField_Popup';
|
||||
|
||||
static $data_class = "Member";
|
||||
|
||||
protected $permissions = array(
|
||||
@ -78,9 +63,9 @@ class MemberTableField extends ComplexTableField {
|
||||
array_push( $this->permissions, $permission );
|
||||
|
||||
$fieldList = array(
|
||||
"FirstName" => _t('MemberTableField.FIRSTNAME', 'Firstname'),
|
||||
"Surname" => _t('MemberTableField.SURNAME', 'Surname'),
|
||||
"Email" => _t('MemberTableField.EMAIL', 'Email')
|
||||
"FirstName" => "Firstname",
|
||||
"Surname" => "Surname",
|
||||
"Email" => "Email"
|
||||
);
|
||||
|
||||
$csvFieldList = $fieldList;
|
||||
@ -93,11 +78,9 @@ class MemberTableField extends ComplexTableField {
|
||||
}
|
||||
|
||||
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']) {
|
||||
$SNG_member = DataObject::get_by_id($this->stat("data_class"),$_REQUEST['ctf']['childID']);
|
||||
} else {
|
||||
@ -115,23 +98,23 @@ class MemberTableField extends ComplexTableField {
|
||||
|
||||
$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
|
||||
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 = isset($_REQUEST['MemberSearch']) ? Convert::raw2sql($_REQUEST['MemberSearch']) : null;
|
||||
if(!empty($_REQUEST['MemberSearch'])) {
|
||||
//$this->sourceFilter[] = "( `Email` LIKE '%$search%' OR `FirstName` LIKE '%$search%' OR `Surname` LIKE '%$search%' )";
|
||||
$sourceF = '( ';
|
||||
$sourceF = "( ";
|
||||
foreach( $fieldList as $k => $v )
|
||||
$sourceF .= '`$k` LIKE '%$search%' OR ';
|
||||
$this->sourceFilter[] = substr( $sourceF, 0, -3 ) . ')';
|
||||
$sourceF .= "`$k` LIKE '%$search%' OR ";
|
||||
$this->sourceFilter[] = substr( $sourceF, 0, -3 ) . ")";
|
||||
}
|
||||
|
||||
// filter by groups
|
||||
@ -145,6 +128,7 @@ class MemberTableField extends ComplexTableField {
|
||||
}
|
||||
|
||||
$this->sourceJoin = " INNER JOIN `Group_Members` ON `MemberID`=`Member`.`ID`";
|
||||
|
||||
$this->setFieldListCsv( $csvFieldList );
|
||||
}
|
||||
|
||||
@ -161,37 +145,78 @@ class MemberTableField extends ComplexTableField {
|
||||
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() {
|
||||
$searchFields = new FieldGroup(
|
||||
new TextField('MemberSearch', _t('MemberTableField.SEARCH', 'Search')),
|
||||
new TextField('MemberSearch', 'Search'),
|
||||
new HiddenField("ctf[ID]",'',$this->group->ID),
|
||||
new HiddenField('MemberFieldName','',$this->name),
|
||||
new HiddenField('MemberDontShowPassword','',$this->hidePassword)
|
||||
);
|
||||
|
||||
$orderByFields = new FieldGroup(
|
||||
new LabelField(_t('MemberTableField.ORDERBY', 'Order by')),
|
||||
new LabelField('Order by'),
|
||||
new FieldSet(
|
||||
new DropdownField('MemberOrderByField','', array(
|
||||
'FirstName' => _t('MemberTableField.FIRSTNAME', 'FirstName'),
|
||||
'Surname' => _t('MemberTableField.SURNAME', 'Surname'),
|
||||
'Email' => _t('MemberTableField.EMAIL', 'Email')
|
||||
'FirstName' => 'FirstName',
|
||||
'Surname' => 'Surname',
|
||||
'Email' => 'Email'
|
||||
)),
|
||||
new DropdownField('MemberOrderByOrder','',array(
|
||||
'ASC' => _t('MemberTableField.ASC', 'Ascending'),
|
||||
'DESC' => _t('MemberTableField.DESC', 'Descending')
|
||||
'ASC' => 'Ascending',
|
||||
'DESC' => 'Descending'
|
||||
))
|
||||
)
|
||||
);
|
||||
|
||||
$groups = DataObject::get('Group');
|
||||
$groupArray = array('' => _t('MemberTableField.ANYGROUP', 'Any group'));
|
||||
$groupArray = array('' => 'Any group');
|
||||
foreach( $groups as $group ) {
|
||||
$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(
|
||||
$searchFields,
|
||||
@ -212,7 +237,7 @@ class MemberTableField extends ComplexTableField {
|
||||
unset($data['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');
|
||||
@ -240,8 +265,8 @@ class MemberTableField extends ComplexTableField {
|
||||
* Remove member from group rather than from the database
|
||||
*/
|
||||
function delete() {
|
||||
$groupID = Convert::raw2sql($_REQUEST['ctf']['ID']);
|
||||
$memberID = Convert::raw2sql($_REQUEST['ctf']['childID']);
|
||||
$groupID = Convert::raw2sql($_REQUEST["ctf"]["ID"]);
|
||||
$memberID = Convert::raw2sql($_REQUEST["ctf"]["childID"]);
|
||||
if(is_numeric($groupID) && is_numeric($memberID)) {
|
||||
$member = DataObject::get_by_id('Member', $memberID);
|
||||
$member->Groups()->remove($groupID);
|
||||
@ -261,11 +286,11 @@ class MemberTableField extends ComplexTableField {
|
||||
* #################################
|
||||
*/
|
||||
function getParentClass() {
|
||||
return 'Group';
|
||||
return "Group";
|
||||
}
|
||||
|
||||
function getParentIdName($childClass,$parentClass){
|
||||
return 'GroupID';
|
||||
return "GroupID";
|
||||
}
|
||||
|
||||
|
||||
@ -277,7 +302,7 @@ class MemberTableField extends ComplexTableField {
|
||||
function memberListWithGroupID($members, $group) {
|
||||
$newMembers = new DataObjectSet();
|
||||
foreach($members as $member) {
|
||||
$newMembers->push($member->customise(array('GroupID' => $group->ID)));
|
||||
$newMembers->push($member->customise(array("GroupID" => $group->ID)));
|
||||
}
|
||||
return $newMembers;
|
||||
}
|
||||
@ -301,12 +326,12 @@ class MemberTableField extends ComplexTableField {
|
||||
foreach($this->FieldList() as $fieldName=>$fieldTitle) {
|
||||
$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',
|
||||
$fields,
|
||||
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
|
||||
$limitClause = '';
|
||||
$limitClause = "";
|
||||
if(isset($_REQUEST['ctf'][$this->Name()]['start']) && is_numeric($_REQUEST['ctf'][$this->Name()]['start'])) {
|
||||
$limitClause = ($_REQUEST['ctf'][$this->Name()]['start']) . ", {$this->pageSize}";
|
||||
} else {
|
||||
@ -339,7 +364,7 @@ class MemberTableField extends ComplexTableField {
|
||||
$this->sourceFilter,
|
||||
$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;
|
||||
return $this->sourceItems;
|
||||
}
|
||||
@ -350,42 +375,40 @@ class MemberTableField extends ComplexTableField {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Popup window for {@link MemberTableField}.
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
class MemberTableField_Popup extends ComplexTableField_Popup {
|
||||
|
||||
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);
|
||||
|
||||
Requirements::javascript('cms/javascript/MemberTableField.js');
|
||||
Requirements::javascript('cms/javascript/MemberTableField_popup.js');
|
||||
Requirements::javascript("cms/javascript/MemberTableField.js");
|
||||
Requirements::javascript("cms/javascript/MemberTableField_popup.js");
|
||||
}
|
||||
|
||||
|
||||
function saveComplexTableField() {
|
||||
$id = (isset($_REQUEST['ctf']['childID'])) ? Convert::raw2sql($_REQUEST['ctf']['childID']) : false;
|
||||
$id = Convert::raw2sql($_REQUEST['ctf']['childID']);
|
||||
|
||||
if (is_numeric($id)) {
|
||||
$childObject = DataObject::get_by_id($this->sourceClass, $id);
|
||||
} else {
|
||||
$childObject = new $this->sourceClass();
|
||||
$this->fields->removeByName('ID');
|
||||
}
|
||||
|
||||
$this->saveInto($childObject);
|
||||
$childObject->write();
|
||||
|
||||
// add member to current group
|
||||
$childObject->Groups()->add($_REQUEST['GroupID']);
|
||||
$childObject->Groups()->add($_REQUEST['ctf']['ID']);
|
||||
|
||||
// if ajax-call in an iframe, close window by javascript, else redirect to referrer
|
||||
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'],"?")));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
?>
|
@ -1,14 +1,6 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Create a process in session which is incremented to calls from the client
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class BatchProcess extends Object {
|
||||
|
||||
@ -54,7 +46,7 @@ class BatchProcess extends Object {
|
||||
$this->id = self::generateID();
|
||||
|
||||
if( !$this->objects || count( $this->objects ) === 0 )
|
||||
return $this->complete();
|
||||
return $this->complete();
|
||||
|
||||
return $this->next();
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
function next() {
|
||||
@ -88,13 +75,13 @@ class BatchProcess_Controller extends Controller {
|
||||
$processID = $this->urlParams['ID'];
|
||||
|
||||
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)));
|
||||
|
||||
if( !$process ) {
|
||||
return _t('BatchProcess_Controller.ERROR', 'ERROR:Could not continue process');
|
||||
return "ERROR:Could not continue process";
|
||||
}
|
||||
|
||||
if( $this->urlParams['Batch'] )
|
||||
|
@ -1,15 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Form field showing a list of bounced addresses
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class BouncedList extends FormField {
|
||||
|
||||
protected $nlType;
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Single newsletter instance. Each Newsletter belongs to a NewsletterType.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class Newsletter extends DataObject {
|
||||
|
||||
/**
|
||||
@ -24,18 +14,18 @@ class Newsletter extends DataObject {
|
||||
$sent_status_report = $this->renderWith("Newsletter_SentStatusReport");
|
||||
$ret = new FieldSet(
|
||||
new TabSet("Root",
|
||||
$mailTab = new Tab(_t('Newsletter.NEWSLETTER', 'Newsletter'),
|
||||
new TextField("Subject", _t('Newsletter.SUBJECT', 'Subject'), $this->Subject),
|
||||
new HtmlEditorField("Content", _t('Newsletter.CONTENT', 'Content'))
|
||||
$mailTab = new Tab("Newsletter",
|
||||
new TextField("Subject", "Subject", $this->Subject),
|
||||
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)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
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 {
|
||||
/**
|
||||
* The DB schema for Newsletter_SentRecipient.
|
||||
@ -151,12 +136,6 @@ class Newsletter_SentRecipient extends DataObject {
|
||||
"Member" => "Member",
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Single recipient of the newsletter
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class Newsletter_Recipient extends DataObject {
|
||||
static $db = array(
|
||||
"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 {
|
||||
protected $nlType;
|
||||
|
||||
|
@ -1,15 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Batch process for sending newsletters.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class NewsletterEmailProcess extends BatchProcess {
|
||||
|
||||
protected $subject;
|
||||
@ -22,7 +11,7 @@ class NewsletterEmailProcess extends BatchProcess {
|
||||
/**
|
||||
* 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) {
|
||||
|
||||
@ -57,35 +46,32 @@ class NewsletterEmailProcess extends BatchProcess {
|
||||
/**
|
||||
* Email Blacklisting Support
|
||||
*/
|
||||
if($member->BlacklistedEmail && Email_BlackList::isBlocked($address)){
|
||||
$bounceRecord = new Email_BounceRecord();
|
||||
$bounceRecord->BounceEmail = $member->Email;
|
||||
$bounceRecord->BounceTime = date("Y-m-d H:i:s",time());
|
||||
$bounceRecord->BounceMessage = "BlackListed Email";
|
||||
$bounceRecord->MemberID = $member->ID;
|
||||
$bounceRecord->write();
|
||||
if($member->BlacklistedEmail && Email_BlackList::isBlocked($address)){
|
||||
$bounceRecord = new Email_BounceRecord();
|
||||
$bounceRecord->BounceEmail = $member->Email;
|
||||
$bounceRecord->BounceTime = date("Y-m-d H:i:s",time());
|
||||
$bounceRecord->BounceMessage = "BlackListed Email";
|
||||
$bounceRecord->MemberID = $member->ID;
|
||||
$bounceRecord->write();
|
||||
|
||||
// Log the blacklist for this specific Newsletter
|
||||
$newsletter = new Newsletter_SentRecipient();
|
||||
$newsletter->Email = $address;
|
||||
$newsletter->MemberID = $member->ID;
|
||||
$newsletter->Result = 'BlackListed';
|
||||
$newsletter->ParentID = $this->newsletter->ID;
|
||||
$newsletter->write();
|
||||
|
||||
} else {
|
||||
$e = new Newsletter_Email($this->nlType);
|
||||
// Log the blacklist for this specific Newsletter
|
||||
$newsletter = new Newsletter_SentRecipient();
|
||||
$newsletter->Email = $address;
|
||||
$newsletter->MemberID = $member->ID;
|
||||
$newsletter->Result = 'BlackListed';
|
||||
$newsletter->ParentID = $this->newsletter->ID;
|
||||
$newsletter->write();
|
||||
} else {
|
||||
$e = new Newsletter_Email($this->nlType);
|
||||
$e->setBody( $this->body );
|
||||
$e->setSubject( $this->subject );
|
||||
$e->setFrom( $this->from );
|
||||
$e->setTemplate( $this->nlType->Template );
|
||||
|
||||
if(method_exists($member, "getNameForEmail"))
|
||||
$nameForEmail = $member->getNameForEmail();
|
||||
|
||||
$e->populateTemplate( array( 'Member' => $member, 'FirstName' => $member->FirstName, 'NameForEmail'=>$nameForEmail ) );
|
||||
$this->sendToAddress( $e, $address, $this->messageID, $member);
|
||||
}
|
||||
$e->populateTemplate( array( 'Member' => $member, 'FirstName' => $member->FirstName ) );
|
||||
$this->sendToAddress( $e, $address, $this->messageID, $member);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Simple form field shown when the NewsletterAdmin first loads.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class NewsletterList extends FormField {
|
||||
function __construct($name, $mailtype, $status = "Draft") {
|
||||
if(is_object($mailtype)) $this->mailType = $mailtype;
|
||||
@ -52,4 +42,4 @@ class NewsletterList extends FormField {
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
|
@ -1,16 +1,5 @@
|
||||
<?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 {
|
||||
|
||||
static $db = array(
|
||||
@ -54,7 +43,7 @@ class NewsletterType extends DataObject {
|
||||
if($this->ID){
|
||||
$group = $this->Group();
|
||||
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 :-(
|
||||
$group->Code = SiteTree::generateURLSegment($this->Title);
|
||||
$group->write();
|
||||
@ -73,20 +62,20 @@ class NewsletterType extends DataObject {
|
||||
}
|
||||
|
||||
$fields = new FieldSet(
|
||||
new TextField("Title", _t('NewsletterType.NEWSLETTERTYPE', 'Newsletter Type')),
|
||||
new TextField("FromEmail", _t('NewsletterType.SENDFROM', 'Send newsletters from')),
|
||||
new TextField("Title", "Newsletter Type"),
|
||||
new TextField("FromEmail", "Send newsletters from"),
|
||||
new TabSet("Root",
|
||||
new Tab(_t('NewsletterType.DRAFTS', 'Drafts'),
|
||||
$draftList = new NewsletterList("Draft", $this, _t('NewsletterType.DRAFT', 'Draft'))
|
||||
new Tab("Drafts",
|
||||
$draftList = new NewsletterList("Draft", $this, "Draft")
|
||||
),
|
||||
new TabSet('Sent',
|
||||
new Tab(_t('NewsletterType.SENT', 'Sent'),
|
||||
$sendList = new NewsletterList("Send", $this, _t('NewsletterType.SEND', 'Send'))
|
||||
new TabSet("Sent",
|
||||
new Tab("Sent",
|
||||
$sendList = new NewsletterList("Send", $this, "Send")
|
||||
),
|
||||
new Tab(_t('NewsletterType.UNSUBSCRIBED', 'Unsubscribed'),
|
||||
new Tab("Unsubscribed",
|
||||
$unsubscribedList = new UnsubscribedList("Unsubscribed", $this)
|
||||
),
|
||||
new Tab(_t('NewsletterType.BOUNCED', 'Bounced'),
|
||||
new Tab("Bounced",
|
||||
$bouncedList = new BouncedList("Bounced", $this )
|
||||
)
|
||||
)
|
||||
@ -96,15 +85,15 @@ class NewsletterType extends DataObject {
|
||||
if($this->GroupID) {
|
||||
$fields->addFieldToTab('Root',
|
||||
new TabSet("Recipients",
|
||||
new Tab( _t('NewsletterType.RECIPIENTS', 'Recipients'),
|
||||
new Tab( "Recipients",
|
||||
$recipients = new MemberTableField(
|
||||
$this,
|
||||
"Recipients",
|
||||
$group
|
||||
)
|
||||
),
|
||||
new Tab( _t('NewsletterType.IMPORT', 'Import'),
|
||||
$importField = new RecipientImportField("ImportFile", _t('NewsletterType.IMPORTFROM', 'Import from file'), $group )
|
||||
new Tab( "Import",
|
||||
$importField = new RecipientImportField("ImportFile","Import from file", $group )
|
||||
)
|
||||
)
|
||||
);
|
||||
@ -115,7 +104,7 @@ class NewsletterType extends DataObject {
|
||||
}
|
||||
|
||||
$fields->addFieldToTab('Root',
|
||||
new Tab(_t('NewsletterType.TEMPLATE', 'Template'),
|
||||
new Tab("Template",
|
||||
$templates = new TemplateList("Template","Template", $this->Template, NewsletterAdmin::template_path())
|
||||
)
|
||||
);
|
||||
|
@ -1,14 +1,6 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Displays a field for importing recipients.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
* Displays a file upload field.
|
||||
*/
|
||||
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 {
|
||||
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 {
|
||||
function import( $data, $form ) {
|
||||
$id = $data['ID'];
|
||||
@ -226,7 +208,7 @@ class RecipientImportField_UploadForm extends Form {
|
||||
}
|
||||
|
||||
function isValidCSV( $file ) {
|
||||
return preg_match( '/.*\.csv$/i', $file['name'] ) > 0;
|
||||
return preg_match( '/.*\.csv$/', $file['name'] ) > 0;
|
||||
}
|
||||
|
||||
function confirm( $data, $form ) {
|
||||
|
@ -1,15 +1,4 @@
|
||||
<?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 {
|
||||
static $add_action = "a newsletter subscription form";
|
||||
|
||||
@ -29,9 +18,9 @@ class SubscribeForm extends UserDefinedForm {
|
||||
'Subject' => 'Varchar'
|
||||
);
|
||||
|
||||
static $defaults = array(
|
||||
"OnCompleteMessage" => "<p>Thanks, you have been added to our mailing list.</p>",
|
||||
);
|
||||
static $defaults = array(
|
||||
"OnCompleteMessage" => "<p>Thanks, you have been added to our mailing list.</p>",
|
||||
);
|
||||
|
||||
static $has_many = array(
|
||||
'Newsletters' => 'NewsletterType'
|
||||
@ -64,19 +53,14 @@ class SubscribeForm extends UserDefinedForm {
|
||||
if( !empty( $typeValue ) ) {
|
||||
$newField->prepopulate( $typeValue );
|
||||
}
|
||||
|
||||
$newField->ParentID = $this->ID;
|
||||
|
||||
$newField->setField('ID', "new-" . $count);
|
||||
|
||||
$newField->Sort = $count;
|
||||
$newField->write();
|
||||
$f->addWithoutWrite($newField);
|
||||
$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() {
|
||||
$components = $this->getComponents('Newsletters');
|
||||
@ -164,11 +148,6 @@ class SubscribeForm extends UserDefinedForm {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Email for sending subscribe form submissions.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class SubscribeForm_SubscribeEmail extends Email_Template {
|
||||
protected $to = '$Email';
|
||||
protected $subject = '$Subject';
|
||||
@ -176,14 +155,10 @@ class SubscribeForm_SubscribeEmail extends Email_Template {
|
||||
protected $from = '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Controller for the SubscribeForm page
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class SubscribeForm_Controller extends UserDefinedForm_Controller {
|
||||
|
||||
function process( $data, $form ) {
|
||||
|
||||
// Add the user to the mailing list
|
||||
$member = Object::create("Member");
|
||||
|
||||
@ -192,6 +167,7 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
|
||||
// map the editables to the data
|
||||
|
||||
foreach( $this->Fields() as $editable ) {
|
||||
|
||||
$field = $editable->CustomParameter;
|
||||
if( !$field )
|
||||
continue;
|
||||
@ -201,14 +177,14 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
|
||||
// if( $member->hasField( $field ) )
|
||||
$member->$field = $data[$editable->Name];
|
||||
}
|
||||
|
||||
|
||||
// need to write the member record before adding the user to groups
|
||||
$member->write();
|
||||
|
||||
$newsletters = array();
|
||||
|
||||
// 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 ) )
|
||||
continue;
|
||||
@ -262,9 +238,13 @@ class SubscribeForm_Controller extends UserDefinedForm_Controller {
|
||||
|
||||
$newsletters = array();
|
||||
|
||||
// Debug::show($newsletterList);
|
||||
|
||||
// get the newsletter types to display on the form
|
||||
foreach( $newsletterList as $newsletter )
|
||||
$newsletters[$newsletter->ID] = $newsletter->Title;
|
||||
$newsletters[] = $newsletter;
|
||||
|
||||
// Debug::show( $newsletters );
|
||||
|
||||
$form->Fields()->push( new CheckboxSetField( 'Newsletters', 'Subscribe to lists', $newsletters ) );
|
||||
|
||||
|
@ -1,14 +1,6 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Subclass of DropdownField for showing a list of the newsletter templates available.
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
* This should extend DropdownField
|
||||
*/
|
||||
class TemplateList extends DropdownField {
|
||||
|
||||
@ -20,7 +12,7 @@ class TemplateList extends DropdownField {
|
||||
}
|
||||
|
||||
private function getTemplates() {
|
||||
$templates = array( "" => _t('TemplateList.NONE', 'None') );
|
||||
$templates = array( "" => "None" );
|
||||
|
||||
$absPath = Director::baseFolder();
|
||||
if( $absPath{strlen($absPath)-1} != "/" )
|
||||
|
@ -1,15 +1,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Create a form that a user can use to unsubscribe from a mailing list
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
* Create a form that a user can use to unsubscribe from a mailing list
|
||||
*/
|
||||
class Unsubscribe_Controller extends Page_Controller {
|
||||
function __construct($data = null) {
|
||||
}
|
||||
@ -45,7 +37,7 @@ class Unsubscribe_Controller extends Page_Controller {
|
||||
}
|
||||
|
||||
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');
|
||||
}
|
||||
@ -101,7 +93,7 @@ class Unsubscribe_Controller extends Page_Controller {
|
||||
$url = "unsubscribe/done/".$member->Email."/".$nlTypeTitles;
|
||||
Director::redirect($url);
|
||||
} 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();
|
||||
}
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
protected $memberEmail;
|
||||
@ -135,15 +121,15 @@ class Unsubscribe_MailingListForm extends Form {
|
||||
$lists = $this->getMailingLists( $member );
|
||||
|
||||
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 ) {
|
||||
$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 {
|
||||
$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 );
|
||||
@ -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 {
|
||||
|
||||
function __construct( $controller, $name ) {
|
||||
|
||||
$fields = new FieldSet(
|
||||
new EmailField( 'Email', _t('Unsubscribe.EMAILADDR', 'Email address') )
|
||||
new EmailField( 'Email', 'Email address' )
|
||||
);
|
||||
|
||||
$actions = new FieldSet(
|
||||
new FormAction( 'showlists', _t('Unsubscribe.SHOWLISTS', 'Show lists') )
|
||||
new FormAction( 'showlists', 'Show lists' )
|
||||
);
|
||||
|
||||
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 {
|
||||
function __construct($controller, $name){
|
||||
$fields = new FieldSet();
|
||||
@ -199,7 +173,7 @@ class Unsubscribe_Successful extends Form {
|
||||
}
|
||||
function setSuccessfulMessage($email, $newsletterTypes) {
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Displays a list of all members that have unsubscribed from the list
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
* Displays a list of all members that have unsubscribed from the list
|
||||
*/
|
||||
class UnsubscribedList extends FormField {
|
||||
|
||||
protected $nlType;
|
||||
|
@ -1,44 +1,9 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
|
||||
/**
|
||||
* Newsletter administration section
|
||||
* @package cms
|
||||
* @subpackage newsletter
|
||||
*/
|
||||
class NewsletterAdmin extends LeftAndMain {
|
||||
static $subitem_class = "Member";
|
||||
|
||||
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() {
|
||||
// Check permissions
|
||||
@ -258,13 +223,14 @@ class NewsletterAdmin extends LeftAndMain {
|
||||
if(isset($mailType) && is_object($mailType) && $mailType->GroupID) {
|
||||
$group = DataObject::get_one("Group", "ID = $mailType->GroupID");
|
||||
}
|
||||
if(isset($mailType)&&$mailType) {
|
||||
|
||||
if(isset($mailType)) {
|
||||
$fields = new FieldSet(
|
||||
new TabSet("Root",
|
||||
new Tab(_t('NewsletterAdmin.NLSETTINGS', 'Newsletter Settings'),
|
||||
new Tab("Newsletter Settings",
|
||||
new TextField("Title", _t('NewsletterAdmin.NEWSLTYPE','Newsletter Type')),
|
||||
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" ) );
|
||||
$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->loadDataFrom(array(
|
||||
@ -309,20 +275,20 @@ class NewsletterAdmin extends LeftAndMain {
|
||||
if(isset($mailType) && is_object($mailType)) {
|
||||
$fields = new FieldSet(
|
||||
new TabSet("Root",
|
||||
new Tab(_t('NewsletterAdmin.RECIPIENTS', 'Recipients'),
|
||||
new Tab( "Recipients",
|
||||
$recipients = new MemberTableField(
|
||||
$this,
|
||||
"Recipients",
|
||||
$group
|
||||
)
|
||||
),
|
||||
new Tab(_t('NewsletterAdmin.IMPORT', 'Import'),
|
||||
$importField = new RecipientImportField("ImportFile",_t('NewsletterAdmin.IMPORTFROM', 'Import from file'), $group )
|
||||
new Tab( "Import",
|
||||
$importField = new RecipientImportField("ImportFile","Import from file", $group )
|
||||
),
|
||||
new Tab(_t('NewsletterAdmin.UNSUBSCRIBERS', 'Unsubscribers'),
|
||||
new Tab("Unsubscribers",
|
||||
$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 {
|
||||
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');");
|
||||
return FormResponse::respond();
|
||||
}
|
||||
@ -454,7 +420,7 @@ class NewsletterAdmin extends LeftAndMain {
|
||||
$id = isset($_REQUEST['ID']) ? $_REQUEST['ID'] : $_REQUEST['NewsletterID'];
|
||||
|
||||
if( !$id ) {
|
||||
FormResponse::status_message(_t('NewsletterAdmin.NONLSPECIFIED', 'No newsletter specified'),'bad');
|
||||
FormResponse::status_message('No newsletter specified','bad');
|
||||
return FormResponse::respond();
|
||||
}
|
||||
|
||||
@ -577,11 +543,11 @@ class NewsletterAdmin extends LeftAndMain {
|
||||
// If the email is currently not blocked, block it
|
||||
if (FALSE == $memberObject->BlacklistedEmail) {
|
||||
$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 {
|
||||
// Unblock the email
|
||||
$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();
|
||||
}
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage pagetypes
|
||||
*/
|
||||
|
||||
/**
|
||||
* Page type that lets users build a contact form.
|
||||
* @package cms
|
||||
* @subpackage pagetypes
|
||||
*/
|
||||
class UserDefinedForm extends Page {
|
||||
static $add_action = "a contact form";
|
||||
|
||||
@ -43,9 +33,9 @@ class UserDefinedForm extends Page {
|
||||
function getCMSFields($cms) {
|
||||
$fields = parent::getCMSFields($cms);
|
||||
|
||||
$fields->addFieldToTab("Root."._t('UserDefinedForm.FORM', '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.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.Form", new FieldEditor("Fields", "Fields", "", $this ));
|
||||
$fields->addFieldToTab("Root.Submissions", new SubmittedFormReportField( "Reports", "Received Submissions", "", $this ) );
|
||||
$fields->addFieldToTab("Root.Content.On complete", new HtmlEditorField( "OnCompleteMessage", "Show on completion",3,"",$this->OnCompleteMessage, $this ) );
|
||||
|
||||
return $fields;
|
||||
}
|
||||
@ -61,7 +51,7 @@ class UserDefinedForm extends Page {
|
||||
|
||||
// Build actions
|
||||
$actions = new FieldSet(
|
||||
new FormAction( "filter", _t('UserDefinedForm.SUBMIT', 'Submit') )
|
||||
new FormAction( "filter", "Submit" )
|
||||
);
|
||||
|
||||
// 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`" );
|
||||
|
||||
if( !$submittedValues || $submittedValues->Count() == 0 )
|
||||
return _t('UserDefinedForm.NORESULTS', 'No matching results found');
|
||||
return "No matching results found";
|
||||
|
||||
$submissions = $submittedValues->groupWithParents( 'ParentID', 'SubmittedForm' );
|
||||
|
||||
if( !$submissions || $submissions->Count() == 0 )
|
||||
return _t('UserDefinedForm.NORESULTS', 'No matching results found');
|
||||
return "No matching results found";
|
||||
|
||||
return $submissions->customise(
|
||||
array( 'Submissions' => $submissions )
|
||||
@ -141,7 +131,7 @@ class UserDefinedForm extends Page {
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
function init() {
|
||||
@ -188,13 +173,8 @@ class UserDefinedForm_Controller extends Page_Controller {
|
||||
$required[] = $field->Name;
|
||||
}
|
||||
|
||||
if(!isset($_SERVER['HTTP_REFERER'])) {
|
||||
$_SERVER['HTTP_REFERER'] = "";
|
||||
}
|
||||
$fields->push( new HiddenField( "Referrer", "", $_SERVER['HTTP_REFERER'] ) );
|
||||
|
||||
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
|
||||
$fields->push( new HiddenField( "Referrer", "", $referer ) );
|
||||
|
||||
// Build actions
|
||||
$actions = new FieldSet(
|
||||
new FormAction( "process", $this->SubmitButtonText )
|
||||
@ -233,7 +213,7 @@ class UserDefinedForm_Controller extends Page_Controller {
|
||||
if( $field->hasMethod( 'getValueFromData' ) )
|
||||
$submittedField->Value = $field->getValueFromData( $data );
|
||||
else
|
||||
if(isset($data[$field->Name])) $submittedField->Value = $data[$field->Name];
|
||||
$submittedField->Value = $data[$field->Name];
|
||||
|
||||
$submittedField->write();
|
||||
$submittedFields->push($submittedField);
|
||||
@ -279,7 +259,7 @@ class UserDefinedForm_Controller extends Page_Controller {
|
||||
$values[$field->Title] = Convert::linkIfMatch($field->getValueFromData( $data ));
|
||||
|
||||
} 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 {
|
||||
protected $ss_template = "SubmittedFormEmail";
|
||||
protected $from = '$Sender.Email';
|
||||
protected $to = '$Recipient.Email';
|
||||
protected $subject = 'Submission of form';
|
||||
protected $subject = "Submission of form";
|
||||
protected $data;
|
||||
|
||||
function __construct($values) {
|
||||
$this->subject = _t('UserDefinedForm_SubmittedFormEmail.EMAILSUBJECT', 'Submission of form');
|
||||
parent::__construct();
|
||||
|
||||
$this->data = $values;
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage reports
|
||||
*/
|
||||
|
||||
/**
|
||||
* Reports section of the CMS
|
||||
* @package cms
|
||||
* @subpackage reports
|
||||
*/
|
||||
class ReportAdmin extends LeftAndMain {
|
||||
static $subitem_class = "GrantObject";
|
||||
|
||||
|
@ -1,29 +1,8 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
|
||||
/**
|
||||
* Security section of the CMS
|
||||
* @package cms
|
||||
* @subpackage security
|
||||
*/
|
||||
class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
||||
static $tree_class = "Group";
|
||||
static $subitem_class = "Member";
|
||||
|
||||
static $allowed_actions = array(
|
||||
'addgroup',
|
||||
'addmember',
|
||||
'autocomplete',
|
||||
'getmember',
|
||||
'listmembers',
|
||||
'newmember',
|
||||
'removememberfromgroup',
|
||||
'savemember',
|
||||
);
|
||||
|
||||
public function init() {
|
||||
// Check permissions
|
||||
@ -55,32 +34,24 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
||||
if($record) {
|
||||
$fields = new FieldSet(
|
||||
new TabSet("Root",
|
||||
new Tab(_t('SecurityAdmin.MEMBERS', 'Members'),
|
||||
new TextField("Title", _t('SecurityAdmin.GROUPNAME', 'Group name')),
|
||||
new Tab("Members",
|
||||
new TextField("Title", "Group name"),
|
||||
$memberList = new MemberTableField(
|
||||
$this,
|
||||
"Members",
|
||||
$record,
|
||||
null,
|
||||
false
|
||||
$record
|
||||
)
|
||||
),
|
||||
|
||||
new Tab(_t('SecurityAdmin.PERMISSIONS', 'Permissions'),
|
||||
new Tab("Permissions",
|
||||
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>
|
||||
for more information.")."</p>"),
|
||||
new TableField(
|
||||
"Permissions",
|
||||
"Permission",
|
||||
array(
|
||||
"Code" => _t('SecurityAdmin.CODE', 'Code'),
|
||||
"Arg" => _t('SecurityAdmin.OPTIONALID', 'Optional ID'),
|
||||
),
|
||||
array(
|
||||
"Code" => "PermissionDropdownField",
|
||||
"Arg" => "TextField",
|
||||
),
|
||||
array("Code" => "Code", "Arg" => "Optional ID"),
|
||||
array("Code" => "PermissionDropdownField", "Arg" => "TextField"),
|
||||
"GroupID", $id
|
||||
)
|
||||
)
|
||||
@ -91,13 +62,11 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
||||
|
||||
$memberList->setController($this);
|
||||
$memberList->setPermissions(array('show', 'edit', 'delete', 'export', 'add'));
|
||||
$memberList->setParentClass('Group');
|
||||
$memberList->setPopupCaption(_t('SecurityAdmin.VIEWUSER', 'View User'));
|
||||
|
||||
|
||||
$fields->push($idField = new HiddenField("ID"));
|
||||
$idField->setValue($id);
|
||||
$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')));
|
||||
@ -124,7 +93,6 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
||||
public function autocomplete() {
|
||||
$fieldName = $this->urlParams['ID'];
|
||||
$fieldVal = $_REQUEST[$fieldName];
|
||||
$result = '';
|
||||
|
||||
$matches = DataObject::get("Member","$fieldName LIKE '" . addslashes($fieldVal) . "%'");
|
||||
if($matches) {
|
||||
@ -367,7 +335,7 @@ class SecurityAdmin extends LeftAndMain implements PermissionProvider {
|
||||
|
||||
function providePermissions() {
|
||||
return array(
|
||||
'EDIT_PERMISSIONS' => _t('SecurityAdmin.EDITPERMISSIONS', 'Edit Permissions on each Group'),
|
||||
'EDIT_PERMISSIONS' => 'Edit Permissions on each Group',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,5 @@
|
||||
<?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 function records();
|
||||
abstract function fieldsToShow();
|
||||
@ -25,19 +14,7 @@ abstract class SideReport extends Object {
|
||||
|
||||
foreach($records as $record) {
|
||||
$result .= "<li>\n";
|
||||
foreach($fieldsToShow as $fieldTitle => $fieldInfo) {
|
||||
if(isset($fieldInfo['source'])) {
|
||||
$fieldSource = $fieldInfo['source'];
|
||||
|
||||
// Legacy format for the input data
|
||||
} else {
|
||||
$fieldSource = $fieldInfo;
|
||||
$fieldInfo = array(
|
||||
'link' => true,
|
||||
'newline' => false,
|
||||
);
|
||||
}
|
||||
|
||||
foreach($fieldsToShow as $fieldTitle => $fieldSource) {
|
||||
$fieldName = ereg_replace('[^A-Za-z0-9]+','',$fieldTitle);
|
||||
if(is_string($fieldSource)) {
|
||||
$val = $record->$fieldSource;
|
||||
@ -45,14 +22,7 @@ abstract class SideReport extends Object {
|
||||
$val = $record->val($fieldSource[0], $fieldSource[1]);
|
||||
}
|
||||
|
||||
if(isset($fieldInfo['newline']) && $fieldInfo['newline']) $result .= "<br>";
|
||||
|
||||
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 .= "<a class=\"$fieldName\" href=\"admin/show/$record->ID\">$val</a>";
|
||||
}
|
||||
$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 {
|
||||
function title() {
|
||||
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 {
|
||||
function title() {
|
||||
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,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
?>
|
@ -1,25 +1,18 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage export
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class lets you export a static copy of your site.
|
||||
* It creates a huge number of folders each containing an index.html file.
|
||||
* This preserves the URL naming format.
|
||||
* @package cms
|
||||
* @subpackage export
|
||||
*/
|
||||
class StaticExporter extends Controller {
|
||||
function init() {
|
||||
parent::init();
|
||||
if(!Permission::check('ADMIN')) {
|
||||
$messageSet = array(
|
||||
'default' => _t('LeftAndMain.PERMDEFAULT', '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'),
|
||||
'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.'),
|
||||
'default' => "Enter your email address and password to access the CMS.",
|
||||
'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' => "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);
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage reports
|
||||
*/
|
||||
|
||||
/**
|
||||
* Statistics section of the CMS
|
||||
* @package cms
|
||||
* @subpackage reports
|
||||
*/
|
||||
class StatisticsAdmin extends LeftAndMain {
|
||||
static $tree_class = "SiteTree";
|
||||
static $subitem_class = "Member";
|
||||
@ -84,7 +74,7 @@ class StatisticsAdmin extends LeftAndMain {
|
||||
*/
|
||||
public function EditForm() {
|
||||
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() .
|
||||
"\n\n</div>\n\n" .
|
||||
$this->showAll();
|
||||
|
@ -1,16 +1,9 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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
|
||||
* of thumbnails displayed.
|
||||
* @package cms
|
||||
* @subpackage assets
|
||||
*/
|
||||
class ThumbnailStripField extends FormField {
|
||||
protected $parentField;
|
||||
@ -84,7 +77,7 @@ class ThumbnailStripField extends FormField {
|
||||
}
|
||||
$result .= '</ul>';
|
||||
}else{
|
||||
$result = '<h2> '._t('ThumbnailStripField.NOIMAGESFOUND', 'No images found in').' '. $folder->Title. '</h2>';
|
||||
$result = "<h2> No images found in ". $folder->Title. "</h2>";
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage content
|
||||
*/
|
||||
|
||||
/**
|
||||
* Special field type for selecting and configuring widgets on a page.
|
||||
* @package cms
|
||||
* @subpackage content
|
||||
*/
|
||||
class WidgetAreaEditor extends FormField {
|
||||
function FieldHolder() {
|
||||
return $this->renderWith("WidgetAreaEditor");
|
||||
|
@ -15,8 +15,7 @@
|
||||
*
|
||||
* See the Akismet class documentation page linked to below for usage information.
|
||||
*
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
* @package Akismet
|
||||
* @author Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net}
|
||||
* @version 0.1
|
||||
* @copyright Alex Potsides, {@link http://www.achingbrain.net http://www.achingbrain.net}
|
||||
@ -44,11 +43,11 @@
|
||||
* // store the comment normally
|
||||
* </code>
|
||||
*
|
||||
* @package akismet
|
||||
* @name Akismet
|
||||
* @version 0.2
|
||||
* @author Alex Potsides
|
||||
* @link http://www.achingbrain.net/
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
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.
|
||||
*
|
||||
* @package akismet
|
||||
* @name SocketWriteRead
|
||||
* @version 0.1
|
||||
* @author Alex Potsides
|
||||
* @link http://www.achingbrain.net/
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class SocketWriteRead
|
||||
{
|
||||
|
@ -1,15 +1,7 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class MathSpamProtection {
|
||||
|
||||
|
@ -1,15 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a single comment on a page
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class PageComment extends DataObject {
|
||||
static $db = array(
|
||||
"Name" => "Varchar",
|
||||
@ -182,9 +172,8 @@ class PageComment extends DataObject {
|
||||
$this->Parent()->Title
|
||||
);
|
||||
}
|
||||
|
||||
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);
|
||||
if(!isset($comments)) {
|
||||
$comments = new DataObjectSet();
|
||||
@ -217,4 +206,4 @@ class PageComment extends DataObject {
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -1,16 +1,9 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents an interface for viewing and adding page comments
|
||||
* Create one, passing the page discussed to the constructor. It can then be
|
||||
* inserted into a template.
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class PageCommentInterface extends ViewableData {
|
||||
protected $controller, $methodName, $page;
|
||||
@ -40,16 +33,17 @@ class PageCommentInterface extends ViewableData {
|
||||
|
||||
$fields = new FieldSet(
|
||||
new HiddenField("ParentID", "ParentID", $this->page->ID),
|
||||
new TextField("Name", _t('PageCommentInterface.YOURNAME', 'Your name')));
|
||||
new TextField("Name", "Your name")
|
||||
);
|
||||
|
||||
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(
|
||||
new FormAction("postcomment", _t('PageCommentInterface.POST', 'Post'))
|
||||
new FormAction("postcomment", "Post")
|
||||
));
|
||||
|
||||
$form->loadDataFrom(array(
|
||||
@ -87,10 +81,6 @@ class PageCommentInterface extends ViewableData {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class PageCommentInterface_Form extends Form {
|
||||
function postcomment($data) {
|
||||
// Spam filtering
|
||||
@ -108,9 +98,10 @@ class PageCommentInterface_Form extends Form {
|
||||
$comment->setField("IsSpam", true);
|
||||
$comment->write();
|
||||
}
|
||||
echo "<b>"._t('PageCommentInterface_Form.SPAMDETECTED', 'Spam detected!!') . "</b><br /><br />";
|
||||
printf("If you believe this was in error, please email %s.", ereg_replace("@", " _(at)_", Email::getAdminEmail()));
|
||||
echo "<br /><br />"._t('PageCommentInterface_Form.MSGYOUPOSTED', 'The message you posted was:'). "<br /><br />";
|
||||
echo "<b>Spam detected!!</b><br /><br />";
|
||||
echo "If you believe this was in error, please email ";
|
||||
echo ereg_replace("@", " _(at)_", Email::getAdminEmail());
|
||||
echo ".<br /><br />The message you posted was:<br /><br />";
|
||||
echo $data['Comment'];
|
||||
|
||||
return;
|
||||
@ -140,7 +131,7 @@ class PageCommentInterface_Form extends Form {
|
||||
|
||||
if(Director::is_ajax()) {
|
||||
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{
|
||||
echo $comment->renderWith('PageCommentInterface_singlecomment');
|
||||
}
|
||||
@ -150,10 +141,6 @@ class PageCommentInterface_Form extends Form {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class PageCommentInterface_Controller extends ContentController {
|
||||
function __construct() {
|
||||
parent::__construct(null);
|
||||
@ -161,9 +148,9 @@ class PageCommentInterface_Controller extends ContentController {
|
||||
|
||||
function newspamquestion() {
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
@ -1,14 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package cms
|
||||
* @subpackage comments
|
||||
*/
|
||||
class SSAkismet extends Akismet {
|
||||
private static $apiKey;
|
||||
private static $saveSpam = true;
|
||||
|
@ -50,5 +50,4 @@ div.availableWidgets div.Widget h3 {
|
||||
text-indent: 5px;
|
||||
background: #000 url(../images/textures/obar-18.gif);
|
||||
margin: 0;
|
||||
cursor: move;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#left form.actionparams {
|
||||
background: #ccc;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
#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;
|
||||
margin: 0;
|
||||
}
|
||||
ul.contextMenu li {
|
||||
.contextMenu li {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
ul.contextMenu li a {
|
||||
.contextMenu li a {
|
||||
display: block;
|
||||
font-family: Tahoma, Verdana, Arial, Helvetica;
|
||||
font-size: 11px;
|
||||
@ -312,7 +307,7 @@ ul.contextMenu li a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul.contextMenu li a:hover {
|
||||
.contextMenu li a:hover {
|
||||
background-color: #B6BDD2;
|
||||
text-decoration: none;
|
||||
}
|
||||
@ -368,10 +363,4 @@ ul.tree li.untranslated a:visited {
|
||||
}
|
||||
#LangSelector_holder.onelang {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#SortItems {
|
||||
border-bottom: 1px solid #cccccc;
|
||||
background: #CCCCCC none repeat scroll 0%;
|
||||
padding: 3px 0 3px 7px;
|
||||
}
|
||||
}
|
@ -371,11 +371,7 @@ TreeContextMenu = {
|
||||
'Edit this page' : function(treeNode) {
|
||||
treeNode.selectTreeNode();
|
||||
},
|
||||
'Duplicate page and children' : 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) {
|
||||
'Duplicate this page' : function(treeNode) {
|
||||
// First save the page silently (without confirmation) and then duplicate the page.
|
||||
autoSave(false, treeNode.duplicatePage.bind(treeNode));
|
||||
},
|
||||
|
@ -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>",
|
||||
|
||||
initialize : function() {
|
||||
Behaviour.register({
|
||||
'#Form_EditForm_action_delete' : {
|
||||
onclick: this.remove.bind(this)
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
updateCMSContent: function(el, currentTab, link, customCallBack) {
|
||||
if(!customCallBack) customCallBack = function(){};
|
||||
|
||||
if(el || link){
|
||||
var reqLink = (el && el.href) ? el.href : link;
|
||||
var reqLink = (el.href) ? el.href : link;
|
||||
|
||||
if(typeof(currentTab) != 'undefined')
|
||||
$('Form_EditForm').openTab = currentTab;
|
||||
@ -54,7 +59,7 @@ RightContent.prototype = {
|
||||
remove: function(e) {
|
||||
if(window.confirm('Are you sure you want to delete?')){
|
||||
var el = Event.element(e);
|
||||
Ajax.SubmitForm($('Form_EditForm'), el.name, {
|
||||
Ajax.SubmitForm(el.ownerForm, el.name, {
|
||||
postBody : 'ajax=1',
|
||||
onSuccess: Ajax.Evaluator,
|
||||
onFailure: ajaxErrorHandler
|
||||
@ -108,8 +113,4 @@ RightContent.prototype = {
|
||||
titleHolder[0].innerHTML = title;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var action_delete_right = function(e) {
|
||||
$('Form_EditForm').remove(e);
|
||||
}
|
||||
}
|
@ -190,22 +190,7 @@ TreeNodeAPI.prototype = {
|
||||
}
|
||||
},
|
||||
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
|
||||
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', {
|
||||
new Ajax.Request(baseHref() + 'admin/duplicate/' + this.getIdx() + '?ajax=1', {
|
||||
method : 'get',
|
||||
onSuccess : Ajax.Evaluator,
|
||||
onFailure : function(response) {
|
||||
@ -458,13 +443,16 @@ ReorganiseAction = Class.create();
|
||||
ReorganiseAction.applyTo('#sortitems');
|
||||
ReorganiseAction.prototype = {
|
||||
initialize: function () {
|
||||
this.isDraggable = false;
|
||||
},
|
||||
|
||||
onclick : function() {
|
||||
if ($('sitetree').isDraggable == false) {
|
||||
if (this.isDraggable == false) {
|
||||
$('sitetree').makeDraggable();
|
||||
this.isDraggable = true;
|
||||
} else {
|
||||
$('sitetree').stopBeingDraggable();
|
||||
this.isDraggable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -492,4 +480,4 @@ SiteTreeFilterForm.prototype = {
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
@ -30,7 +30,7 @@ ThumbnailStripField.prototype = {
|
||||
ajaxGetFiles: function(folderID,callback) {
|
||||
if(!callback) callback = this.reapplyBehaviour.bind(this);
|
||||
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, {
|
||||
method : 'get',
|
||||
onComplete : callback,
|
||||
|
@ -27,7 +27,7 @@ if((typeof tinyMCE != 'undefined')) {
|
||||
theme_advanced_toolbar_location : "manually_placed",
|
||||
theme_advanced_toolbar_align : "left",
|
||||
theme_advanced_toolbar_parent : "right",
|
||||
plugins : "contextmenu,table,emotions,flash,paste",
|
||||
plugins : "contextmenu,table,emotions,flash",
|
||||
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_buttons2 : "undo,redo,separator,cut,copy,paste,separator,search,replace,separator,flash",
|
||||
@ -43,4 +43,4 @@ if((typeof tinyMCE != 'undefined')) {
|
||||
valid_elements : "+a[id|rel|rev|dir|tabindex|accesskey|type|name|href|target|title|class],-strong/-b[class],-em/-i[class],-strike[class],-u[class],#p[id|dir|class|align],-ol[class],-ul[class],-li[class],br,img[id|dir|longdesc|usemap|class|src|border|alt=|title|width|height|align],-sub[class],-sup[class],-blockquote[dir|class],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|dir|id|style],-tr[id|dir|class|rowspan|width|height|align|valign|bgcolor|background|bordercolor|style],tbody[id|class|style],thead[id|class|style],tfoot[id|class|style],-td[id|dir|class|colspan|rowspan|width|height|align|valign|scope|style],-th[id|dir|class|colspan|rowspan|width|height|align|valign|scope|style],caption[id|dir|class],-div[id|dir|class|align],-span[class|align],-pre[class|align],address[class|align],-h1[id|dir|class|align],-h2[id|dir|class|align],-h3[id|dir|class|align],-h4[id|dir|class|align],-h5[id|dir|class|align],-h6[id|dir|class|align],hr[class],dd[id|class|title|dir],dl[id|class|title|dir],dt[id|class|title|dir]",
|
||||
extended_valid_elements : "img[class|src|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]"
|
||||
});
|
||||
}
|
||||
}
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('bg_BG', $lang) && is_array($lang['bg_BG'])) {
|
||||
$lang['bg_BG'] = array_merge($lang['en_US'], $lang['bg_BG']);
|
||||
} else {
|
||||
$lang['bg_BG'] = $lang['en_US'];
|
||||
}
|
||||
$lang['bg_BG'] = $lang['en_US'];
|
||||
|
||||
$lang['bg_BG']['AssetAdmin']['CHOOSEFILE'] = 'Избери файл';
|
||||
$lang['bg_BG']['AssetAdmin']['CONTENTMODBY'] = 'Съдържанието достъпно за промяна от';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('cs_CZ', $lang) && is_array($lang['cs_CZ'])) {
|
||||
$lang['cs_CZ'] = array_merge($lang['en_US'], $lang['cs_CZ']);
|
||||
} else {
|
||||
$lang['cs_CZ'] = $lang['en_US'];
|
||||
}
|
||||
$lang['cs_CZ'] = $lang['en_US'];
|
||||
|
||||
$lang['cs_CZ']['AssetAdmin']['CHOOSEFILE'] = 'Vybrat soubor';
|
||||
$lang['cs_CZ']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upravitelný';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('de_DE', $lang) && is_array($lang['de_DE'])) {
|
||||
$lang['de_DE'] = array_merge($lang['en_US'], $lang['de_DE']);
|
||||
} else {
|
||||
$lang['de_DE'] = $lang['en_US'];
|
||||
}
|
||||
$lang['de_DE'] = $lang['en_US'];
|
||||
|
||||
$lang['de_DE']['AssetAdmin']['CHOOSEFILE'] = 'Datei auswählen';
|
||||
$lang['de_DE']['AssetAdmin']['CONTENTMODBY'] = 'Inhalt veränderbar durch';
|
||||
|
@ -137,20 +137,6 @@ $lang['en_US']['CMSMain']['VISITRESTORE'] = array(
|
||||
PR_LOW,
|
||||
'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']['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.';
|
||||
@ -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']['CREATEDW'] = 'Comments are created whenever one of the \'workflow actions\'
|
||||
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']['SAVE'] = 'save image';
|
||||
$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']['WELCOMETO'] = 'Welcome to';
|
||||
$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']['SEARCHLISTINGS'] = 'Search Listings';
|
||||
$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']['NEXT'] = 'next';
|
||||
$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']['ISSPAM'] = 'this comment is 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:';
|
||||
|
||||
// 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';
|
||||
|
||||
?>
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('es_ES', $lang) && is_array($lang['es_ES'])) {
|
||||
$lang['es_ES'] = array_merge($lang['en_US'], $lang['es_ES']);
|
||||
} else {
|
||||
$lang['es_ES'] = $lang['en_US'];
|
||||
}
|
||||
$lang['es_ES'] = $lang['en_US'];
|
||||
|
||||
$lang['es_ES']['AssetAdmin']['CHOOSEFILE'] = 'Seleccione archivo';
|
||||
$lang['es_ES']['AssetAdmin']['CONTENTMODBY'] = 'Contenido modificable por';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('fr_FR', $lang) && is_array($lang['fr_FR'])) {
|
||||
$lang['fr_FR'] = array_merge($lang['en_US'], $lang['fr_FR']);
|
||||
} else {
|
||||
$lang['fr_FR'] = $lang['en_US'];
|
||||
}
|
||||
$lang['fr_FR'] = $lang['en_US'];
|
||||
|
||||
$lang['fr_FR']['AssetAdmin']['CHOOSEFILE'] = 'Choisir un fichier';
|
||||
$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']['FILESIMAGES'] = 'Fichiers & Images';
|
||||
$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']['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';
|
||||
@ -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']['SENTOK'] = 'L\'Envoi aux Destinataires Suivants a été Réussi';
|
||||
$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']['NEXT'] = 'suivant';
|
||||
$lang['fr_FR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Personne n\'a encore commenté cette page.';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('hr_HR', $lang) && is_array($lang['hr_HR'])) {
|
||||
$lang['hr_HR'] = array_merge($lang['en_US'], $lang['hr_HR']);
|
||||
} else {
|
||||
$lang['hr_HR'] = $lang['en_US'];
|
||||
}
|
||||
$lang['hr_HR'] = $lang['en_US'];
|
||||
|
||||
$lang['hr_HR']['AssetAdmin']['CHOOSEFILE'] = 'Odaberite datoteku';
|
||||
$lang['hr_HR']['AssetAdmin']['CONTENTMODBY'] = 'Sadržaj može mijenjati';
|
||||
@ -263,7 +259,7 @@ $lang['hr_HR']['NewsletterAdmin_right.ss']['ONLYNOT'] = 'Pošalji samo korisnici
|
||||
$lang['hr_HR']['NewsletterAdmin_right.ss']['SEND'] = 'Pošalji newsletter';
|
||||
$lang['hr_HR']['NewsletterAdmin_right.ss']['SENDTEST'] = 'Pošalji test na';
|
||||
$lang['hr_HR']['NewsletterAdmin_right.ss']['WELCOME1'] = 'Dobrodošli na';
|
||||
$lang['hr_HR']['NewsletterAdmin_right.ss']['WELCOME2'] = 'administraciju newslettera. Odaberite direktorij s lijeve strane.
|
||||
$lang['hr_HR']['NewsletterAdmin_right.ss']['WELCOME2'] = 'administraciju newslettera. Odaberite direktorij s lijeve strane.
|
||||
';
|
||||
$lang['hr_HR']['NewsletterAdmin_SiteTree.ss']['DRAFTS'] = 'Privremeni';
|
||||
$lang['hr_HR']['NewsletterAdmin_SiteTree.ss']['MAILLIST'] = 'Mailing liste';
|
||||
@ -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']['SENTOK'] = 'Slanje slijedećim primateljima je uspješno';
|
||||
$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']['NEXT'] = 'slijedeći';
|
||||
$lang['hr_HR']['PageCommentInterface.ss']['NOCOMMENTSYET'] = 'Na ovoj stranici nema komentara';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('hu_HU', $lang) && is_array($lang['hu_HU'])) {
|
||||
$lang['hu_HU'] = array_merge($lang['en_US'], $lang['hu_HU']);
|
||||
} else {
|
||||
$lang['hu_HU'] = $lang['en_US'];
|
||||
}
|
||||
$lang['hu_HU'] = $lang['en_US'];
|
||||
|
||||
$lang['hu_HU']['AssetAdmin']['CHOOSEFILE'] = 'Válassz fájlt';
|
||||
$lang['hu_HU']['AssetAdmin']['CONTENTMODBY'] = 'A tartalmat módosíthatja';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('it_IT', $lang) && is_array($lang['it_IT'])) {
|
||||
$lang['it_IT'] = array_merge($lang['en_US'], $lang['it_IT']);
|
||||
} else {
|
||||
$lang['it_IT'] = $lang['en_US'];
|
||||
}
|
||||
$lang['it_IT'] = $lang['en_US'];
|
||||
|
||||
$lang['it_IT']['AssetAdmin']['CHOOSEFILE'] = 'Scegli file';
|
||||
$lang['it_IT']['AssetAdmin']['CONTENTMODBY'] = 'Contenuto modificabile da';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('nl_NL', $lang) && is_array($lang['nl_NL'])) {
|
||||
$lang['nl_NL'] = array_merge($lang['en_US'], $lang['nl_NL']);
|
||||
} else {
|
||||
$lang['nl_NL'] = $lang['en_US'];
|
||||
}
|
||||
$lang['nl_NL'] = $lang['en_US'];
|
||||
|
||||
$lang['nl_NL']['AssetAdmin']['CHOOSEFILE'] = 'Kies een bestand ';
|
||||
$lang['nl_NL']['AssetAdmin']['CONTENTMODBY'] = 'Inhoud bewerkbaar door';
|
||||
|
136
lang/pl_PL.php
136
lang/pl_PL.php
@ -4,17 +4,13 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('pl_PL', $lang) && is_array($lang['pl_PL'])) {
|
||||
$lang['pl_PL'] = array_merge($lang['en_US'], $lang['pl_PL']);
|
||||
} else {
|
||||
$lang['pl_PL'] = $lang['en_US'];
|
||||
}
|
||||
$lang['pl_PL'] = $lang['en_US'];
|
||||
|
||||
$lang['pl_PL']['AssetAdmin']['CHOOSEFILE'] = 'Wybierz plik';
|
||||
$lang['pl_PL']['AssetAdmin']['CONTENTMODBY'] = 'Zawartość modyfikowalna przez';
|
||||
$lang['pl_PL']['AssetAdmin']['CONTENTUSABLEBY'] = 'Zawartość używalna przez ';
|
||||
$lang['pl_PL']['AssetAdmin']['CREATED'] = 'Wgrany jako pierwszy';
|
||||
$lang['pl_PL']['AssetAdmin']['DELETEDX'] = 'Usunięto %s plików. %s';
|
||||
$lang['pl_PL']['AssetAdmin']['CONTENTMODBY'] = 'Zawartość modyfikowana przez';
|
||||
$lang['pl_PL']['AssetAdmin']['CONTENTUSABLEBY'] = 'Zawartość używana przez ';
|
||||
$lang['pl_PL']['AssetAdmin']['CREATED'] = 'Pierwsze wgrany';
|
||||
$lang['pl_PL']['AssetAdmin']['DELETEDX'] = 'Usunięto %s pliki. %s';
|
||||
$lang['pl_PL']['AssetAdmin']['DELETEUNUSEDTHUMBNAILS'] = 'Usuń nieużywane miniatury';
|
||||
$lang['pl_PL']['AssetAdmin']['DELSELECTED'] = 'Usuń zaznaczone pliki';
|
||||
$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']['FILESTAB'] = 'Pliki';
|
||||
$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']['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']['OWNER'] = 'Właściciel';
|
||||
$lang['pl_PL']['AssetAdmin']['SAVEDFILE'] = 'Zapisano plik %s';
|
||||
$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']['TYPE'] = 'Rodzaj';
|
||||
$lang['pl_PL']['AssetAdmin']['UNUSEDFILESTAB'] = 'Nieużywane pliki';
|
||||
$lang['pl_PL']['AssetAdmin']['UNUSEDFILESTITLE'] = 'Nieużywane pliki';
|
||||
$lang['pl_PL']['AssetAdmin']['UNUSEDTHUMBNAILSTITLE'] = 'Nieużywane miniatury';
|
||||
$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']['VIEWASSET'] = 'Zobacz zawartość';
|
||||
$lang['pl_PL']['AssetAdmin']['VIEWEDITASSET'] = 'Zobacz/Edytuj zawartość';
|
||||
$lang['pl_PL']['AssetAdmin']['VIEWEDITASSET'] = 'Zobacz/Edytuj stronę';
|
||||
$lang['pl_PL']['AssetAdmin_left.ss']['CREATE'] = 'Stwórz';
|
||||
$lang['pl_PL']['AssetAdmin_left.ss']['DELETE'] = 'Usuń ...';
|
||||
$lang['pl_PL']['AssetAdmin_left.ss']['DELFOLDERS'] = 'Usuń zaznaczone foldery';
|
||||
$lang['pl_PL']['AssetAdmin_left.ss']['FOLDERS'] = 'Foldery';
|
||||
$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']['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']['WELCOME'] = 'Witamy w ';
|
||||
$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']['FILENAME'] = 'Nazwa pliku';
|
||||
$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']['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.ss']['DELFILE'] = 'Usuń ten plik';
|
||||
$lang['pl_PL']['AssetTableField.ss']['DRAGTOFOLDER'] = 'Przenieś folder do pliku po lewej';
|
||||
$lang['pl_PL']['AssetTableField']['TITLE'] = 'Tytuł';
|
||||
$lang['pl_PL']['AssetTableField']['TYPE'] = 'Rodzaj';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['CONFIRMBULK'] = 'Potwierdź dużą ilość załadowanych';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['CSVFILE'] = 'Plik CSV';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['DATALOADED'] = 'Te dane zostały załadowane w';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['CSVFILE'] = 'CSV plik';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['DATALOADED'] = 'Te dane zostaną załadowane w';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['PRESSCNT'] = 'Naciśnij kontynuuj aby wgrać dane do';
|
||||
$lang['pl_PL']['BulkLoaderAdmin']['PREVIEW'] = 'Podgląd';
|
||||
$lang['pl_PL']['BulkLoaderAdmin_left.ss']['BATCHEF'] = 'Otwórz plik funkcji';
|
||||
$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']['DELPAGES'] = 'Usuń zaznaczone strony';
|
||||
$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']['COMPARINGV'] = 'Porównaj wersję #%d i #%d';
|
||||
$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']['GO'] = 'Idź';
|
||||
$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']['NOCONTENT'] = 'brak zawartości';
|
||||
$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']['NOWBROKEN2'] = 'Właściciele zostaną powiadomieni mailem i naprawią strony';
|
||||
$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']['PAGETYPEOPT'] = 'Typ strony';
|
||||
$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']['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']['PUBPAGES'] = 'Gotowe: Opublikowano %d strony';
|
||||
$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: Opublikowane %d strony';
|
||||
$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']['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']['ROLLEDBACKVERSION'] = 'Poprzednia wersja to #%d. Nowy numer wersji to #%d';
|
||||
$lang['pl_PL']['CMSMain']['SAVE'] = 'Zapisz';
|
||||
$lang['pl_PL']['CMSMain']['SENTTO'] = 'Wysłano do %s %s po akceptację';
|
||||
$lang['pl_PL']['CMSMain']['STATUSOPT'] = 'Status';
|
||||
$lang['pl_PL']['CMSMain']['SENTTO'] = 'Wyślij do %s %s po akceptację';
|
||||
$lang['pl_PL']['CMSMain']['STATUSOPT'] = 'Stauts';
|
||||
$lang['pl_PL']['CMSMain']['TOTALPAGES'] = 'W sumie stron:';
|
||||
$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']['VISITRESTORE'] = 'zobacz restorepage/(ID)';
|
||||
$lang['pl_PL']['CMSMain']['VIEWING'] = 'Widzisz wersję #%d, stworzoną %s';
|
||||
$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']['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']['BATCHACTIONS'] = 'Akcja pliku';
|
||||
$lang['pl_PL']['CMSMain_left.ss']['CHANGED'] = 'zmienione';
|
||||
$lang['pl_PL']['CMSMain_left.ss']['CLOSEBOX'] = 'kliknij aby zamknąć';
|
||||
$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']['DEL'] = 'usunięte';
|
||||
$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']['NEW'] = 'nowy';
|
||||
$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']['SEARCH'] = 'Szukaj';
|
||||
$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']['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']['SHOWUNPUB'] = 'pokaż nieopublikowane wersje';
|
||||
$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_versions.ss']['AUTHOR'] = 'Autor';
|
||||
$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']['WHEN'] = 'Kiedy';
|
||||
$lang['pl_PL']['CMSRight.ss']['CHOOSEPAGE'] = 'Proszę wybrać stronę po lewej';
|
||||
$lang['pl_PL']['CMSRight.ss']['ECONTENT'] = 'Edytuj zawartość';
|
||||
$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']['GenericDataAdmin_left.ss']['ADDLISTING'] = 'Dodaj listę';
|
||||
$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']['FILESIMAGES'] = 'Pliki i Obrazy';
|
||||
$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']['PERMAGAIN'] = 'Zostałeś wylogowany z CMSa. 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']['PERMDEFAULT'] = 'Proszę wybrać metodę identyfikacji i wpisać swoje dane, aby uruchomić CMSa.';
|
||||
$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']['PERMAGAIN'] = 'Zostałeś zalogowany do CMS. Jeśli chcesz zalogować się ponownie, wpisz username i hasło 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ę 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ż została już zapisana.';
|
||||
$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']['SAVEDUP'] = 'Zapisane';
|
||||
$lang['pl_PL']['LeftAndMain']['SECURITY'] = 'Bezpieczeństwo';
|
||||
$lang['pl_PL']['LeftAndMain']['SITECONTENT'] = 'Zawartość strony';
|
||||
$lang['pl_PL']['LeftAndMain']['SITECONTENTLEFT'] = 'Zawartość strony';
|
||||
$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']['DRAFTS'] = 'Wersje robocze';
|
||||
$lang['pl_PL']['LeftAndMain.ss']['EDIT'] = 'Edytuj';
|
||||
$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']['LOGOUT'] = 'Wyloguj';
|
||||
$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']['VIEWPAGEIN'] = 'Widok strony:';
|
||||
$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']['MemberList']['ADD'] = 'Dodaj';
|
||||
$lang['pl_PL']['MemberList']['EMAIL'] = 'Email';
|
||||
$lang['pl_PL']['MemberList']['FILTERBYG'] = 'Szukaj według grup';
|
||||
$lang['pl_PL']['MemberList']['FN'] = 'Imię';
|
||||
$lang['pl_PL']['MemberList']['FILTERBYG'] = 'Szukaj w grupach';
|
||||
$lang['pl_PL']['MemberList']['FN'] = 'Pierwsza kategoria';
|
||||
$lang['pl_PL']['MemberList']['PASSWD'] = 'Hasło';
|
||||
$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_Table.ss']['EMAIL'] = 'Adres e-mail';
|
||||
$lang['pl_PL']['MemberList_Table.ss']['FN'] = 'Imię';
|
||||
$lang['pl_PL']['MemberList_Table.ss']['EMAIL'] = 'Email adres';
|
||||
$lang['pl_PL']['MemberList_Table.ss']['FN'] = 'Pierwsza kategoria';
|
||||
$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']['ADDEDTOGROUP'] = 'Dodaj użytkownika do grupy';
|
||||
$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']['NEWNEWSLTYPE'] = 'Nowy 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']['SAVE'] = 'Zapisz';
|
||||
$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']['SENTTESTTO'] = 'Wysłano test do';
|
||||
$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']['NOBOUNCED'] = 'Brak odrzuconych maili';
|
||||
$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']['DELETEDRAFTS'] = 'Usuń zaznaczone wersje robocze';
|
||||
$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_right.ss']['CANCEL'] = 'Anuluj';
|
||||
$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']['MAILLIST'] = 'Lista mailingowa';
|
||||
$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']['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']['CHOOSEDRAFT2'] = 'dodaj jeden';
|
||||
$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']['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']['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_Table.ss']['CONTENTSOF'] = 'Zawartość';
|
||||
$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_SentStatusReport.ss']['DATE'] = 'Data';
|
||||
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['EMAIL'] = 'Email';
|
||||
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['FN'] = 'Imię';
|
||||
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['NEWSNEVERSENT'] = 'Newsletter nigdy nie był wysłany do następujących użytkowników';
|
||||
$lang['pl_PL']['Newsletter_SentStatusReport.ss']['FN'] = 'Pierwsza kategoria';
|
||||
$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']['SENDBOUNCED'] = 'Wysłanie do następujących odbiorców zostało odrzucone';
|
||||
$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']['Newsletter_SentStatusReport.ss']['SN'] = 'Podkategoria';
|
||||
$lang['pl_PL']['PageCommentInterface.ss']['COMMENTS'] = 'Komentarze';
|
||||
$lang['pl_PL']['PageCommentInterface.ss']['NEXT'] = 'następny';
|
||||
$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']['ReportAdmin_left.ss']['REPORTS'] = 'Raporty';
|
||||
$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']['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.';
|
||||
@ -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']['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']['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']['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']['LAST2WEEKS'] = 'Strony zmienione w ostatnich 2 tygodniach';
|
||||
$lang['pl_PL']['SideReport']['REPEMPTY'] = '%s raport jest pusty';
|
||||
$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']['NAME'] = 'Statyczny eksport';
|
||||
$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']['HAVEASKED'] = 'Zobacz zawartość naszej strony na';
|
||||
$lang['pl_PL']['WaitingOn.ss']['ATO'] = 'przypisane do';
|
||||
$lang['pl_PL']['WaitingOn.ss']['ATO'] = 'wyznaczone do';
|
||||
|
||||
?>
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('pt_BR', $lang) && is_array($lang['pt_BR'])) {
|
||||
$lang['pt_BR'] = array_merge($lang['en_US'], $lang['pt_BR']);
|
||||
} else {
|
||||
$lang['pt_BR'] = $lang['en_US'];
|
||||
}
|
||||
$lang['pt_BR'] = $lang['en_US'];
|
||||
|
||||
$lang['pt_BR']['AssetAdmin']['CHOOSEFILE'] = 'Selecione Arquivo';
|
||||
$lang['pt_BR']['AssetAdmin']['CONTENTMODBY'] = 'Conteúdos modificáveis por';
|
||||
|
323
lang/pt_PT.php
323
lang/pt_PT.php
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('pt_PT', $lang) && is_array($lang['pt_PT'])) {
|
||||
$lang['pt_PT'] = array_merge($lang['en_US'], $lang['pt_PT']);
|
||||
} else {
|
||||
$lang['pt_PT'] = $lang['en_US'];
|
||||
}
|
||||
$lang['pt_PT'] = $lang['en_US'];
|
||||
|
||||
$lang['pt_PT']['AssetAdmin']['CHOOSEFILE'] = 'Escolha ficheiro ';
|
||||
$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']['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';
|
||||
|
||||
|
||||
|
||||
?>
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('ru_RU', $lang) && is_array($lang['ru_RU'])) {
|
||||
$lang['ru_RU'] = array_merge($lang['en_US'], $lang['ru_RU']);
|
||||
} else {
|
||||
$lang['ru_RU'] = $lang['en_US'];
|
||||
}
|
||||
$lang['ru_RU'] = $lang['en_US'];
|
||||
|
||||
$lang['ru_RU']['AssetAdmin']['CHOOSEFILE'] = 'Выберите файл';
|
||||
$lang['ru_RU']['AssetAdmin']['CONTENTMODBY'] = 'Редакторы содержимого:';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('sk_SK', $lang) && is_array($lang['sk_SK'])) {
|
||||
$lang['sk_SK'] = array_merge($lang['en_US'], $lang['sk_SK']);
|
||||
} else {
|
||||
$lang['sk_SK'] = $lang['en_US'];
|
||||
}
|
||||
$lang['sk_SK'] = $lang['en_US'];
|
||||
|
||||
$lang['sk_SK']['AssetAdmin']['CHOOSEFILE'] = 'Vybrať súbor';
|
||||
$lang['sk_SK']['AssetAdmin']['CONTENTMODBY'] = 'Obsah upraviteľný pre';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('sv_SE', $lang) && is_array($lang['sv_SE'])) {
|
||||
$lang['sv_SE'] = array_merge($lang['en_US'], $lang['sv_SE']);
|
||||
} else {
|
||||
$lang['sv_SE'] = $lang['en_US'];
|
||||
}
|
||||
$lang['sv_SE'] = $lang['en_US'];
|
||||
|
||||
$lang['sv_SE']['AssetAdmin']['CHOOSEFILE'] = 'Välj fil';
|
||||
$lang['sv_SE']['AssetAdmin']['CONTENTMODBY'] = 'Följande kan redigera innehållet';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('tr_TR', $lang) && is_array($lang['tr_TR'])) {
|
||||
$lang['tr_TR'] = array_merge($lang['en_US'], $lang['tr_TR']);
|
||||
} else {
|
||||
$lang['tr_TR'] = $lang['en_US'];
|
||||
}
|
||||
$lang['tr_TR'] = $lang['en_US'];
|
||||
|
||||
$lang['tr_TR']['AssetAdmin']['CHOOSEFILE'] = 'Yükleyeceğiniz Dosyayı seçiniz';
|
||||
$lang['tr_TR']['AssetAdmin']['CONTENTMODBY'] = 'İçeriği değiştirebilme yetkisi olan(lar)';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('zh_CN', $lang) && is_array($lang['zh_CN'])) {
|
||||
$lang['zh_CN'] = array_merge($lang['en_US'], $lang['zh_CN']);
|
||||
} else {
|
||||
$lang['zh_CN'] = $lang['en_US'];
|
||||
}
|
||||
$lang['zh_CN'] = $lang['en_US'];
|
||||
|
||||
$lang['zh_CN']['AssetAdmin']['CHOOSEFILE'] = '选择文件';
|
||||
$lang['zh_CN']['AssetAdmin']['CONTENTMODBY'] = '内容可被修改';
|
||||
|
@ -4,11 +4,7 @@ i18n::include_locale_file('cms', 'en_US');
|
||||
|
||||
global $lang;
|
||||
|
||||
if(array_key_exists('zh_TW', $lang) && is_array($lang['zh_TW'])) {
|
||||
$lang['zh_TW'] = array_merge($lang['en_US'], $lang['zh_TW']);
|
||||
} else {
|
||||
$lang['zh_TW'] = $lang['en_US'];
|
||||
}
|
||||
$lang['zh_TW'] = $lang['en_US'];
|
||||
|
||||
$lang['zh_TW']['AssetAdmin']['CHOOSEFILE'] = '選擇檔案';
|
||||
$lang['zh_TW']['AssetAdmin']['CONTENTMODBY'] = '可以更改內容的人:';
|
||||
|
@ -20,17 +20,17 @@
|
||||
<% end_control %>
|
||||
<% if Can(show) %>
|
||||
<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>
|
||||
<% end_if %>
|
||||
<% if Can(edit) %>
|
||||
<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>
|
||||
<% end_if %>
|
||||
<% if Can(delete) %>
|
||||
<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>
|
||||
<% end_if %>
|
||||
</tr>
|
||||
|
@ -34,6 +34,12 @@
|
||||
<div>
|
||||
<input class="action" type="submit" value="<% _t('GO','Go') %>" />
|
||||
</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 & drop reordering', PR_HIGH) %></label>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<% end_control %>
|
||||
<form class="actionparams" style="display: none" id="search_options" action="admin/filterSiteTree">
|
||||
@ -81,9 +87,7 @@
|
||||
</div>
|
||||
</form>
|
||||
<% end_control %>
|
||||
<div id="SortItems">
|
||||
<input type="checkbox" id="sortitems" /> <label for="sortitems"><% _t('ENABLEDRAGGING','Allow drag & drop reordering', PR_HIGH) %></label>
|
||||
</div>
|
||||
|
||||
<div id="sitetree_ul">
|
||||
$SiteTreeAsUL
|
||||
</div>
|
||||
@ -163,4 +167,4 @@
|
||||
<div class="unitBody">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -1,15 +1,15 @@
|
||||
<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>
|
||||
<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 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 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>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
@ -1,7 +1,7 @@
|
||||
<h2><% _t('COMMENTS', 'Comments') %></h2>
|
||||
<h2>Comments</h2>
|
||||
|
||||
<div id="treepanes">
|
||||
<div id="sitetree_holder">
|
||||
<% include CommentAdmin_SiteTree %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -5,7 +5,7 @@
|
||||
$EditForm
|
||||
<% else %>
|
||||
<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>
|
||||
<% end_if %>
|
||||
|
||||
|
@ -44,26 +44,26 @@
|
||||
<td>$Value</td>
|
||||
<% end_control %>
|
||||
<% 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 %>
|
||||
<% 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 %>
|
||||
<% 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 %>
|
||||
<% 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 %>
|
||||
<% 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 %>
|
||||
</tr>
|
||||
<% end_control %>
|
||||
<% else %>
|
||||
<tr class="notfound">
|
||||
<% if Markable %><th width="18"> </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"> </th><% end_if %>
|
||||
<% if HasApproveButton %><th width="18"> </th><% end_if %>
|
||||
<% if HasSpamButton %><th width="18"> </th><% end_if %>
|
||||
@ -73,4 +73,4 @@
|
||||
<% end_if %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
@ -17,7 +17,7 @@
|
||||
<% else_if Type = dropdown %>
|
||||
<select name="$Command" class="mceSelectList" id="mce_editor_$IDSegment">$Options</select>
|
||||
<% 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 %>
|
||||
<br />
|
||||
<% end_if %>
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
</div>
|
||||
<h2><% _t('SEARCHRESULTS','Search Results') %></h2>
|
||||
<div id="ResultTable_holder" class="leftbottom">
|
||||
<div id="ResultTable_holder" class="leftbottom" style="overflow:auto">
|
||||
$Results
|
||||
</div>
|
||||
</div>
|
@ -6,7 +6,7 @@
|
||||
<form id="Form_EditForm" action="admin?executeForm=EditForm" method="post" enctype="multipart/form-data">
|
||||
<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>
|
||||
<% end_if %>
|
||||
|
@ -1,15 +1,15 @@
|
||||
<div class="PageControls">
|
||||
<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>
|
||||
<% 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 %>
|
||||
<% 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>
|
||||
<% 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 %>
|
||||
<% 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>
|
||||
<% else %><img class="Prev" src="cms/images/pagination/record-prev-g.png" alt="<% _t('VIEWPREVIOUS', 'View previous') %> $PageSize <% _t('PREVIOUSMEMBERS', 'members') %>" /><% end_if %>
|
||||
<% 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="View last $PageSize members" /></span><% end_if %>
|
||||
<% 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="View first $PageSize members" /></span><% end_if %>
|
||||
<% 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="View previous $PageSize members" /><% end_if %>
|
||||
<span class="Count">
|
||||
<% _t('DISPLAYING', 'Displaying') %> $FirstMember <% _t('TO', 'to') %> $LastMember <% _t('OF', 'of') %> $TotalMembers
|
||||
Displaying $FirstMember to $LastMember of $TotalMembers
|
||||
</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>
|
||||
<% else %><img class="Next" src="cms/images/pagination/record-next-g.png" alt="<% _t('VIEWNEXT', 'View next') %> $PageSize <% _t('NEXTMEMBERS', 'members') %>" /><% end_if %>
|
||||
<% 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="View next $PageSize members" /><% end_if %>
|
||||
|
||||
</div>
|
||||
|
@ -1,17 +1,17 @@
|
||||
<% if Entries %>
|
||||
<p><b><% _t('INSTRUCTIONS', 'Instructions:') %></b></p>
|
||||
<p><b>Instructions:</b></p>
|
||||
<ul>
|
||||
<li><% _t('INSTRUCTIONS1', '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>Uncheck the box to enable sending to a blacklisted email address.</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>
|
||||
<table id="BouncedListTable" class="CMSList BouncedList" summary="<% _t('HAVEBOUNCED','Emails that have bounced') %>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="18"><% _t('BLACKLISTED', 'Blacklisted') %></th>
|
||||
<th width="18">Blacklisted</th>
|
||||
<th><% _t('UNAME','User name') %></th>
|
||||
<th><% _t('EMADD','Email address') %></th>
|
||||
<th><% _t('RESON', 'Reason:') %></th>
|
||||
<th><% _t('DATE', 'Date') %></th>
|
||||
<th>Reason:</th>
|
||||
<th>Date</th>
|
||||
<th width="18"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
@ -36,4 +36,4 @@
|
||||
</table>
|
||||
<% else %>
|
||||
<p><% _t('NOBOUNCED','No emails sent have bounced.') %></p>
|
||||
<% end_if %>
|
||||
<% end_if %>
|
@ -1,4 +1,4 @@
|
||||
<h2><% _t('STATISTICS', 'Statistics') %></h2>
|
||||
<h2>Statistics</h2>
|
||||
|
||||
<div id="treepanes">
|
||||
<div id="sitetree_holder">
|
||||
@ -6,10 +6,10 @@
|
||||
<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="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="sttrends"><a href="$baseURL/admin/statistics/trends"><% _t('TRENDS', Trends) %></a></li>
|
||||
<li id="stos"><a href="$baseURL/admin/statistics/os"><% _t('OS', 'Operating Systems') %></a></li>
|
||||
<li id="stbrowsers"><a href="$baseURL/admin/statistics/browsers"><% _t('BROWSERS', 'Browsers') %></a></li>
|
||||
<li id="stviews"><a href="$baseURL/admin/statistics/views">Views</a></li>
|
||||
<li id="sttrends"><a href="$baseURL/admin/statistics/trends">Trends</a></li>
|
||||
<li id="stos"><a href="$baseURL/admin/statistics/os">Operating Systems</a></li>
|
||||
<li id="stbrowsers"><a href="$baseURL/admin/statistics/browsers">Browsers</a></li>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user