index f83b415ba22242efa150765fb19c7f5772c0a676..4ec220be551b28193731719c6d999a5d3af27071 100644 (file)
var $dialogOpen = false;
var $objectdn = false;
var $dialogOpen = false;
var $objectdn = false;
+ var $lastdn = "";
+
var $was_successfull = false;
var $was_successfull = false;
- /* Create CP handler
- */
+ /* Create CP handler */
function CopyPasteHandler($config){
$this->config = $config;
$this->current= NULL;
}
function CopyPasteHandler($config){
$this->config = $config;
$this->current= NULL;
}
- /* Returns wether the current object can be pasted
- */
+ /* Returns wether the current object can be pasted */
function isCurrentObjectPastAble(){
function isCurrentObjectPastAble(){
- /* Check if we got a valid object
- */
+ /* Check if we got a valid object */
if($this->current == NULL){
return(false);
}
if($this->current == NULL){
return(false);
}
}
}
- /* Clears all copy & paste informations
- */
- function Clear($current_too = false)
+ /* Clears all copy & paste informations */
+ function Clear()
{
$this->copyCurrent = false;
$this->cutCurrent = false;
$this->dialogOpen = false;
{
$this->copyCurrent = false;
$this->cutCurrent = false;
$this->dialogOpen = false;
- if($current_too){
- $this->current = NULL;
- }
+ $this->current = NULL;
}
}
- /* return current obejct dn
- */
+ /* return current obejct dn */
function GetCurrentDn()
{
return($this->objectdn);
}
function GetCurrentDn()
{
return($this->objectdn);
}
- /* Add Object which should be copied
- */
+ /* Add Object which should be copied */
function Copy($obj,$emptyObj)
{
$this->copyCurrent = true;
$this->objectdn = $obj->dn;
$this->current = $emptyObj;
foreach($obj->by_object as $name => $obj){
function Copy($obj,$emptyObj)
{
$this->copyCurrent = true;
$this->objectdn = $obj->dn;
$this->current = $emptyObj;
foreach($obj->by_object as $name => $obj){
- foreach($obj->attributes as $attr){
- $this->current->by_object[$name]->$attr = $obj->$attr;
+
+ /* Prepare every single class, to be copied */
+ $this->current->by_object[$name]->PrepareForCopyPaste($obj);
+
+ /* handle some special vars */
+ foreach(array("is_account") as $attr){
+ if(isset($obj->$attr)){
+ $this->current->by_object[$name]->$attr = $obj->$attr;
+ }
}
}
if($this->isCurrentObjectPastAble()){
}
}
if($this->isCurrentObjectPastAble()){
}
}
- /* Add Object which should be cutted
- */
+ /* Add Object which should be cutted */
function Cut($obj){
$this->cutCurrent = true;
$this->current = $obj;
function Cut($obj){
$this->cutCurrent = true;
$this->current = $obj;
/* Returns true if current object
/* Returns true if current object
- * is cutted. And awaits to be pasted anywhere
- */
+ * is cutted. And awaits to be pasted anywhere */
function isCurrentCutted(){
return($this->cutCurrent);
}
/* Returns true if current object
function isCurrentCutted(){
return($this->cutCurrent);
}
/* Returns true if current object
- * was copied, and awaits to be pasted again
- */
+ * was copied, and awaits to be pasted again */
function isCurrentCopied(){
return($this->copyCurrent);
}
function isCurrentCopied(){
return($this->copyCurrent);
}
- /* stillOpen
- */
+ /* Returns true if the copy$paste dialog is still open */
function stillOpen(){
if(isset($_POST['AbortCopyPaste'])){
$this->dialogOpen = false;
}
function stillOpen(){
if(isset($_POST['AbortCopyPaste'])){
$this->dialogOpen = false;
}
-
return($this->dialogOpen);
}
/* Displays a dialog which allows the user to fix all dependencies of this object.
return($this->dialogOpen);
}
/* Displays a dialog which allows the user to fix all dependencies of this object.
- Create unique names, ids, or what ever
- */
- function execute($displayMessageOnSuccess = true)
+ Create unique names, ids, or what ever */
+ function execute()
{
$this->dialogOpen = true;
{
$this->dialogOpen = true;
if($this->cutCurrent){
$this->current->save();
$this->dialogOpen =false;
if($this->cutCurrent){
$this->current->save();
$this->dialogOpen =false;
- $smarty = get_smarty();
- $smarty->assign("Complete",true);
$this->Clear();
$this->Clear();
- return($smarty->fetch(get_template_path("copyPasteDialog.tpl",FALSE)));
/* Copy & paste
*/
/* Copy & paste
*/
}else{
$this->current->save();
$this->dialogOpen =false;
}else{
$this->current->save();
$this->dialogOpen =false;
- $smarty = get_smarty();
- $smarty->assign("Complete",true);
$this->Clear();
$this->Clear();
- if($displayMessageOnSuccess){
- return($smarty->fetch(get_template_path("copyPasteDialog.tpl",FALSE)));
- }else{
- return( false);
- }
}
}
}
}
- $smarty = get_smarty();
- $smarty->assign("Complete",false);
- $smarty->assign("AttributesToFix",$this->generateAttributesToFix());
- $smarty->assign("objectDN" ,$this->objectdn);
- return($smarty->fetch(get_template_path("copyPasteDialog.tpl",FALSE)));
+ if($this->current){
+ $smarty = get_smarty();
+ $smarty->assign("Complete",false);
+ $smarty->assign("AttributesToFix",$this->generateAttributesToFix());
+ $smarty->assign("SubDialog",$this->current->SubDialog);
+ $smarty->assign("objectDN" ,$this->objectdn);
+ $smarty->assign("message", sprintf(_("You are going to copy the entry '%s'."), $this->objectdn));
+ return($smarty->fetch(get_template_path("copyPasteDialog.tpl",FALSE)));
+ }
}
}
}
}
- /* Create dialog which asks unique attributes values ...
- * calls tabs -> getCopyDialog()
- * which calls tab -> getCopyDialog()
- */
+ /* Create dialog which asks unique attributes/values ...
+ * call tabs -> getCopyDialog()
+ * which calls tab -> getCopyDialog() */
function generateAttributesToFix()
{
function generateAttributesToFix()
{
- return($this->current->getCopyDialog());
+ if($this->current){
+ return($this->current->getCopyDialog());
+ }
}
/* Set a single attribute to specified value
}
/* Set a single attribute to specified value
- * example : ("base", $newBase );
- */
+ * example : ("base", $newBase ); */
function SetVar($name,$value)
{
foreach($this-> current->by_object as $key => $obj){
function SetVar($name,$value)
{
foreach($this-> current->by_object as $key => $obj){
}
}
- /* Save new values posted by copy & paste dialog
- */
+ /* Save new values posted by copy & paste dialog */
function save_object()
{
/* Assign posted var to all tabs
*/
function save_object()
{
/* Assign posted var to all tabs
*/
- $this->current->saveCopyDialog();
+ if($this->current){
+ $this->current->saveCopyDialog();
+ }
}
}
- /* Returns possible errors returned from all including tabs ..
- */
+ /* Returns errors from including tabs. */
function check()
{
$ret = array();
foreach($this-> current->by_object as $obj){
function check()
{
$ret = array();
foreach($this-> current->by_object as $obj){
- $ret = array_merge($ret , $obj->check());
+ if($obj->is_account){
+ $ret = array_merge($ret , $obj->check());
+ }
}
}
-
return($ret);
}
return($ret);
}
+
+ /* returns the paste icon for headpages */
+ function generatePasteIcon()
+ {
+ $Copy_Paste= " <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ";
+ if($this->isCurrentObjectPastAble()){
+ if($this->isCurrentCutted()){
+ $img= "images/cutpaste.png";
+ }else{
+ $img= "images/copypaste.png";
+ }
+ $Copy_Paste.= "<input type='image' name='editPaste' class='center'
+ src='".$img."' alt='"._("Paste")."' title='".$this->GetCurrentDn()."'> ";
+ }else{
+ $Copy_Paste.= "<img class='center' src='images/cant_editpaste.png' alt='"._("Can't paste")."'> ";
+ }
+
+ return ($Copy_Paste);
+ }
+
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>