--- /dev/null
+#!/usr/local/bin/fontforge
+Open($1)
+Print("Open font ",$1)
+if($argc>3)
+ Print("Change name to ",$3)
+ SetFontNames($3,$3,$3,'Regular','','1.0')
+ SetTTFName(0x409,0,"-")
+ SetTTFName(0x409,1,$3)
+ SetTTFName(0x409,3,$3)
+ SetTTFName(0x409,4,$3)
+ SetTTFName(0x409,5,"1.0")
+ SetTTFName(0x409,6,$3)
+ SetTTFName(0x409,7,"-")
+ SetTTFName(0x409,8,"-")
+ SetTTFName(0x409,9,"-")
+ SetTTFName(0x409,10,"-")
+ SetTTFName(0x409,11,"-")
+ SetTTFName(0x409,12,"-")
+ SetTTFName(0x409,13,"-")
+ SetTTFName(0x409,14,"-")
+ SetTTFName(0x409,16,$3)
+ SetTTFName(0x409,17,$3)
+ SetTTFName(0x409,18,$3)
+ SetTTFName(0x409,19,"-")
+endif
+Generate($2)
\ No newline at end of file
return $res;
}
- public static function makeFavicon() {
+ public static function webfonts($args) {
+ global $core;
+ $res = commonPage::barre();
+ $res .= commonPage::tMain();
+ $res .= commonPage::bh();
+ $res.='<form action="' . SITE_PATH . 'tools/makeWebfont" method="post" class="notajax" enctype="multipart/form-data">';
+ $res.='<table class="liste">';
+ $res.='<tr><th><strong>' . __('Générer un kit webfont') . '</strong></th></tr>';
+ $res.='<tr><td>' . __('Veuillez charger une police de caractères') . '</td></tr>';
+ $res.='<tr class="odd"><td><input type="file" name="file" /></td></tr>';
+ $res.='<tr><td class="right"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Générer le kit webfont')) . '</a></td></td>';
+ $res.='</table>';
+ $res.='</form>';
+ $res .= '</div>';
+ $res .= commonPage::bf();
+ $res .= commonPage::bMain();
+ return $res;
+ }
+ public static function makeWebfont() {
$tmp = cubeFiles::tempdir();
- mkdir($tmp, 0777, true);
+ if (!file_exists($tmp)) {
+ mkdir($tmp, 0777, true);
+ }
+
+ $ex = explode('.', strtolower($_FILES['file']['name']));
+ $upext = array_pop($ex);
+ $fontName = implode('.', $ex);
+
+ $fontFile = $tmp . '/' . strtolower($_FILES['file']['name']);
+ move_uploaded_file($_FILES['file']['tmp_name'], $fontFile);
+
+ $ext = array('ttf', 'woff', 'eot');
+
+ foreach ($ext as $e) {
+ $out = $tmp . '/' . $fontName . '.' . $e;
+ if ($e != 'eot') {
+ $fontforge = new cubeCommandLine('convertrn.pe');
+ $fontforge->setPath(CONVERTER_PATH);
+ $fontforge->setArg(null, $fontFile);
+ $fontforge->setArg(null, $out);
+ $fontforge->setArg(null, $fontName);
+ $fontforge->execute();
+ fb($fontforge->commande);
+ fb($fontforge->output);
+ } else {
+ $ttf = $tmp . '/' . $fontName . '.ttf';
+ `/usr/local/bin/ttf2eot < $ttf > $out`;
+ }
+ }
+
+ $css = "@font-face {
+ font-family: '$fontName';
+ src: url('$fontName.eot');
+ src: url('$fontName.eot?#iefix') format('embedded-opentype'),
+ url('$fontName.woff') format('woff'),
+ url('$fontName.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+}";
+ file_put_contents($tmp . '/' . $fontName . '.css', $css);
+ $tmpfile = cubeFiles::tempnam() . '.zip';
+
+ $zip = new cubeCommandLine('zip');
+ $zip->cd($tmp);
+ $zip->setArg(null, $tmpfile);
+ $zip->setArg('0');
+ $zip->setArg('u');
+ $zip->setArg('r');
+ $zip->setArg('X');
+ $zip->setArg(null, '.');
+ $zip->execute();
+
+ cubeHTTP::downloadFile($tmpfile, $fontName . '.zip');
+ }
+
+ public static function makeFavicon() {
+ $tmp = cubeFiles::tempdir();
+ mkdir($tmp, 0777, true);
$upload = $_FILES['file']['tmp_name'];
global $core;\r
$book_id = $args[0];\r
$document_id = $args[1];\r
- $dao=new wsDAOBook($core->con);\r
+ $dao = new wsDAOBook($core->con);\r
$dao->appendDocument($book_id, $document_id);\r
}\r
\r
}\r
}\r
\r
+ public static function syncLDAP() {\r
+ global $core;\r
+ cubePHP::neverStop();\r
+\r
+ $res = '<pre>';\r
+\r
+ $ds = ldap_connect('localhost', 10389);\r
+ ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);\r
+ ldap_bind($ds, 'uid=admin,ou=system', '*arica*6');\r
+\r
+ $r = $core->con->select('SELECT * FROM utilisateurs_entreprise ORDER BY utilisateur_id');\r
+ while ($r->fetch()) {\r
+ if (is_null($r->utilisateur_id)) {\r
+ continue;\r
+ }\r
+ $entree = array();\r
+ $entree['objectClass'][] = 'top';\r
+ $entree['objectClass'][] = 'person';\r
+ $entree['objectClass'][] = 'organizationalPerson';\r
+ $entree['objectClass'][] = 'extensibleObject';\r
+ $entree['cn'] = trim($r->prenom . ' ' . $r->nom . ' - ' . $r->rs . ' (' . $r->utilisateur_id . ')', ' -');\r
+ $entree['sn'] = $r->nom == '' ? $entree['cn'] : $r->nom;\r
+ $entree['mail'] = $r->email;\r
+ $entree['uid'] = 'extranet_' . $r->utilisateur_id;\r
+ $entree['OrganizationalUnitName'] = $r->rs;\r
+ if ($r->telephone && $r->telephone != '+33') {\r
+ $entree['telephoneNumber'][] = $r->telephone;\r
+ }\r
+ if ($r->mobile && $r->mobile != '+33') {\r
+ $entree['telephoneNumber'][] = $r->mobile;\r
+ }\r
+ if ($r->fax && $r->fax != '+33') {\r
+ $entree['telexNumber'] = $r->fax;\r
+ }\r
+ $dn = 'uid=' . $entree['uid'] . ',o=cubedesigners';\r
+ if (!ldap_add($ds, $dn, $entree)) {\r
+ $e = ldap_error($ds);\r
+ if ($e == 'Already exists') {\r
+ ldap_modify($ds, $dn, $entree);\r
+ } else {\r
+ fb($entree, $e);\r
+ }\r
+ }\r
+ }\r
+ $res = 'test';\r
+ $res.='</pre>';\r
+\r
+ ldap_close($ds);\r
+ return $res;\r
+ }\r
+\r
}\r
\r
?>
\ No newline at end of file