Пример #1
0
function do_cmis($folder, $tree, $keywords, $name)
{
    // Initialize CMIS Client
    $repo_url = get_option('cmis_repository_url');
    $repo_username = get_option('cmis_username');
    $repo_password = get_option('cmis_password');
    $client = new CMISService($repo_url, $repo_username, $repo_password);
    $query_conditions = array();
    $error_message = 'Error. Unable to show documents.';
    try {
        if ($folder) {
            $f = $client->getObjectByPath($folder);
            array_push($query_conditions, "IN_FOLDER('{$f->id}')");
        } elseif ($tree) {
            $f = $client->getObjectByPath($tree);
            array_push($query_conditions, "IN_TREE(d,'{$f->id}')");
        }
        if ($keywords) {
            array_push($query_conditions, "CONTAINS('{$keywords}')");
        }
        if ($name) {
            array_push($query_conditions, "d.cmis:name LIKE '{$name}'");
        }
        // Perform query
        if (sizeof($query_conditions)) {
            $query = "SELECT d.*, o.* FROM cmis:document AS d JOIN cm:titled AS o ON d.cmis:objectId = o.cmis:objectId WHERE " . join(" AND ", $query_conditions) . "ORDER BY d.cmis:name";
            //$query = "SELECT * FROM cmis:document WHERE " . join(" AND ", $query_conditions);
            $objs = $client->query($query);
            return display_cmis_objects($objs);
        }
    } catch (CmisObjectNotFoundException $e) {
        $error_message = "No documents found.";
    } catch (CmisRuntimeException $e) {
        $error_message = "Error. Unexpected problem when retrieving documents.";
    }
    return "<div class=\"alert\">{$error_message}</div>";
}
Пример #2
0
$repo_username = $_SERVER["argv"][2];
$repo_password = $_SERVER["argv"][3];
$repo_folder = $_SERVER["argv"][4];
$repo_new_folder = $_SERVER["argv"][5];
$repo_debug = $_SERVER["argv"][6];

$client = new CMISService($repo_url, $repo_username, $repo_password);

if ($repo_debug)
{
    print "Repository Information:\n===========================================\n";
    print_r($client->workspace);
    print "\n===========================================\n\n";
}

$myfolder = $client->getObjectByPath($repo_folder);
if ($repo_debug)
{
    print "Folder Object:\n===========================================\n";
    print_r($myfolder);
    print "\n===========================================\n\n";
}

$obs = $client->createFolder($myfolder->id, $repo_new_folder);
if ($repo_debug)
{
    print "Return From Create Folder\n:\n===========================================\n";
    print_r($objs);
    print "\n===========================================\n\n";
}
Пример #3
0
 /**
  * Front-end display of widget.
  *
  * @see WP_Widget::widget()
  *
  * @param array $args     Widget arguments.
  * @param array $instance Saved values from database.
  */
 public function widget($args, $instance)
 {
     extract($args);
     $title = apply_filters('widget_title', $instance['title']);
     echo $before_widget;
     if (!empty($title)) {
         echo $before_title . $title . $after_title;
     }
     //echo __( 'Hello, World!', 'text_domain' );
     $showfolder = urlencode($instance['folderpath']);
     if (!empty($showfolder)) {
         $ret = "";
         try {
             $client = new CMISService(get_option('cmis_repo_url'), get_option('cmis_user'), get_option('cmis_pass'));
             $folder = $client->getObjectByPath($showfolder);
             if ($folder) {
                 if (empty($title)) {
                     $title = $folder->properties["cmis:name"];
                     echo $before_title . $title . $after_title;
                 }
                 $objs = $client->getChildren($folder->id);
                 $ret .= build_list($objs, $folder, FALSE);
             } else {
                 $ret = "Folder not found: " . $showfolder;
             }
         } catch (Exception $e) {
             $ret = "Error retrieving documents: {$e}";
         }
         echo $ret;
     }
     echo $after_widget;
 }