Skip to content

Commit b42f324

Browse files
committed
Added the ability to use an index at ResponseCollection;
Fixed the unit test for length exception; Added an initial version for the next versions' change log.
1 parent 8ec6f27 commit b42f324

File tree

5 files changed

+326
-297
lines changed

5 files changed

+326
-297
lines changed

RELEASE-1.0.0b5

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Console and some overall improvements.
2+
3+
* The PHAR file is now also a console. When installed, the console is available from the executable "roscon".
4+
* New Util methods:
5+
- getall()
6+
- count()
7+
- prepareScript()
8+
* Util::get() now uses RouterOS' "get" command, unless it returns an empty !done response (as it does for RouterOS versions prior to 6.0), in which case it automatically fallbacks to a print with a query.
9+
* Util::escapeValue() and Util::parseValue() now support associative arrays (introduced in RouterOS 6.2).
10+
* Util::add() and Util::set()/Util::edit() now support flags as values with a numeric key.
11+
* ResponseCollection can now be searched by argument values, if you first designate an argument name with the new ResponseCollection::setIndex() method.
12+
* Doc fixes (Notably: Clarified the acceptability of seekable streams as argument values, which has been present for a long time, but never documented).
13+
* CS fixes.

package.xml

Lines changed: 82 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -11,49 +11,46 @@
1111
<email>[email protected]</email>
1212
<active>yes</active>
1313
</lead>
14-
<date>2013-10-20</date>
15-
<time>05:01:52</time>
14+
<date>2013-10-24</date>
15+
<time>18:18:13</time>
1616
<version>
17-
<release>1.0.0b4</release>
17+
<release>1.0.0b5</release>
1818
<api>1.0.0</api>
1919
</version>
2020
<stability>
2121
<release>beta</release>
2222
<api>stable</api>
2323
</stability>
2424
<license uri="http://www.gnu.org/copyleft/lesser.html">LGPL License 2.1</license>
25-
<notes>Brand new way of manipulating data, encryption, and listen...
25+
<notes>Console and some overall improvements.
2626

