168 lines
6.0 KiB
HTML
168 lines
6.0 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Module HowTo - Advanced upload options</title>
|
||
|
<link rel="stylesheet" type="text/css" href="style/layout.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<p align="center">
|
||
|
<script type="text/javascript"><!--
|
||
|
google_ad_client = "pub-4179059556107138";
|
||
|
google_alternate_ad_url = "http://lam.sourceforge.net/google_adsense_script.html";
|
||
|
google_ad_width = 728;
|
||
|
google_ad_height = 90;
|
||
|
google_ad_format = "728x90_as";
|
||
|
google_ad_type = "text_image";
|
||
|
google_ad_channel ="";
|
||
|
google_page_url = document.location;
|
||
|
google_color_border = "EEEEEE";
|
||
|
google_color_bg = "FFFFFF";
|
||
|
google_color_link = "0000FF";
|
||
|
google_color_url = "008000";
|
||
|
google_color_text = "000000";
|
||
|
//--></script>
|
||
|
<script type="text/javascript"
|
||
|
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||
|
</script>
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<div style="text-align: center;">
|
||
|
<h1>Module HowTo - Advanced upload options<br>
|
||
|
</h1>
|
||
|
<div style="text-align: left;"><br>
|
||
|
The <span style="font-style: italic;">ieee802Device</span> module only
|
||
|
needs the basic upload functions for its functionality.<br>
|
||
|
However there are more possibilities for the modules to control the
|
||
|
file upload.<br>
|
||
|
</div>
|
||
|
<div style="text-align: left;"><br>
|
||
|
<h2>1. Module order<br>
|
||
|
</h2>
|
||
|
Your module might depend on the input values of another module. In this
|
||
|
case you probably want that your module is called as the second one.<br>
|
||
|
<br>
|
||
|
You can define dependencies to other modules with the function <span
|
||
|
style="font-weight: bold;">get_uploadPreDepends()</span> or <span
|
||
|
style="font-weight: bold;">meta['upload_preDepends']</span>.<br>
|
||
|
<br>
|
||
|
<span style="font-weight: bold; text-decoration: underline;">Example:</span><br
|
||
|
style="font-weight: bold; text-decoration: underline;">
|
||
|
<br>
|
||
|
The <span style="font-style: italic;">sambaGroupMapping</span> module
|
||
|
needs the group name to set the default <span
|
||
|
style="font-style: italic;">displayName</span>. Therefore it depends
|
||
|
on the <span style="font-style: italic;">posixGroup</span> module<br>
|
||
|
<br>
|
||
|
<table style="width: 100%; text-align: left;" class="mod-code"
|
||
|
border="0" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td style="vertical-align: top;"> /**<br>
|
||
|
* Returns meta data that is interpreted by parent
|
||
|
class<br>
|
||
|
*<br>
|
||
|
* @return array array with meta data<br>
|
||
|
*/<br>
|
||
|
<span style="font-weight: bold;"> function</span>
|
||
|
get_metaData() {<br>
|
||
|
$return = array();<br>
|
||
|
// upload dependencies<br>
|
||
|
$return[<span
|
||
|
style="color: rgb(255, 0, 0);">'upload_preDepends'</span>] =
|
||
|
array('posixGroup');<br>
|
||
|
[...]<br>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
<br>
|
||
|
<br>
|
||
|
<h2>2. Upload post actions<br>
|
||
|
</h2>
|
||
|
If your module does not only create an account but relates the account
|
||
|
with other existing LDAP entries you can do these modifications after
|
||
|
the account was created.<br>
|
||
|
This is useful for adding users to groups or setting quotas.<br>
|
||
|
<br>
|
||
|
You have to implement the function <span style="font-weight: bold;">doUploadPostActions()</span>
|
||
|
in your module. Since post actions are very special there is no <span
|
||
|
style="font-style: italic;">meta data</span> for this.<br>
|
||
|
<br>
|
||
|
<span style="font-weight: bold; text-decoration: underline;">Example:</span><br
|
||
|
style="font-weight: bold; text-decoration: underline;">
|
||
|
<br>
|
||
|
The <span style="font-style: italic;">posixAccount</span> module
|
||
|
offers to put the user account in additional groups. This is done in
|
||
|
the post actions.<br>
|
||
|
<br>
|
||
|
<table style="width: 100%; text-align: left;" class="mod-code"
|
||
|
border="0" cellpadding="2" cellspacing="2">
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<td style="vertical-align: top;"> /**<br>
|
||
|
* This function executes one post upload action.<br>
|
||
|
*<br>
|
||
|
* @param array $data array containing one account in
|
||
|
each element<br>
|
||
|
* @param array $ids array(<column_name> =>
|
||
|
<column number>)<br>
|
||
|
* @param array $failed list of accounts which were
|
||
|
not created successfully<br>
|
||
|
* @param array $temp variable to store temporary
|
||
|
data between two post actions<br>
|
||
|
* @return array current status<br>
|
||
|
* <br> array (<br>
|
||
|
* <br> 'status' => 'finished' |
|
||
|
'inProgress'<br>
|
||
|
* <br> 'progress' => 0..100<br>
|
||
|
* <br> 'errors' => array (<array
|
||
|
of parameters for StatusMessage>)<br>
|
||
|
* <br> )<br>
|
||
|
*/<br>
|
||
|
<span style="font-weight: bold;">function</span> <span
|
||
|
style="color: rgb(255, 0, 0);">doUploadPostActions</span>($data, $ids,
|
||
|
$failed, &$temp) {<br>
|
||
|
[...]<br>
|
||
|
}<br>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
<br>
|
||
|
Please make sure that the actions in one call of <span
|
||
|
style="font-weight: bold;">doUploadPostActions()</span> are not very
|
||
|
time consuming (only one LDAP operation). Your function will be called
|
||
|
repeatedly until you give back the status "finished".<br>
|
||
|
This allows LAM to avoid running longer than the maximum execution time
|
||
|
by sending meta refreshes to the browser.<br>
|
||
|
<span style="font-weight: bold;"></span>
|
||
|
<h2><span style="font-weight: bold;"></span></h2>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<p align="center">
|
||
|
<script type="text/javascript"><!--
|
||
|
google_ad_client = "pub-4179059556107138";
|
||
|
google_alternate_ad_url = "http://lam.sourceforge.net/google_adsense_script.html";
|
||
|
google_ad_width = 728;
|
||
|
google_ad_height = 90;
|
||
|
google_ad_format = "728x90_as";
|
||
|
google_ad_type = "text_image";
|
||
|
google_ad_channel ="";
|
||
|
google_page_url = document.location;
|
||
|
google_color_border = "EEEEEE";
|
||
|
google_color_bg = "FFFFFF";
|
||
|
google_color_link = "0000FF";
|
||
|
google_color_url = "008000";
|
||
|
google_color_text = "000000";
|
||
|
//--></script>
|
||
|
<script type="text/javascript"
|
||
|
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
||
|
</script>
|
||
|
</p>
|
||
|
|
||
|
</body>
|
||
|
</html>
|