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>"; }
$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"; }
/** * 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; }