Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
/*
3
 *  $Id: EchoTask.php 144 2007-02-05 15:19:00Z hans $
4
 *
5
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
6
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
7
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
8
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
9
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
10
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
11
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
12
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
13
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
14
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
15
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
 *
17
 * This software consists of voluntary contributions made by many individuals
18
 * and is licensed under the LGPL. For more information please see
19
 * <http://phing.info>.
20
 */
21
 
22
include_once 'phing/Task.php';
23
 
24
/**
25
 *  Echos a message to the logging system or to a file
26
 *
27
 *  @author   Michiel Rook <michiel.rook@gmail.com>
28
 *  @author   Andreas Aderhold, andi@binarycloud.com
29
 *  @version  $Revision: 1.5 $ $Date: 2007-02-05 16:19:00 +0100 (Mon, 05 Feb 2007) $
30
 *  @package  phing.tasks.system
31
 */
32
 
33
class EchoTask extends Task {
34
 
35
    protected $msg = "";
36
 
37
    protected $file = "";
38
 
39
    protected $append = false;
40
 
41
    protected $level = "info";
42
 
43
    function main() {
44
		switch ($this->level)
45
		{
46
			case "error": $loglevel = Project::MSG_ERR; break;
47
			case "warning": $loglevel = Project::MSG_WARN; break;
48
			case "info": $loglevel = Project::MSG_INFO; break;
49
			case "verbose": $loglevel = Project::MSG_VERBOSE; break;
50
			case "debug": $loglevel = Project::MSG_DEBUG; break;
51
		}
52
 
53
		if (empty($this->file))
54
		{
55
        	$this->log($this->msg, $loglevel);
56
		}
57
		else
58
		{
59
			if ($this->append)
60
			{
61
				$handle = fopen($this->file, "a");
62
			}
63
			else
64
			{
65
				$handle = fopen($this->file, "w");
66
			}
67
 
68
			fwrite($handle, $this->msg);
69
 
70
			fclose($handle);
71
		}
72
    }
73
 
74
    /** setter for file */
75
    function setFile($file)
76
    {
77
		$this->file = (string) $file;
78
	}
79
 
80
    /** setter for level */
81
    function setLevel($level)
82
    {
83
		$this->level = (string) $level;
84
	}
85
 
86
    /** setter for append */
87
    function setAppend($append)
88
    {
89
		$this->append = $append;
90
	}
91
 
92
    /** setter for message */
93
    function setMsg($msg) {
94
        $this->setMessage($msg);
95
    }
96
 
97
    /** alias setter */
98
    function setMessage($msg) {
99
        $this->msg = (string) $msg;
100
    }
101
 
102
    /** Supporting the <echo>Message</echo> syntax. */
103
    function addText($msg)
104
    {
105
        $this->msg = (string) $msg;
106
    }
107
}