27-
* A new Util class that abstracts away tons of fancy features, including:
28-
- CRUD operations
29-
- Support of targeting and finding entries by numbers, just like from terminal
30-
- Executing scripts (with the ability to pass typed parameters ala SQL prepared statements)
31-
- Putting and getting files out of RouterOS
32-
- Helper methods for converting back and forth between PHP and RouterOS values.
33-
* Support for encrypted connections, both with and without a certificate. Note that due to known issues with PHP itself, encrypted connections may be unstable (as in &quot;sometimes disconnect suddenly&quot; or &quot;sometimes hang when you use Client::sendSync() and/or Client::completeRequest() and/or Client::loop() without a timeout&quot;).
34-
* Client::loop() and Client::completeRequest() no longer fail if there's no reply within &quot;default_socket_timeout&quot; seconds. This means you can now use the &quot;listen&quot; command without also setting up something else to keep the connection busy.
35-
* Client::loop() now accepts timeouts modeled after stream_select()'s, as opposed to a single float value. As before, the default is &quot;no time limit&quot;, but is now specified with NULL instead of 0. Analogous arguments have been added to Response's constructor.
36-
* When receiving, the release lock is released when ANY exception is thrown. Previously, this would be so only in case of SocketException.
37-
* Chnaged the PHAR stub to not fail when reading the hash fails.
38-
* Exceptions now use constants to hold each code.
39-
* Doc and CS fixes, and unit test reorganization.</notes>
27+
* The PHAR file is now also a console. When installed, the console is available from the executable &quot;roscon&quot;.
28+
* New Util methods:
29+
- getall()
30+
- count()
31+
- prepareScript()
32+
* Util::get() now uses RouterOS' &quot;get&quot; command, unless it returns an empty !done response (as it does for RouterOS versions prior to 6.0), in which case it automatically fallbacks to a print with a query.
33+
* Util::escapeValue() and Util::parseValue() now support associative arrays (introduced in RouterOS 6.2).
34+
* ResponseCollection can now be searched by argument values, if you first designate an argument name with the new ResponseCollection::setIndex() method.
35+
* Doc fixes (Notably: Clarified the acceptability of seekable streams as argument values, which has been present for a long time, but never documented).
36+
* CS fixes.</notes>
4037
<contents>
4138
<dir name="/">
4239
<dir name="data" baseinstalldir="/">
4340
<file role="data" name="roscon.xml">
44-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
41+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
4542
</file>
4643
</dir>
4744
<dir name="docs" baseinstalldir="/">
4845
<file role="doc" name="apigen.neon">
49-
<tasks:replace from="../src" to="php_dir" type="pear-config"/>
46+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
5047
</file>
5148
<file role="doc" name="doxygen.ini">
52-
<tasks:replace from="../src" to="php_dir" type="pear-config"/>
53-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
49+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
50+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
5451
</file>
5552
<file role="doc" name="phpdoc.dist.xml">
56-
<tasks:replace from="../src" to="php_dir" type="pear-config"/>
53+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
5754
</file>
5855
</dir>
5956
<dir name="examples">
@@ -65,99 +62,102 @@
6562
<file role="doc" name="sync-request-simple.php"/>
6663
</dir>
6764
<dir name="scripts" baseinstalldir="/">
68-
<file role="script" name="roscon.bat"/>
65+
<file role="script" name="roscon.bat">
66+
<tasks:windowseol/>
67+
</file>
6968
<file role="script" name="roscon.php">
70-
<tasks:replace from="../src" to="php_dir" type="pear-config"/>
71-
<tasks:replace from="../../PEAR2_Net_Transmitter.git/src/" to="php_dir" type="pear-config"/>
72-
<tasks:replace from="../../PEAR2_Console_Color.git/src/" to="php_dir" type="pear-config"/>
73-
<tasks:replace from="@PEAR2_DATA_DIR@" to="data_dir" type="pear-config"/>
74-
<tasks:replace from="@PACKAGE_CHANNEL@" to="channel" type="package-info"/>
75-
<tasks:replace from="@PACKAGE_NAME@" to="name" type="package-info"/>
69+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
70+
<tasks:replace type="pear-config" to="data_dir" from="@PEAR2_DATA_DIR@"/>
71+
<tasks:replace type="package-info" to="channel" from="@PACKAGE_CHANNEL@"/>
72+
<tasks:replace type="package-info" to="name" from="@PACKAGE_NAME@"/>
73+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
74+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
75+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
7676
</file>
7777
</dir>
7878
<dir name="src" baseinstalldir="/">
7979
<dir name="PEAR2">
8080
<dir name="Net">
8181
<dir name="RouterOS">
8282
<file role="php" name="Client.php">
83-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
84-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
85-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
83+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
84+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
85+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
8686
</file>
8787
<file role="php" name="Communicator.php">
88-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
89-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
90-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
88+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
89+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
90+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
9191
</file>
9292
<file role="php" name="DataFlowException.php">
93-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
94-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
95-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
93+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
94+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
95+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
9696
</file>
9797
<file role="php" name="Exception.php">
98-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
99-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
100-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
98+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
99+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
100+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
101101
</file>
102102
<file role="php" name="InvalidArgumentException.php">
103-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
104-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
105-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
103+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
104+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
105+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
106106
</file>
107107
<file role="php" name="LengthException.php">
108-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
109-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
110-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
108+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
109+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
110+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
111111
</file>
112112
<file role="php" name="Message.php">
113-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
114-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
115-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
113+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
114+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
115+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
116116
</file>
117117
<file role="php" name="NotSupportedException.php">
118-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
119-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
120-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
118+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
119+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
120+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
121121
</file>
122122
<file role="php" name="Query.php">
123-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
124-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
125-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
123+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
124+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
125+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
126126
</file>
127127
<file role="php" name="Registry.php">
128-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
129-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
130-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
128+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
129+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
130+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
131131
</file>
132132
<file role="php" name="Request.php">
133-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
134-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
135-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
133+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
134+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
135+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
136136
</file>
137137
<file role="php" name="Response.php">
138-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
139-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
140-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
138+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
139+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
140+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
141141
</file>
142142
<file role="php" name="ResponseCollection.php">
143-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
144-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
145-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
143+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
144+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
145+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
146146
</file>
147147
<file role="php" name="SocketException.php">
148-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
149-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
150-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
148+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
149+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
150+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
151151
</file>
152152
<file role="php" name="UnexpectedValueException.php">
153-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
154-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
155-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
153+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
154+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
155+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
156156
</file>
157157
<file role="php" name="Util.php">
158-
<tasks:replace from="~~summary~~" to="summary" type="package-info"/>
159-
<tasks:replace from="~~description~~" to="description" type="package-info"/>
160-
<tasks:replace from="GIT: $Id$" to="version" type="package-info"/>
158+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
159+
<tasks:replace type="package-info" to="summary" from="~~summary~~"/>
160+
<tasks:replace type="package-info" to="description" from="~~description~~"/>
161161
</file>
162162
</dir>
163163
</dir>
@@ -221,12 +221,14 @@
221221
<file role="test" name="Unsafe.php"/>
222222
</dir>
223223
<file role="test" name="bootstrap.php">
224-
<tasks:replace from="../src" to="php_dir" type="pear-config"/>
225-
<tasks:replace from="../../PEAR2_Net_Transmitter.git/src/" to="php_dir" type="pear-config"/>
224+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
225+
<tasks:replace type="package-info" to="version" from="GIT: $Id$"/>
226226
</file>
227227
<file role="test" name="ConnectionTest.php"/>
228228
<file role="test" name="HandlingTest.php"/>
229-
<file role="test" name="phpunit.xml"/>
229+
<file role="test" name="phpunit.xml">
230+
<tasks:replace type="pear-config" to="php_dir" from="../src"/>
231+
</file>
230232
</dir>
231233
</dir>
232234
</contents>

0 commit comments

Comments
 (0)