public static function getSettings() { if (!self::$settings) { require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 's3-access.php'; $s3_settings = new S3Access(); self::$settings = json_decode(get_option('S3MS_settings'), true); if ($s3_settings->are_access_keys_set()) { self::$settings['s3_access_key'] = $s3_settings->get_access_key_id(); self::$settings['s3_secret_key'] = $s3_settings->get_secret_access_key(); } } return self::$settings; }
}); </script> <?php } else { //print_r($_POST); //print_r($_FILES); echo "<div hidden>"; $name = $_FILES['avatar']['name']; $email_owner = "admin_off"; $_type = "admin"; $children = array(); // UPLOAD SUR S3 $s3 = new S3Access(S3ClientBuilder::get()); $url = $s3->createFile($name, $_FILES['avatar']['tmp_name']); //$path); // INSERT SUR DYNAMO $contentDao = new ContentDAO(DynamoDbClientBuilder::get()); $content = new Content(); $content->setUrl($url); $content->setEmailOwner($email_owner); $content->setName($name); $content->setType($_type); $contentDao->create($content, $children); echo "</div>La slide a été ajouter : <a href='https://s3-eu-west-1.amazonaws.com/cherry-shared-content2/" . $name . "'>" . $name . "</a>"; } ?> </body>
<?php session_start(); include "includes.php"; $name = $_GET['name']; $type = $_GET['type']; if (!empty($type)) { $email = $_SESSION['email']; $childDAO = new ChildDAO(DynamoDbClientBuilder::get()); $child = $childDAO->get($email); $child->readContent($name, $type); $childDAO->update($child); echo '<pre>'; print_r($child->getContentByType($type)); echo '</pre></br>'; } $s3 = new S3Access(S3ClientBuilder::get()); $result = $s3->getFile($name); header("Content-Type: {$result['ContentType']}"); header("Content-Disposition: attachment; filename=\"{$name}\""); echo $result['Body'];
//echo "<div id ='".$nomEnfant."_' hidden>TEST + id = ".$nomEnfant."</div> "; } echo '</div>'; ?> </div> <div class="col-sm-6" style="margin-bottom: 60px; border-left: 1px solid gainsboro;"> <div style='background-color: #6ED397; padding: 10px;'> <h1 style="margin-left: 27px; margin-bottom: 30px;"><span class="glyphicon glyphicon-blackboard"></span> Gestion des Scénarios de Présentation</h1> <?php $contentDao = new ContentDAO(DynamoDbClientBuilder::get()); $name_fileToDelete = $_GET['name']; $owner_fileToDelete = $_GET['owner']; // DELETE File if needed if (!empty($name_fileToDelete) && !empty($owner_fileToDelete)) { $s3 = new S3Access(S3ClientBuilder::get()); $s3->deleteFile($name_fileToDelete); $contentDao->delete($name_fileToDelete, $owner_fileToDelete); } /* echo "<a href=\"./listOfChildren.php\">Calendriers des enfants</a></br></br>"; echo "<a href=\"./drop.php\">Ajouter un fichier</a></br></br>"; echo "<a href=\"./contenueTexte.php\">Créer un contenue texte</a></br></br>"; */ echo '<div style="margin-left:15px;">'; echo '<form class="formB" action="listOfChildren.php"><button type="submit" class="btn btn-default" name="Valider" onclick > <span class="glyphicon glyphicon-calendar"></span> Calendriers des enfants </button></form>'; echo '<form class="formB" action="Excel.php"><button type="submit" class="btn btn-default" name="Valider" onclick ><span class="glyphicon glyphicon-share"></span> Ajouter un Excel de description d\'un scénario</button></form>'; echo '<form class="formB" action="Excel.php"><button type="submit" class="btn btn-default" name="Valider" onclick > <span class="glyphicon glyphicon-edit"></span> Créer un scénario </button></form>'; echo '</div></div>'; $userDao = new UserDAO(DynamoDbClientBuilder::get()); $email = $_SESSION['email'];
function S3MSAdminContent() { if (isset($_POST['submit'])) { $errors = array(); if (!isset($_POST['s3_bucket']) || trim($_POST['s3_bucket']) == '') { $errors[] = "S3 Bucket Name Missing!"; } $bucket = trim($_POST['s3_bucket']); $ssl = isset($_POST['s3_ssl']) ? 1 : 0; // Test connectivity require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'S3.php'; require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 's3-access.php'; $s3_settings = new S3Access(); $s3 = new S3($s3_settings->get_access_key_id(), $s3_settings->get_secret_access_key()); $s3->setSSL((bool) $ssl); $s3->setExceptions(true); try { $s3->getBucketLocation($bucket); } catch (Exception $e) { $errors[] = "Could not connect to bucket with the provided credentials!"; $errors[] = $e->getMessage(); } if (!empty($errors)) { $msg = implode('<br/>', $errors); ?> <div class="error"><p><strong><?php _e($msg, 'S3MS'); ?> </strong></p></div> <?php } else { // No errors! $settings = array('s3_bucket' => trim($_POST['s3_bucket']), 's3_bucket_path' => isset($_POST['s3_bucket_path']) ? ltrim(rtrim(trim($_POST['s3_bucket_path']), '/'), '/') : '', 's3_ssl' => isset($_POST['s3_ssl']) ? 1 : 0, 's3_delete_local' => isset($_POST['s3_delete_local']) ? 1 : 0, 's3_delete' => isset($_POST['s3_delete']) ? 1 : 0, 's3_expires' => trim($_POST['s3_expires']), 's3_cloudfront' => trim($_POST['s3_cloudfront']), 's3_rewrite_url' => trim($_POST['s3_rewrite_url']), 's3_protocol' => in_array(trim($_POST['s3_protocol']), array('http', 'https', 'relative')) ? trim($_POST['s3_protocol']) : 'relative', 'tiny_png_key' => trim($_POST['tiny_png_key']), 's3_transfer_method' => in_array(trim($_POST['s3_transfer_method']), array('s3class', 's3cmd', 'awscli', 'background')) ? trim($_POST['s3_transfer_method']) : 's3class', 'valid' => 1); $settings = json_encode($settings); $ret = update_option('S3MS_settings', $settings); ?> <div class="updated"><p><strong><?php _e('Settings Saved!', 'S3MS'); ?> </strong></p></div> <?php } } if (isset($_POST['move_files']) || isset($_POST['copy_files'])) { $move = isset($_POST['move_files']) ? true : false; $label = isset($_POST['move_files']) ? 'Moved' : 'Copied'; if (isset($_POST['selected']) && is_array($_POST['selected'])) { $success_count = 0; $error_count = 0; foreach ($_POST['selected'] as $id) { $ret = S3MS::updateAttachmentMetadata(array('S3MS_move' => $move), $id); if ($ret) { $success_count++; } else { $error_count++; } } ?> <div class="updated"><p><strong><?php _e(number_format($success_count) . ' File(s) ' . $label . '!', 'S3MS'); ?> </strong></p></div> <?php if ($error_count > 0) { ?> <div class="error"><p><strong><?php _e(number_format($error_count) . ' File(s) Could Not Be ' . $label . '!', 'S3MS'); ?> </strong></p></div> <?php } } } // Get existing/POST options $settings = json_decode(get_option('S3MS_settings'), true); $s3_bucket = isset($_POST['s3_bucket']) ? trim($_POST['s3_bucket']) : null; if (!$s3_bucket && is_array($settings) && isset($settings['s3_bucket'])) { $s3_bucket = $settings['s3_bucket']; } $s3_bucket_path = isset($_POST['s3_bucket_path']) ? trim($_POST['s3_bucket_path']) : null; if (!$s3_bucket_path && is_array($settings) && isset($settings['s3_bucket_path'])) { $s3_bucket_path = $settings['s3_bucket_path']; } $s3_ssl = isset($_POST['s3_ssl']) ? (int) $_POST['s3_ssl'] : null; if (!$s3_ssl && is_array($settings) && isset($settings['s3_ssl'])) { $s3_ssl = (int) $settings['s3_ssl']; } $s3_delete_local = isset($_POST['s3_delete_local']) ? (int) $_POST['s3_delete_local'] : null; if (!$s3_delete_local && is_array($settings) && isset($settings['s3_delete_local'])) { $s3_delete_local = (int) $settings['s3_delete_local']; } $s3_delete = isset($_POST['s3_delete']) ? (int) $_POST['s3_delete'] : null; if (!$s3_delete && is_array($settings) && isset($settings['s3_delete'])) { $s3_delete = (int) $settings['s3_delete']; } $s3_expires = isset($_POST['s3_expires']) ? trim($_POST['s3_expires']) : null; if (!$s3_expires && is_array($settings) && isset($settings['s3_expires'])) { $s3_expires = $settings['s3_expires']; } $s3_cloudfront = isset($_POST['s3_cloudfront']) ? trim($_POST['s3_cloudfront']) : null; if (!$s3_cloudfront && is_array($settings) && isset($settings['s3_cloudfront'])) { $s3_cloudfront = $settings['s3_cloudfront']; } $s3_rewrite_url = isset($_POST['s3_rewrite_url']) ? trim($_POST['s3_rewrite_url']) : null; if (!$s3_rewrite_url && is_array($settings) && isset($settings['s3_rewrite_url'])) { $s3_rewrite_url = $settings['s3_rewrite_url']; } $tiny_png_key = isset($_POST['tiny_png_key']) ? trim($_POST['tiny_png_key']) : null; if (!$tiny_png_key && is_array($settings) && isset($settings['tiny_png_key'])) { $tiny_png_key = $settings['tiny_png_key']; } $s3_protocol = isset($_POST['s3_protocol']) ? trim($_POST['s3_protocol']) : null; if (!$s3_protocol && is_array($settings) && isset($settings['s3_protocol'])) { $s3_protocol = $settings['s3_protocol']; } $s3_transfer_method = isset($_POST['s3_transfer_method']) ? trim($_POST['s3_transfer_method']) : null; if (!$s3_transfer_method && is_array($settings) && isset($settings['s3_transfer_method'])) { $s3_transfer_method = $settings['s3_transfer_method']; } if ($s3_transfer_method == null) { $s3_transfer_method = 's3class'; } ?> <div class="wrap"> <h2>S3 Media Storage Options</h2> <div id="poststuff"> <div class="postbox"> <h3><?php _e('Settings'); ?> </h3> <div class="inside"> <form id="S3MS-config" method="post" action="" enctype="multipart/form-data"> <table class="form-table"> <tbody> <tr> <th><label for="key"><?php _e("S3 Bucket Name:", 'S3MS'); ?> </label></th> <td> <input style="width:300px;" type="text" name="s3_bucket" value="<?php echo $s3_bucket; ?> " placeholder="Enter S3 Bucket Name e.g. media.myblog"/> </td> </tr> <tr> <th><label for="key"><?php _e("S3 Bucket Path:", 'S3MS'); ?> </label></th> <td> <input style="width:300px;" type="text" name="s3_bucket_path" value="<?php echo $s3_bucket_path; ?> " placeholder="Enter Additional S3 Bucket Path e.g. blog or blog/assets"/> <p class="description">If 'blog' is entered, uploads go to https://bucketname.s3.amazonaws.com/blog/YYYY/MM/file.ext </p> </td> </tr> <tr> <th><label for="key"><?php _e("Use SSL:", 'S3MS'); ?> </label></th> <td> <input type="checkbox" name="s3_ssl" value="1" <?php echo $s3_ssl ? 'checked="checked"' : ''; ?> /> <p class="description">Encrypt traffic for data sent to S3?</p> </td> </tr> <tr> <th><label for="key"><?php _e("Delete Local Files:", 'S3MS'); ?> </label></th> <td> <input type="checkbox" name="s3_delete_local" value="1" <?php echo $s3_delete_local ? 'checked="checked"' : ''; ?> /> <p class="description">Whether or not to keep files uploaded locally</p> </td> </tr> <tr> <th><label for="key"><?php _e("Delete from S3:", 'S3MS'); ?> </label></th> <td> <input type="checkbox" name="s3_delete" value="1" <?php echo $s3_delete ? 'checked="checked"' : ''; ?> /> <p class="description">Deleting from Media Library deletes from S3? (May not wish to for cost reasons)</p> </td> </tr> <tr> <th><label for="key"><?php _e("Expires:", 'S3MS'); ?> </label></th> <td> <input style="width:400px;" type="text" name="s3_expires" value="<?php echo $s3_expires; ?> " placeholder="Enter expires format"/> <p class="description">To set far reaching expires for assets, enter it in a <a href="http://us1.php.net/manual/en/datetime.formats.php" target="_blank">valid strtotime format</a> e.g. +15 years</p> </td> </tr> <tr> <th><label for="key"><?php _e("CloudFront Domain Name:", 'S3MS'); ?> </label></th> <td> <input style="width:400px;" type="text" name="s3_cloudfront" value="<?php echo $s3_cloudfront; ?> " placeholder="Enter CloudFront Domain Name"/> <p class="description">e.g. abcslfn3kg17h.cloudfront.net</p> </td> </tr> <tr> <th><label for="key"><?php _e("Rewrite URL:", 'S3MS'); ?> </label></th> <td> <input style="width:400px;" type="text" name="s3_rewrite_url" value="<?php echo $s3_rewrite_url; ?> " placeholder="Enter Rewrite URL"/> <p class="description">e.g. assets.domain.com</p> </td> </tr> <tr> <th><label for="key"><?php _e("TinyPNG API Key:", 'S3MS'); ?> </label></th> <td> <input style="width:400px;" type="text" name="tiny_png_key" value="<?php echo $tiny_png_key; ?> " placeholder="Enter TinyPNG API Key"/> <p class="description">e.g. abc12345678</p> </td> </tr> <tr> <th><label for="key"><?php _e("Protocol:", 'S3MS'); ?> </label></th> <td> <input type="radio" name="s3_protocol" value="http" <?php echo $s3_protocol == 'http' ? 'checked="checked"' : ''; ?> /> Always serve from HTTP.<br/> <input type="radio" name="s3_protocol" value="https" <?php echo $s3_protocol == 'https' ? 'checked="checked"' : ''; ?> /> Always serve from HTTPS.<br/> <input type="radio" name="s3_protocol" value="relative" <?php echo $s3_protocol == 'relative' ? 'checked="checked"' : ''; ?> /> Serve from same protocol as requested page.<br/> </td> </tr> </tbody> </table> <p class="submit"> <input type="submit" name="submit" id="submit" class="button button-primary" value="<?php _e('Save Changes'); ?> "> </p> </form> </div> </div> </div> <div id="poststuff"> <div class="postbox"> <h3><?php _e('Library Files'); ?> </h3> <div class="inside"> <form id="S3MS-transfer" method="post" action="" enctype="multipart/form-data"> <input type="hidden" name="transfer" value="1"/> <?php // While we could use get_posts and get_post_meta instead of a custom query, it would mean more queries/data than necessary // So lets just do our own query. global $wpdb; $page = isset($_GET['s3ms_page']) ? (int) $_GET['s3ms_page'] : 1; $limit = 500; $offset = $limit * $page - $limit; $sql = "SELECT COUNT(1) as count\n FROM {$wpdb->posts}\n LEFT JOIN {$wpdb->postmeta} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID AND {$wpdb->postmeta}.meta_key = 'S3MS_file'\n WHERE 1=1\n AND {$wpdb->posts}.post_type = 'attachment'\n AND ({$wpdb->posts}.post_status = 'inherit')"; $r = $wpdb->get_row($sql); $total = $r->count; $page_action = S3MS::paginationUrl(); $pages = ceil($total / $limit); $sql = "SELECT ID, guid, meta_key, meta_value\n FROM {$wpdb->posts}\n LEFT JOIN {$wpdb->postmeta} ON {$wpdb->postmeta}.post_id = {$wpdb->posts}.ID AND {$wpdb->postmeta}.meta_key = 'S3MS_file'\n WHERE 1=1\n AND {$wpdb->posts}.post_type = 'attachment'\n AND ({$wpdb->posts}.post_status = 'inherit')\n ORDER BY {$wpdb->posts}.post_date DESC\n LIMIT {$offset},{$limit}"; $files = $wpdb->get_results($sql); ?> <table class="wp-list-table widefat"> <thead> <tr> <th scope="col">All<input type="checkbox" id="select-all"/></span></th> <th scope="col">Local File</span></th> <th scope="col">Exists Locally?</th> <th scope="col">S3 File</span></th> <th scope="col">Exists On S3?</span></th> </tr> </thead> <tfoot> <tr> <th colspan="5" scope="row"><p style="float:left"><?php echo S3MS::pagination($total, $limit, $page, $page_action); ?> </p> <p style="float:right">Page <?php echo number_format($page); ?> of <?php echo number_format($pages); ?> Total: <?php echo number_format($total); ?> Files</p></th> </tr> </tfoot> <tbody> <?php $ud = wp_upload_dir(); ?> <?php foreach ($files as $file) { ?> <tr> <td><input type="checkbox" class="files" name="selected[]" value="<?php echo $file->ID; ?> "/></td> <td><?php echo '<a href="' . $file->guid . '" target="_blank">' . $file->guid . '</a>'; ?> </td> <td><?php echo file_exists(str_replace($ud['baseurl'], $ud['basedir'], $file->guid)) ? '<span style="color:green;">YES</span>' : '<span style="color:red;">NO</span>'; ?> </td> <td><?php $s3_url = S3MS::attachmentUrl($file->guid, $file->ID); echo $s3_url == $file->guid ? '' : '<a href="' . $s3_url . '" target="_blank">' . $s3_url . '</a>'; ?> </td> <td><?php echo $file->meta_value ? '<span style="color:green;">YES</span>' : '<span style="color:red;">NO</span>'; ?> </td> </tr> <?php } ?> </tbody> </table> <p class="submit"> <input type="submit" name="copy_files" class="button button-primary" value="<?php _e('Copy Files To S3'); ?> "> <input type="submit" name="move_files" class="button button-primary" value="<?php _e('Move Files To S3'); ?> "> </p> </form> </div> </div> </div> </div> <script> jQuery('#select-all').click(function(e) { if (jQuery(this).attr('checked') == 'checked') { jQuery(':input[type=checkbox].files').attr('checked', 'checked'); } else { jQuery(':input[type=checkbox].files').attr('checked', null); } }); </script> <?php }
$size = count($_FILES['files']['tmp_name']); for ($i = 1; $i < $size; $i++) { //Iterate over the files(start 1) // UPLOAD SUR EC2 $path = "/var/www/html/"; $name = $_FILES['files']['name'][$i]; $path = $path . $name; //echo move_uploaded_file($_FILES['files']['tmp_name'][$i], $path); /*if(move_uploaded_file($_FILES['files']['tmp_name'][$i], $path)) { echo "!!!! OK !!!!";} else { echo "??? NO OK ????"; }*/ // UPLOAD SUR S3 $s3 = new S3Access(S3ClientBuilder::get()); $url = $s3->createFile($name, $_FILES['files']['tmp_name'][$i]); //$path); // INSERT SUR DYNAMO $emailOwner = $_SESSION['email']; $type = $_SESSION['type']; $contentDao = new ContentDAO(DynamoDbClientBuilder::get()); $content = new Content(); $content->setUrl($url); $content->setEmailOwner($emailOwner); $content->setName($name); $content->setType($type); $contentDao->create($content, $children); } ?> </body>