/// <summary> /// image.Content> description of the image /// image.Exerpt> caption of the image /// image.Status> always inherit /// image.MimeType>default image/jpeg /// image.Name> image.url.filename /// image.Title=image.Name /// </summary> /// <param name="image"></param> /// <param name="ftpDir"></param> /// <returns></returns> public int Insert(ImagePost image, string ftpDir) { var sql = InsertSql(image, ftpDir); var postInsertDataSet = _dal.GetData(sql); if (postInsertDataSet.Tables.Count == 0) { return -1; } if (postInsertDataSet.Tables[0].Rows.Count == 0) { return -1; } if (postInsertDataSet.Tables[0].Rows[0].ItemArray.Length == 0) { return -1; } var id = postInsertDataSet.Tables[0].Rows[0][0].ToString(); return int.Parse(id); }
public void InsertAttachmentMetaData(int postId, ImagePost image, string ftpDir) { var postName = Path.GetFileNameWithoutExtension(image.Url);// + Path.GetExtension(image.Url); var extension = Path.GetExtension(image.Url); var attachFile = ftpDir + "/" + postName + extension; var thumbnailName = string.Format("{0}-{1}x{2}{3}", postName, image.ThumbnailWidth, image.ThumbnailHeight, extension); var orientation = image.Width >= image.Height ? 0 : 1; var attachmentMetaData = string.Format("a:5:{{" + "s:5:\"width\";i:{0};" + "s:6:\"height\";i:{1};" + "s:4:\"file\";s:{8}:\"{2}\";" + "s:5:\"sizes\";a:3:{{" + "s:9:\"thumbnail\";a:4:{{" + "s:4:\"file\";s:{10}:\"{9}\";" + "s:5:\"width\";i:{3};" + "s:6:\"height\";i:{4};" + "s:9:\"mime-type\";s:{11}:\"{6}\";" + "}}" + "s:6:\"medium\";a:4:{{" + "s:4:\"file\";s:{10}:\"{7}-164x300{5}\";" + "s:5:\"width\";i:164;" + "s:6:\"height\";i:300;" + "s:9:\"mime-type\";s:{11}:\"{6}\";}}" + "s:13:\"excerpt-thumb\";a:4:{{" + "s:4:\"file\";s:{10}:\"{7}-191x350{5}\";" + "s:5:\"width\";i:191;" + "s:6:\"height\";i:350;" + "s:9:\"mime-type\";s:{11}:\"{6}\";" + "}}" + "}}" + "s:10:\"image_meta\";a:11:{{" + "s:8:\"aperture\";i:0;" + "s:6:\"credit\";s:0:\"\";" + "s:6:\"camera\";s:0:\"\";" + "s:7:\"caption\";s:0:\"\";" + "s:17:\"created_timestamp\";i:0;" + "s:9:\"copyright\";s:0:\"\";" + "s:12:\"focal_length\";s:2:\"50\";" + "s:3:\"iso\";s:3:\"800\";" + "s:13:\"shutter_speed\";i:0;" + "s:5:\"title\";s:0:\"\";" + "s:11:\"orientation\";i:{12};" + "}}" + "}}", image.Width, image.Height, attachFile, image.ThumbnailWidth, image.ThumbnailHeight, extension, image.MimeType, postName, attachFile.Length, thumbnailName, thumbnailName.Length, image.MimeType.Length, orientation); var sql= string.Format( "INSERT INTO wp_postmeta( post_id, meta_key, meta_value) VALUES ({0},'_wp_attachment_metadata','{1}');", postId, attachmentMetaData.EscapeSql()); _dal.ExecuteNonQuery(sql); }
public string InsertSql(ImagePost image, string ftpDir) { var customFields = new List<CustomField>(); var customFieldSql = new StringBuilder(); if (image.CustomFields != null) { customFields = image.CustomFields.ToList(); } var postName = Path.GetFileNameWithoutExtension(image.Url);// + Path.GetExtension(image.Url); var extension = Path.GetExtension(image.Url); var attachFile = ftpDir + "/" + postName + extension; if (!string.IsNullOrEmpty(image.Alt)) { customFields.Add(new CustomField() { Key = "_wp_attachment_image_alt", Value = image.Alt }); } customFields.Add(new CustomField() { Key = "_wp_attached_file", Value = attachFile }); foreach (var customField in customFields) { customFieldSql.Append( string.Format( "INSERT INTO wp_postmeta( post_id, meta_key, meta_value) VALUES (@l,'{0}','{1}');", customField.Key.EscapeSql(), customField.Value.EscapeSql())); } return string.Format( "INSERT INTO wp_posts(post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, " + "ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, " + "menu_order, post_type, post_mime_type, comment_count) VALUES " + "('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}');" + "SET @l=LAST_INSERT_ID();" + "{22}SELECT @l;", image.Author, image.PublishDateTime.ToString("yyyy-MM-dd HH':'mm':'ss"), image.PublishDateTime.ToString("yyyy-MM-dd HH':'mm':'ss"), image.Content.EscapeSql(), postName.EscapeSql(), image.Exerpt, "inherit", "open", "closed", "", image.Title.EscapeSql(), "", "", DateTime.Now.ToString("yyyy-MM-dd HH':'mm':'ss"), DateTime.Now.ToString("yyyy-MM-dd HH':'mm':'ss"), "", 0, image.Url.EscapeSql(), 0, "attachment", image.MimeType, 0, customFieldSql.ToString()); }